diff --git a/.github/workflows/update-major-tag.yml b/.github/workflows/update-major-tag.yml new file mode 100644 index 0000000..ffdae30 --- /dev/null +++ b/.github/workflows/update-major-tag.yml @@ -0,0 +1,24 @@ +name: Update major tag + +on: + release: + types: [published] + +jobs: + update: + runs-on: ubuntu-18.04 + steps: + + - uses: actions/checkout@v2 + + - name: Update major tag + if: github.event.release.prerelease == false + run: | + git config user.name "${GITHUB_ACTOR}" + git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" + git remote set-url origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git" + export TAG_NAME="${GITHUB_REF##refs/tags/}" + export TAG_MAJOR="${TAG_NAME%%.*}" + git tag "${TAG_MAJOR}" -m "Release ${TAG_NAME}" || git tag -d "${TAG_MAJOR}" ; git push --delete origin "${TAG_MAJOR}" + git tag "${TAG_MAJOR}" -m "Release ${TAG_NAME}" || true + git push origin "${TAG_MAJOR}"