diff --git a/.github/workflows/autotag.yml b/.github/workflows/autotag.yml new file mode 100644 index 0000000..cf6f283 --- /dev/null +++ b/.github/workflows/autotag.yml @@ -0,0 +1,23 @@ +name: Auto Tag +on: [push] + +permissions: + contents: write + +jobs: + tag: + name: Auto Tag + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + # parse version from git log like `release: 0.0.35` + - name: Get version + run: | + version=$(git log --pretty=oneline -1 | grep -oP 'release: \K[0-9.]+') + if [ -n "$version" ]; then echo VERSION=$version >> $GITHUB_ENV ; fi + # create & push tag + - name: Create & push tag + if: ${{ env.VERSION }} != '' + run: | + git tag v$VERSION + git push origin v$VERSION