release: 2.26.0 #225
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Build | |
on: | |
push: | |
branches: | |
- release/** | |
jobs: | |
linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- arch: i686 | |
target: i686-unknown-linux-musl | |
container: i686-musl | |
- arch: x86_64 | |
target: x86_64-unknown-linux-musl | |
container: x86_64-musl | |
- arch: armv7 | |
target: armv7-unknown-linux-musleabi | |
container: armv7-musleabi | |
- arch: aarch64 | |
target: aarch64-unknown-linux-musl | |
container: aarch64-musl | |
name: Linux ${{ matrix.arch }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build in Docker | |
run: scripts/build-in-docker.sh | |
env: | |
TARGET: ${{ matrix.target }} | |
DOCKER_TAG: ${{ matrix.container }} | |
- name: Rename Binary | |
run: mv target/*/release/sentry-cli sentry-cli-Linux-${{ matrix.arch }} | |
- uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }} | |
path: sentry-cli-Linux-${{ matrix.arch }} | |
macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- arch: x86_64 | |
target: x86_64-apple-darwin | |
- arch: arm64 | |
target: aarch64-apple-darwin | |
name: macOS ${{ matrix.arch }} | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 | |
with: | |
toolchain: stable | |
target: ${{ matrix.target }} | |
profile: minimal | |
override: true | |
- name: Run Cargo Build | |
uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # pin@v1 | |
with: | |
command: build | |
args: --target=${{ matrix.target }} --release --locked | |
- name: Rename Binary | |
run: mv target/${{ matrix.target }}/release/sentry-cli sentry-cli-Darwin-${{ matrix.arch }} | |
- uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }} | |
path: sentry-cli-Darwin-${{ matrix.arch }} | |
macos_universal: | |
needs: macos | |
name: macOS universal | |
runs-on: macos-latest | |
steps: | |
- uses: actions/download-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
- name: Link universal binary | |
run: lipo -create -output sentry-cli-Darwin-universal sentry-cli-Darwin-x86_64 sentry-cli-Darwin-arm64 | |
- uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }} | |
path: sentry-cli-Darwin-universal | |
windows: | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: [i686, x86_64] | |
name: Windows ${{ matrix.arch }} | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v2 | |
# When rustup is updated, it tries to replace its binary, which on Windows is somehow locked. | |
# This can result in the CI failure, see: https://github.com/rust-lang/rustup/issues/3029 | |
- name: Disable rustup self-update | |
shell: bash | |
run: rustup set auto-self-update disable | |
- uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 | |
with: | |
toolchain: stable-${{ matrix.arch }}-pc-windows-msvc | |
profile: minimal | |
override: true | |
- name: Run Cargo Build | |
uses: actions-rs/cargo@844f36862e911db73fe0815f00a4a2602c279505 # pin@v1 | |
with: | |
command: build | |
args: --release --locked | |
- name: Rename Binary | |
run: mv target/release/sentry-cli.exe sentry-cli-Windows-${{ matrix.arch }}.exe | |
- uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }} | |
path: sentry-cli-Windows-${{ matrix.arch }}.exe | |
node: | |
name: NPM Package | |
runs-on: ubuntu-latest | |
needs: [linux, macos, macos_universal, windows] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Use Node.js 16.x | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: Download compiled binaries | |
uses: actions/download-artifact@v2 | |
with: | |
name: ${{ github.sha }} | |
- name: Calculate and store checksums | |
shell: bash | |
run: | | |
sha256sum sentry-cli-* | awk '{printf("%s=%s\n", $2, $1)}' > checksums.txt | |
cat checksums.txt | |
- run: npm pack | |
- uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }} | |
path: '*.tgz' | |
python-base: | |
name: python (base) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # pin@v1 | |
with: | |
toolchain: stable | |
target: x86_64-unknown-linux-musl | |
profile: minimal | |
override: true | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- run: python3 -m pip install build && python3 -m build | |
- uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }}-python-base | |
path: dist/* | |
python: | |
name: python | |
runs-on: ubuntu-latest | |
needs: [linux, macos, macos_universal, windows, python-base] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- uses: actions/download-artifact@v3 | |
with: | |
name: ${{ github.sha }} | |
path: binaries | |
- uses: actions/download-artifact@v3 | |
with: | |
name: ${{ github.sha }}-python-base | |
path: python-base | |
- run: scripts/wheels --binaries binaries --base python-base --dest dist | |
- uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }} | |
path: dist/* | |
npm-distributions: | |
name: 'Build NPM distributions' | |
runs-on: ubuntu-latest | |
needs: [linux, macos, macos_universal, windows] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20.10.0' | |
- uses: actions/download-artifact@v3 | |
with: | |
name: ${{ github.sha }} | |
path: binary-artifacts | |
- name: Move binaries into distribution packages | |
run: | | |
mv binary-artifacts/sentry-cli-Darwin-universal npm-binary-distributions/darwin/bin/sentry-cli | |
mv binary-artifacts/sentry-cli-Linux-armv7 npm-binary-distributions/linux-arm/bin/sentry-cli | |
mv binary-artifacts/sentry-cli-Linux-aarch64 npm-binary-distributions/linux-arm64/bin/sentry-cli | |
mv binary-artifacts/sentry-cli-Linux-i686 npm-binary-distributions/linux-i686/bin/sentry-cli | |
mv binary-artifacts/sentry-cli-Linux-x86_64 npm-binary-distributions/linux-x64/bin/sentry-cli | |
mv binary-artifacts/sentry-cli-Windows-i686.exe npm-binary-distributions/win32-i686/bin/sentry-cli.exe | |
mv binary-artifacts/sentry-cli-Windows-x86_64.exe npm-binary-distributions/win32-x64/bin/sentry-cli.exe | |
- name: Remove binary placeholders | |
run: rm -rf npm-binary-distributions/*/bin/.gitkeep | |
- name: Make Linux binaries executable | |
run: chmod +x npm-binary-distributions/*/bin/sentry-cli | |
- name: Package distribution packages | |
run: | | |
for dir in npm-binary-distributions/*; do | |
cd $dir | |
npm pack | |
cd - | |
done | |
- name: Upload packaged npm binary distributions | |
uses: actions/[email protected] | |
with: | |
name: ${{ github.sha }} | |
path: npm-binary-distributions/*/*.tgz |