| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- name: Release Syncthing
- on:
- push:
- branches:
- - release
- - release-rc*
- permissions:
- contents: write
- jobs:
- create-release-tag:
- name: Create release tag
- runs-on: ubuntu-latest
- environment: release
- steps:
- - uses: actions/checkout@v5
- with:
- fetch-depth: 0
- ref: ${{ github.ref }} # https://github.com/actions/checkout/issues/882
- token: ${{ secrets.ACTIONS_GITHUB_TOKEN }}
- - uses: actions/setup-go@v6
- with:
- go-version: stable
- - name: Determine version to release
- run: |
- if [[ "$GITHUB_REF_NAME" == "release" ]] ; then
- next=$(go run ./script/next-version.go)
- else
- next=$(go run ./script/next-version.go --pre)
- fi
- echo "NEXT=$next" >> $GITHUB_ENV
- echo "Next version is $next"
- prev=$(git describe --exclude "*-*" --abbrev=0)
- echo "PREV=$prev" >> $GITHUB_ENV
- echo "Previous version is $prev"
- - name: Determine release notes
- run: |
- go run ./script/relnotes.go --new-ver "$NEXT" --branch "$GITHUB_REF_NAME" --prev-ver "$PREV" > notes.md
- env:
- GITHUB_TOKEN: ${{ secrets.ACTIONS_GITHUB_TOKEN }}
- - name: Create and push tag
- run: |
- git config --global user.name 'Syncthing Release Automation'
- git config --global user.email '[email protected]'
- git tag -a -F notes.md --cleanup=whitespace "$NEXT"
- git push origin "$NEXT"
- - name: Trigger the build
- uses: benc-uk/workflow-dispatch@v1
- with:
- workflow: build-syncthing.yaml
- ref: refs/tags/${{ env.NEXT }}
- token: ${{ secrets.ACTIONS_GITHUB_TOKEN }}
|