diff options
author | Joel Challis <git@zvecr.com> | 2020-12-06 12:54:08 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-06 12:54:08 +0000 |
commit | 8d6ad23b096ed2fc4d8fd0e6781fca30b87b343f (patch) | |
tree | 49f09a6756a88414286f406a06913d1b986640eb | |
parent | a6a12890037c706e67716e28e37432693ba17ace (diff) | |
download | qmk_firmware-8d6ad23b096ed2fc4d8fd0e6781fca30b87b343f.tar.gz qmk_firmware-8d6ad23b096ed2fc4d8fd0e6781fca30b87b343f.zip |
CI: Add workflow for tagging essential modified files (#7384)
* Add workflow for tagging essential modified files
* Update inline with recent actions
* align rules to labeler
* Update .github/workflows/auto_tag.yaml
-rw-r--r-- | .github/workflows/auto_tag.yaml | 32 | ||||
-rwxr-xr-x | util/travis_compiled_push.sh | 22 |
2 files changed, 32 insertions, 22 deletions
diff --git a/.github/workflows/auto_tag.yaml b/.github/workflows/auto_tag.yaml new file mode 100644 index 000000000..e6a1d52b3 --- /dev/null +++ b/.github/workflows/auto_tag.yaml | |||
@@ -0,0 +1,32 @@ | |||
1 | name: Essential files modified | ||
2 | |||
3 | on: | ||
4 | push: | ||
5 | branches: | ||
6 | - master | ||
7 | paths: | ||
8 | - quantum/**/* | ||
9 | - tmk_core/**/* | ||
10 | - drivers/**/* | ||
11 | - tests/**/* | ||
12 | - util/**/* | ||
13 | - platforms/**/* | ||
14 | - Makefile | ||
15 | - '*.mk' | ||
16 | |||
17 | jobs: | ||
18 | tag: | ||
19 | runs-on: ubuntu-latest | ||
20 | |||
21 | # protect against those who develop with their fork on master | ||
22 | if: github.repository == 'qmk/qmk_firmware' | ||
23 | |||
24 | steps: | ||
25 | - uses: actions/checkout@v2 | ||
26 | with: | ||
27 | fetch-depth: 0 | ||
28 | |||
29 | - name: Bump version and push tag | ||
30 | uses: anothrNick/github-tag-action@1.26.0 | ||
31 | env: | ||
32 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh index 195a87208..a9c6f028f 100755 --- a/util/travis_compiled_push.sh +++ b/util/travis_compiled_push.sh | |||
@@ -17,30 +17,8 @@ git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} '*.c' '*.h' | |||
17 | git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add | 17 | git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add |
18 | git commit -m "format code according to conventions [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master | 18 | git commit -m "format code according to conventions [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master |
19 | 19 | ||
20 | increment_version () | ||
21 | { | ||
22 | declare -a part=( ${1//\./ } ) | ||
23 | part[2]=$((part[2] + 1)) | ||
24 | new="${part[*]}" | ||
25 | echo -e "${new// /.}" | ||
26 | } | ||
27 | |||
28 | git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | 20 | git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} |
29 | 21 | ||
30 | NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | grep -Ev '^(users/)' | grep -Ev '^(layouts/)' | wc -l) | ||
31 | if [[ $NEFM -gt 0 ]] ; then | ||
32 | echo "Essential files modified." | ||
33 | git fetch --tags | ||
34 | lasttag=$(git tag --sort=-creatordate --no-column --list '*.*.*' | grep -E -m1 '^[0-9]+\.[0-9]+\.[0-9]+$') | ||
35 | newtag=$(increment_version $lasttag) | ||
36 | until git tag $newtag; do | ||
37 | newtag=$(increment_version $newtag) | ||
38 | done | ||
39 | git push --tags git@github.com:qmk/qmk_firmware.git | ||
40 | else | ||
41 | echo "No essential files modified." | ||
42 | fi | ||
43 | |||
44 | if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then | 22 | if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then |
45 | make generate-keyboards-file SILENT=true > .keyboards | 23 | make generate-keyboards-file SILENT=true > .keyboards |
46 | cd .. | 24 | cd .. |