~ruther/qmk_firmware

8d6ad23b096ed2fc4d8fd0e6781fca30b87b343f — Joel Challis 4 years ago a6a1289
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
2 files changed, 32 insertions(+), 22 deletions(-)

A .github/workflows/auto_tag.yaml
M util/travis_compiled_push.sh
A .github/workflows/auto_tag.yaml => .github/workflows/auto_tag.yaml +32 -0
@@ 0,0 1,32 @@
name: Essential files modified

on:
  push:
    branches:
    - master
    paths:
    - quantum/**/*
    - tmk_core/**/*
    - drivers/**/*
    - tests/**/*
    - util/**/*
    - platforms/**/*
    - Makefile
    - '*.mk'

jobs:
  tag:
    runs-on: ubuntu-latest

    # protect against those who develop with their fork on master
    if: github.repository == 'qmk/qmk_firmware'

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 0

    - name: Bump version and push tag
      uses: anothrNick/github-tag-action@1.26.0
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

M util/travis_compiled_push.sh => util/travis_compiled_push.sh +0 -22
@@ 17,30 17,8 @@ git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} '*.c' '*.h'
git diff --diff-filter=AM --name-only -n 1 -z ${TRAVIS_COMMIT_RANGE} | xargs -0 git add
git commit -m "format code according to conventions [skip ci]" && git push git@github.com:qmk/qmk_firmware.git master

increment_version ()
{
  declare -a part=( ${1//\./ } )
  part[2]=$((part[2] + 1))
  new="${part[*]}"
  echo -e "${new// /.}"
}

git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}

NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | grep -Ev '^(docs/)' | grep -Ev '^(users/)' | grep -Ev '^(layouts/)' | wc -l)
if [[ $NEFM -gt 0 ]] ; then
	echo "Essential files modified."
	git fetch --tags
	lasttag=$(git tag --sort=-creatordate --no-column --list '*.*.*' | grep -E -m1 '^[0-9]+\.[0-9]+\.[0-9]+$')
	newtag=$(increment_version $lasttag)
	until git tag $newtag; do
		newtag=$(increment_version $newtag)
	done
	git push --tags git@github.com:qmk/qmk_firmware.git
else
	echo "No essential files modified."
fi

if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
	make generate-keyboards-file SILENT=true > .keyboards
	cd ..