55 branches : ["master", "main"]
66 types :
77 - completed
8+
89permissions :
910 contents : write
11+
1012jobs :
1113 version :
1214 name : Gather version information
1315 runs-on : ubuntu-latest
1416 if : ${{ github.event.workflow_run.conclusion == 'success' }}
17+
1518 outputs :
1619 latest_version : ${{ steps.latest_version.outputs.version }}
1720 next_version : ${{ steps.next_version.outputs.version }}
21+
1822 steps :
19- - uses : actions/checkout@v4
23+ - name : Checkout Code
24+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2025 with :
2126 fetch-depth : 0
27+ ref : ${{ github.ref }}
28+
29+ - name : Setup git-semver
30+ uses : PandasWhoCode/setup-git-semver@b6b17c8e4e6b307d2a66fd93797a9d30e48836e1 # v1.0.4
31+ with :
32+ version : latest
33+
2234 - name : Latest version
2335 id : latest_version
24- uses : PSanetra/git-semver-actions/latest@master
36+ run : echo "version=$(git-semver --latest-version)" >> "${GITHUB_OUTPUT}"
37+
2538 - name : Next version
2639 id : next_version
27- uses : PSanetra/git-semver-actions/next@master
40+ run : echo "version=$(git-semver --next-version)" >> "${GITHUB_OUTPUT}"
41+
2842 release :
2943 name : Release
3044 needs : version
3145 if : ${{ needs.version.outputs.latest_version != needs.version.outputs.next_version }}
3246 runs-on : ubuntu-latest
3347 steps :
34- - uses : actions/checkout@v4
48+ - name : Checkout Code
49+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3550 with :
3651 fetch-depth : 0
52+ ref : ${{ github.ref }}
53+
54+ - name : Setup git-semver
55+ uses : PandasWhoCode/setup-git-semver@b6b17c8e4e6b307d2a66fd93797a9d30e48836e1 # v1.0.4
56+ with :
57+ version : latest
58+
3759 - name : Generate Changelog
3860 id : generate_changelog
39- uses : PSanetra/git-semver-actions/markdown-log@master
61+ env :
62+ VERSION=${{ needs.version.outputs.next_version }}
63+ run : |
64+ changelog=$(git-semver log --markdown "${VERSION}")
65+ echo "changelog<<EOF" >> $GITHUB_OUTPUT
66+
4067 - name : Create Release
4168 id : create_release
42- uses : actions/create-release@v1
69+ uses : actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # v1.1.4
4370 env :
4471 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4572 with :
@@ -49,22 +76,31 @@ jobs:
4976 ${{ steps.generate_changelog.outputs.changelog }}
5077 draft : false # Tag must be published before gitreleaser is executed
5178 prerelease : false
79+
5280 build_and_publish_artifacts :
5381 name : Build and publish artifacts
5482 needs : [version, release]
5583 if : ${{ needs.version.outputs.latest_version != needs.version.outputs.next_version }}
5684 runs-on : ubuntu-latest
85+
5786 steps :
58- - uses : actions/checkout@v4
87+ - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5988 with :
6089 fetch-depth : 0
61- - uses : docker/setup-qemu-action@v3
62- - uses : docker/setup-buildx-action@v3
63- - uses : docker/login-action@v3
64- name : Login to Docker Hub
90+ ref : ${{ github.ref }}
91+
92+ - name : Setup QEMU
93+ uses : docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
94+
95+ - name : Setup Docker Buildx
96+ uses : docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
97+
98+ - name : Login to Docker Hub
99+ uses : docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
65100 with :
66101 username : ${{ vars.DOCKER_USERNAME }}
67102 password : ${{ secrets.DOCKER_PASSWORD }}
103+
68104 - name : Run GoReleaser
69105 uses : goreleaser/goreleaser-action@v6
70106 with :
0 commit comments