@@ -145,6 +145,9 @@ jobs:
145145 - goos : linux
146146 goarch : arm64
147147 os : ubuntu-24.04-arm
148+ - goos : darwin
149+ goarch : universal
150+ os : macos-latest
148151 steps :
149152 - name : Checkout code
150153 uses : actions/checkout@v5
@@ -166,22 +169,39 @@ jobs:
166169 run : go install github.com/wailsapp/wails/v2/cmd/wails@latest
167170
168171 - name : Install Linux dependencies
172+ if : matrix.goos == 'linux'
169173 run : |
170174 sudo apt-get update
171175 sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev
172176
173- - name : Build keylightd-tray
177+ - name : Build keylightd-tray (Linux)
178+ if : matrix.goos == 'linux'
174179 working-directory : contrib/keylightd-tray
175180 run : |
176181 wails build -tags webkit2_41,desktop -ldflags "-s -w -X main.version=${{ needs.prepare.outputs.version }} -X main.commit=${{ github.sha }} -X main.buildDate=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
177182
178- - name : Create archive
183+ - name : Build keylightd-tray (macOS)
184+ if : matrix.goos == 'darwin'
185+ working-directory : contrib/keylightd-tray
186+ run : |
187+ wails build -platform darwin/universal -ldflags "-s -w -X main.version=${{ needs.prepare.outputs.version }} -X main.commit=${{ github.sha }} -X main.buildDate=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
188+
189+ - name : Create archive (Linux)
190+ if : matrix.goos == 'linux'
179191 run : |
180192 mkdir -p dist
181193 tar -czvf dist/keylightd-tray_v${{ needs.prepare.outputs.version }}_${{ matrix.goos }}_${{ matrix.goarch }}.tar.gz \
182194 -C contrib/keylightd-tray/build/bin keylightd-tray \
183195 -C ${{ github.workspace }} LICENSE README.md
184196
197+ - name : Create archive (macOS)
198+ if : matrix.goos == 'darwin'
199+ run : |
200+ mkdir -p dist
201+ tar -czvf dist/keylightd-tray_v${{ needs.prepare.outputs.version }}_${{ matrix.goos }}_${{ matrix.goarch }}.tar.gz \
202+ -C contrib/keylightd-tray/build/bin keylightd-tray.app \
203+ -C ${{ github.workspace }} LICENSE README.md
204+
185205 - name : Upload artifact
186206 uses : actions/upload-artifact@v5
187207 with :
@@ -479,7 +499,8 @@ jobs:
479499 SHA256_LINUX_AMD64=$(grep "keylightd_${VERSION}_linux_amd64.tar.gz" "$CHECKSUM_FILE" | awk '{print $1}')
480500 SHA256_LINUX_ARM64=$(grep "keylightd_${VERSION}_linux_arm64.tar.gz" "$CHECKSUM_FILE" | awk '{print $1}')
481501
482- # keylightd-tray checksums (Linux only)
502+ # keylightd-tray checksums
503+ SHA256_TRAY_DARWIN_UNIVERSAL=$(grep "keylightd-tray_v${VERSION}_darwin_universal.tar.gz" "$CHECKSUM_FILE" | awk '{print $1}')
483504 SHA256_TRAY_LINUX_AMD64=$(grep "keylightd-tray_v${VERSION}_linux_amd64.tar.gz" "$CHECKSUM_FILE" | awk '{print $1}')
484505 SHA256_TRAY_LINUX_ARM64=$(grep "keylightd-tray_v${VERSION}_linux_arm64.tar.gz" "$CHECKSUM_FILE" | awk '{print $1}')
485506
@@ -489,20 +510,23 @@ jobs:
489510 SHA256_SBOM_LINUX_AMD64=$(grep "keylightd_${VERSION}_linux_amd64_sbom.spdx.json" "$CHECKSUM_FILE" | awk '{print $1}')
490511 SHA256_SBOM_LINUX_ARM64=$(grep "keylightd_${VERSION}_linux_arm64_sbom.spdx.json" "$CHECKSUM_FILE" | awk '{print $1}')
491512
492- # SBOM checksums for keylightd-tray (Linux only)
513+ # SBOM checksums for keylightd-tray
514+ SHA256_SBOM_TRAY_DARWIN_UNIVERSAL=$(grep "keylightd-tray_v${VERSION}_darwin_universal_sbom.spdx.json" "$CHECKSUM_FILE" | awk '{print $1}')
493515 SHA256_SBOM_TRAY_LINUX_AMD64=$(grep "keylightd-tray_v${VERSION}_linux_amd64_sbom.spdx.json" "$CHECKSUM_FILE" | awk '{print $1}')
494516 SHA256_SBOM_TRAY_LINUX_ARM64=$(grep "keylightd-tray_v${VERSION}_linux_arm64_sbom.spdx.json" "$CHECKSUM_FILE" | awk '{print $1}')
495517
496518 echo "SHA256_DARWIN_AMD64=${SHA256_DARWIN_AMD64}" >> $GITHUB_OUTPUT
497519 echo "SHA256_DARWIN_ARM64=${SHA256_DARWIN_ARM64}" >> $GITHUB_OUTPUT
498520 echo "SHA256_LINUX_AMD64=${SHA256_LINUX_AMD64}" >> $GITHUB_OUTPUT
499521 echo "SHA256_LINUX_ARM64=${SHA256_LINUX_ARM64}" >> $GITHUB_OUTPUT
522+ echo "SHA256_TRAY_DARWIN_UNIVERSAL=${SHA256_TRAY_DARWIN_UNIVERSAL}" >> $GITHUB_OUTPUT
500523 echo "SHA256_TRAY_LINUX_AMD64=${SHA256_TRAY_LINUX_AMD64}" >> $GITHUB_OUTPUT
501524 echo "SHA256_TRAY_LINUX_ARM64=${SHA256_TRAY_LINUX_ARM64}" >> $GITHUB_OUTPUT
502525 echo "SHA256_SBOM_DARWIN_AMD64=${SHA256_SBOM_DARWIN_AMD64}" >> $GITHUB_OUTPUT
503526 echo "SHA256_SBOM_DARWIN_ARM64=${SHA256_SBOM_DARWIN_ARM64}" >> $GITHUB_OUTPUT
504527 echo "SHA256_SBOM_LINUX_AMD64=${SHA256_SBOM_LINUX_AMD64}" >> $GITHUB_OUTPUT
505528 echo "SHA256_SBOM_LINUX_ARM64=${SHA256_SBOM_LINUX_ARM64}" >> $GITHUB_OUTPUT
529+ echo "SHA256_SBOM_TRAY_DARWIN_UNIVERSAL=${SHA256_SBOM_TRAY_DARWIN_UNIVERSAL}" >> $GITHUB_OUTPUT
506530 echo "SHA256_SBOM_TRAY_LINUX_AMD64=${SHA256_SBOM_TRAY_LINUX_AMD64}" >> $GITHUB_OUTPUT
507531 echo "SHA256_SBOM_TRAY_LINUX_ARM64=${SHA256_SBOM_TRAY_LINUX_ARM64}" >> $GITHUB_OUTPUT
508532
@@ -529,8 +553,10 @@ jobs:
529553 VERSION="${{ needs.create-release.outputs.version }}"
530554
531555 sed -e "s/{{VERSION}}/${VERSION}/g" \
556+ -e "s/{{SHA256_DARWIN_UNIVERSAL}}/${{ steps.checksums.outputs.SHA256_TRAY_DARWIN_UNIVERSAL }}/g" \
532557 -e "s/{{SHA256_LINUX_AMD64}}/${{ steps.checksums.outputs.SHA256_TRAY_LINUX_AMD64 }}/g" \
533558 -e "s/{{SHA256_LINUX_ARM64}}/${{ steps.checksums.outputs.SHA256_TRAY_LINUX_ARM64 }}/g" \
559+ -e "s/{{SHA256_SBOM_DARWIN_UNIVERSAL}}/${{ steps.checksums.outputs.SHA256_SBOM_TRAY_DARWIN_UNIVERSAL }}/g" \
534560 -e "s/{{SHA256_SBOM_LINUX_AMD64}}/${{ steps.checksums.outputs.SHA256_SBOM_TRAY_LINUX_AMD64 }}/g" \
535561 -e "s/{{SHA256_SBOM_LINUX_ARM64}}/${{ steps.checksums.outputs.SHA256_SBOM_TRAY_LINUX_ARM64 }}/g" \
536562 contrib/homebrew/keylightd-tray.rb.template > keylightd-tray.rb
0 commit comments