Skip to content

Commit 9b9d49f

Browse files
Merge pull request #88 from OpenCHAMI/bugfix/build-automation
Update CI/CD workflow and GoReleaser configuration for improved build process
1 parent 63e5600 commit 9b9d49f

2 files changed

Lines changed: 30 additions & 38 deletions

File tree

.github/workflows/Release.yml

Lines changed: 22 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,29 @@ jobs:
1717
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
1818
1919
- name: Set up latest stable Go
20-
uses: actions/setup-go@v5
20+
uses: actions/setup-go@v6.4.0
2121
with:
2222
go-version: stable
2323
- name: Set up QEMU
24-
uses: docker/setup-qemu-action@v3
24+
uses: docker/setup-qemu-action@v4
25+
- name: Set up Docker Buildx
26+
uses: docker/setup-buildx-action@v4
27+
with:
28+
driver-opts: |
29+
image=moby/buildkit:master
30+
network=host
31+
- name: Docker Login
32+
uses: docker/login-action@v4.1.0
33+
with:
34+
registry: ghcr.io
35+
username: ${{ github.actor }}
36+
password: ${{ secrets.GITHUB_TOKEN }}
2537

2638
- name: Checkout
27-
uses: actions/checkout@v4
39+
uses: actions/checkout@v6.0.2
2840
with:
2941
fetch-tags: 1
30-
fetch-depth: 1
42+
fetch-depth: 0
3143

3244
# Set environment variables required by GoReleaser
3345
- name: Set build environment variables
@@ -38,17 +50,16 @@ jobs:
3850
echo "BUILD_USER=$(whoami)" >> $GITHUB_ENV
3951
echo "CGO_ENABLED=1" >> $GITHUB_ENV
4052
- name: Docker Login
41-
uses: docker/login-action@v3
53+
uses: docker/login-action@v4.1.0
4254
with:
4355
registry: ghcr.io
4456
username: ${{ github.actor }}
4557
password: ${{ secrets.GITHUB_TOKEN }}
4658
- name: Release with goreleaser
47-
uses: goreleaser/goreleaser-action@v6
59+
uses: goreleaser/goreleaser-action@v7
4860
env:
4961
GITHUB_TOKEN: ${{ github.token }}
5062
with:
51-
version: '~> v2'
5263
args: release --clean
5364
id: goreleaser
5465

@@ -63,38 +74,13 @@ jobs:
6374
node process.js
6475
echo "digest=$(cat digest.txt)" >> $GITHUB_OUTPUT
6576
66-
- name: Attest smd binary linux_amd64
67-
uses: actions/attest-build-provenance@v1
68-
with:
69-
subject-path: dist/smd_linux_amd64_v3/smd
70-
71-
- name: Attest smd-init binary linux_amd64
72-
uses: actions/attest-build-provenance@v1
73-
with:
74-
subject-path: dist/smd-init_linux_amd64_v3/smd-init
75-
76-
- name: Attest smd-loader binary linux_amd64
77-
uses: actions/attest-build-provenance@v1
78-
with:
79-
subject-path: dist/smd-loader_linux_amd64_v3/smd-loader
80-
81-
- name: Attest smd binary linux_arm64
82-
uses: actions/attest-build-provenance@v1
83-
with:
84-
subject-path: dist/smd_linux_arm64_v8.0/smd
85-
86-
- name: Attest smd-init binary linux_arm64
87-
uses: actions/attest-build-provenance@v1
88-
with:
89-
subject-path: dist/smd-init_linux_arm64_v8.0/smd-init
90-
91-
- name: Attest smd-loader binary linux_arm64
92-
uses: actions/attest-build-provenance@v1
77+
- name: Attest Binaries
78+
uses: actions/attest-build-provenance@v4.1.0
9379
with:
94-
subject-path: dist/smd-loader_linux_arm64_v8.0/smd-loader
80+
subject-path: dist/**
9581

9682
- name: generate build provenance of docker container
97-
uses: actions/attest-build-provenance@v1
83+
uses: actions/attest-build-provenance@v4.1.0
9884
with:
9985
subject-name: ghcr.io/openchami/smd
10086
subject-digest: ${{ steps.process_goreleaser_output.outputs.digest }}

.goreleaser.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ builds:
2727
goos:
2828
- linux
2929
- darwin
30-
- windows
3130
goarch:
3231
- amd64
3332
- arm64
@@ -53,7 +52,6 @@ builds:
5352
goos:
5453
- linux
5554
- darwin
56-
- windows
5755
goarch:
5856
- amd64
5957
- arm64
@@ -166,6 +164,14 @@ changelog:
166164
exclude:
167165
- '^docs:'
168166
- '^test:'
167+
release:
168+
disable: "{{ if eq .Env.IS_PR_BUILD \"true\" }}true{{ else }}false{{ end }}"
169+
github:
170+
owner: OpenCHAMI
171+
name: smd
172+
name_template: 'v{{ .Version }}'
173+
prerelease: auto
174+
mode: replace
169175

170176
# The lines beneath this are called `modelines`. See `:help modeline`
171177
# Feel free to remove those if you don't want/use them.

0 commit comments

Comments
 (0)