Skip to content

Commit ca351db

Browse files
chore(windows): update goreleaser
Signed-off-by: Swarit Pandey <swarit@stepsecurity.io>
1 parent b5264f0 commit ca351db

3 files changed

Lines changed: 35 additions & 23 deletions

File tree

.github/workflows/release.yml

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -75,39 +75,46 @@ jobs:
7575
# GoReleaser uploads as name_template (e.g. stepsecurity-dev-machine-guard_darwin_amd64)
7676
# but keeps them in build subdirs locally. We copy to dist/ with release names
7777
# so cosign signs the same bytes users verify against.
78-
AMD64_SRC=$(find dist -type f -name 'stepsecurity-dev-machine-guard' -path '*darwin_amd64*' | head -1)
79-
ARM64_SRC=$(find dist -type f -name 'stepsecurity-dev-machine-guard' -path '*darwin_arm64*' | head -1)
80-
81-
for label in "amd64:${AMD64_SRC}" "arm64:${ARM64_SRC}"; do
82-
name="${label%%:*}"
83-
path="${label#*:}"
84-
if [ -z "$path" ] || [ ! -f "$path" ]; then
85-
echo "::error::Binary not found for ${name}"
78+
79+
declare -A ARTIFACTS=(
80+
["darwin_amd64"]="stepsecurity-dev-machine-guard"
81+
["darwin_arm64"]="stepsecurity-dev-machine-guard"
82+
["windows_amd64"]="stepsecurity-dev-machine-guard.exe"
83+
["windows_arm64"]="stepsecurity-dev-machine-guard.exe"
84+
)
85+
86+
for target in "${!ARTIFACTS[@]}"; do
87+
binary="${ARTIFACTS[$target]}"
88+
src=$(find dist -type f -name "$binary" -path "*${target}*" | head -1)
89+
if [ -z "$src" ] || [ ! -f "$src" ]; then
90+
echo "::error::Binary not found for ${target}"
8691
find dist -type f
8792
exit 1
8893
fi
94+
cp "$src" "dist/stepsecurity-dev-machine-guard_${target}${binary##stepsecurity-dev-machine-guard}"
8995
done
90-
91-
cp "$AMD64_SRC" dist/stepsecurity-dev-machine-guard_darwin_amd64
92-
cp "$ARM64_SRC" dist/stepsecurity-dev-machine-guard_darwin_arm64
9396
echo "Prepared release artifacts for signing"
9497
9598
- name: Sign artifacts with Sigstore (keyless)
9699
run: |
97-
cosign sign-blob dist/stepsecurity-dev-machine-guard_darwin_amd64 \
98-
--bundle dist/stepsecurity-dev-machine-guard_darwin_amd64.bundle --yes
99-
cosign sign-blob dist/stepsecurity-dev-machine-guard_darwin_arm64 \
100-
--bundle dist/stepsecurity-dev-machine-guard_darwin_arm64.bundle --yes
101-
cosign sign-blob stepsecurity-dev-machine-guard.sh \
102-
--bundle dist/stepsecurity-dev-machine-guard.sh.bundle --yes
100+
for artifact in \
101+
dist/stepsecurity-dev-machine-guard_darwin_amd64 \
102+
dist/stepsecurity-dev-machine-guard_darwin_arm64 \
103+
dist/stepsecurity-dev-machine-guard_windows_amd64.exe \
104+
dist/stepsecurity-dev-machine-guard_windows_arm64.exe \
105+
stepsecurity-dev-machine-guard.sh; do
106+
cosign sign-blob "$artifact" --bundle "${artifact}.bundle" --yes
107+
done
103108
104109
- name: Generate checksums
105110
run: |
106-
# Separate checksum file for cosign-signed artifacts (script + bundles).
107-
# GoReleaser already generates checksums for the Go binaries in its own SHA256SUMS file.
108-
sha256sum dist/stepsecurity-dev-machine-guard_darwin_amd64 > dist/cosign-checksums.txt
109-
sha256sum dist/stepsecurity-dev-machine-guard_darwin_arm64 >> dist/cosign-checksums.txt
110-
sha256sum stepsecurity-dev-machine-guard.sh >> dist/cosign-checksums.txt
111+
sha256sum \
112+
dist/stepsecurity-dev-machine-guard_darwin_amd64 \
113+
dist/stepsecurity-dev-machine-guard_darwin_arm64 \
114+
dist/stepsecurity-dev-machine-guard_windows_amd64.exe \
115+
dist/stepsecurity-dev-machine-guard_windows_arm64.exe \
116+
stepsecurity-dev-machine-guard.sh \
117+
> dist/cosign-checksums.txt
111118
112119
- name: Upload signature bundles and checksums to release
113120
env:
@@ -116,6 +123,8 @@ jobs:
116123
gh release upload "${{ steps.version.outputs.tag }}" \
117124
dist/stepsecurity-dev-machine-guard_darwin_amd64.bundle \
118125
dist/stepsecurity-dev-machine-guard_darwin_arm64.bundle \
126+
dist/stepsecurity-dev-machine-guard_windows_amd64.exe.bundle \
127+
dist/stepsecurity-dev-machine-guard_windows_arm64.exe.bundle \
119128
dist/stepsecurity-dev-machine-guard.sh.bundle \
120129
dist/cosign-checksums.txt \
121130
--clobber
@@ -135,4 +144,6 @@ jobs:
135144
subject-path: |
136145
dist/stepsecurity-dev-machine-guard_darwin_amd64
137146
dist/stepsecurity-dev-machine-guard_darwin_arm64
147+
dist/stepsecurity-dev-machine-guard_windows_amd64.exe
148+
dist/stepsecurity-dev-machine-guard_windows_arm64.exe
138149
stepsecurity-dev-machine-guard.sh

.goreleaser.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ builds:
77
binary: stepsecurity-dev-machine-guard
88
goos:
99
- darwin
10+
- windows
1011
goarch:
1112
- amd64
1213
- arm64

internal/schtasks/schtasks.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/step-security/dev-machine-guard/internal/progress"
1212
)
1313

14-
const taskName = "StepSecurity Agent"
14+
const taskName = "StepSecurity Dev Machine Guard"
1515

1616
// Install configures Windows Task Scheduler for periodic scanning.
1717
// If already installed, upgrades by removing and re-creating the task.

0 commit comments

Comments
 (0)