Skip to content

Commit

Permalink
Add a single commit check workflow
Browse files Browse the repository at this point in the history
[noissue]
  • Loading branch information
David Davis committed Sep 9, 2021
1 parent c4cf6dc commit 9e9623f
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/check_commits.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@
name: Check Commit
on: pull_request
jobs:
single_commit:
steps:
- name: Checkout
uses: actions/checkout@v1
with:
fetch-depth: 30
- name: Checkout master
run: git fetch origin master
- name: create local master branch
run: git branch master origin/master
- name: Commit Count Check
run: test `git log --oneline --no-merges HEAD ^master | wc -l ` = 1
runs-on: ubuntu-latest
test:
runs-on: ubuntu-latest
steps:
Expand Down
1 change: 1 addition & 0 deletions CHANGES/tba.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added a workflow to check that PRs contain a single commit.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@ The following settings are stored in `template_config.yml`.
noissue_marker A string that is used to mark a commit as not attached to an issue.
single_commit_check Runs a workflow to indicate whether a PR contains a single commit or not.
sync_ci Enables a nightly workflow to update the CI files.
test_bindings Include a job that runs a script to test generated client
Expand Down
24 changes: 24 additions & 0 deletions templates/github/.ci/scripts/discourse_post.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

# Posts a release announcement to discourse

URL="https://discourse.pulpproject.org/posts.json"
CATEGORY=1 # Announcements
DISCOURSE_USER="system"

plugin="$1"
version="$2"
body = $(cat <<-EOM
$plugin $version has been released.
PyPI: https://pypi.org/project/$plugin/$version/
Changelog: Changelog — Pulp File 1.9.1 documentation
Docs: pulp_file Plugin — Pulp File 1.9.1 documentation
Python bindings: pulp-file-client · PyPI
Ruby bindings: pulp_file_client | RubyGems.org | your community gem host
EOM
curl -X POST "$URL"
-H "Api-Key: $DISCOURSE_TOKEN"
-H "Api-Username: $DISCOURSE_USER"
-H "title: $1 $2 has been released"
24 changes: 24 additions & 0 deletions templates/github/.github/workflows/single_commit.yml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Assert Single Commit

on:
{%- if single_commit_check -%}
pull_request:
branches: [ {{ plugin_default_branch }} ]
{%- else -%}
workflow_dispatch: # don't run
{%- endif -%}

jobs:
single_commit:
steps:
- name: Checkout
uses: actions/checkout@v1
with:
fetch-depth: 30
- name: Checkout {{ plugin_default_branch }}
run: git fetch origin {{ plugin_default_branch }}
- name: create local {{ plugin_default_branch }} branch
run: git branch {{ plugin_default_branch }} origin/{{ plugin_default_branch }}
- name: Commit Count Check
run: test `git log --oneline --no-merges HEAD ^{{ plugin_default_branch }} | wc -l ` = 1
runs-on: ubuntu-latest

0 comments on commit 9e9623f

Please sign in to comment.