Skip to content

ci: verify bundled platform binaries (#15) #10

ci: verify bundled platform binaries (#15)

ci: verify bundled platform binaries (#15) #10

Workflow file for this run

name: release
on:
push:
tags: ["v*"]
permissions:
contents: write
jobs:
build-macos:
runs-on: macos-14
environment: macos-release
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin
- run: cargo test --locked
- run: cargo build --release --locked --target aarch64-apple-darwin
- name: Sign and notarize
env:
MACOS_DEVELOPER_ID_APPLICATION_P12_BASE64: ${{ secrets.MACOS_DEVELOPER_ID_APPLICATION_P12_BASE64 }}
MACOS_DEVELOPER_ID_P12_PASSWORD: ${{ secrets.MACOS_DEVELOPER_ID_P12_PASSWORD }}
APPLE_NOTARY_APPLE_ID: ${{ secrets.APPLE_NOTARY_APPLE_ID }}
APPLE_NOTARY_TEAM_ID: ${{ secrets.APPLE_NOTARY_TEAM_ID }}
APPLE_NOTARY_APP_PASSWORD: ${{ secrets.APPLE_NOTARY_APP_PASSWORD }}
run: ./scripts/sign_and_notarize_macos.sh target/aarch64-apple-darwin/release/browser-cli
- name: Package
run: |
version="${GITHUB_REF_NAME#v}"
asset="browser-cli-v${version}-aarch64-apple-darwin"
cp target/aarch64-apple-darwin/release/browser-cli "$asset"
shasum -a 256 "$asset" > "$asset.sha256"
- uses: actions/upload-artifact@v4
with:
name: release-aarch64-apple-darwin
path: browser-cli-v*-aarch64-apple-darwin*
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-pc-windows-msvc
- run: cargo test --locked
- run: cargo build --release --locked --target x86_64-pc-windows-msvc
- name: Package
shell: bash
run: |
version="${GITHUB_REF_NAME#v}"
asset="browser-cli-v${version}-x86_64-pc-windows-msvc.exe"
cp target/x86_64-pc-windows-msvc/release/browser-cli.exe "$asset"
sha256sum "$asset" > "$asset.sha256"
- uses: actions/upload-artifact@v4
with:
name: release-x86_64-pc-windows-msvc
path: browser-cli-v*-x86_64-pc-windows-msvc*
publish:
needs: [build-macos, build-windows]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/download-artifact@v4
with:
pattern: release-*
merge-multiple: true
- name: Package SkillHub upload ZIP
run: |
version="${GITHUB_REF_NAME#v}"
install -D -m 0755 \
"browser-cli-v${version}-aarch64-apple-darwin" \
skills/lexmount-browser/bin/browser-cli
install -D -m 0755 \
"browser-cli-v${version}-x86_64-pc-windows-msvc.exe" \
skills/lexmount-browser/bin/browser-cli.exe
file skills/lexmount-browser/bin/browser-cli | grep -q 'Mach-O 64-bit.*arm64'
file skills/lexmount-browser/bin/browser-cli.exe | grep -q 'PE32+ executable.*x86-64'
./scripts/package-skill.sh
cp dist/lexmount-browser.zip "lexmount-browser-v${version}-skillhub.zip"
sha256sum "lexmount-browser-v${version}-skillhub.zip" > "lexmount-browser-v${version}-skillhub.zip.sha256"
- run: cat *.sha256 | sort -k2 > SHA256SUMS
- run: rm -f -- *.sha256
- uses: softprops/action-gh-release@v2
with:
files: |
browser-cli-v*
lexmount-browser-v*-skillhub.zip
SHA256SUMS