Skip to content

release

release #24

Workflow file for this run

name: release
on: workflow_dispatch
jobs:
release:
strategy:
fail-fast: false
matrix:
include:
- platform: x86_64-linux
target: x86_64-unknown-linux-gnu
- platform: aarch64-linux
target: aarch64-unknown-linux-gnu
- platform: x86_64-darwin
target: x86_64-apple-darwin
# Rust uses external command to strip symbols and debuginfo on Mac
# Do not do for arm64 since it interferes with code signing
# and codesign binary is not present to re-sign
setup: sudo ln -s /opt/osxcross/target/bin/x86_64-apple-darwin-strip /usr/local/bin/strip
- platform: arm64-darwin
target: aarch64-apple-darwin
# - platform: x64-mingw-ucrt
# target: x86_64-pc-windows-gnu
# - platform: x64-mingw32
# target: x86_64-pc-windows-gnu
runs-on: ubuntu-latest
name: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- run: |
cargo install --locked --git https://github.com/ankane/cargo-3pl
git clone https://github.com/ankane/3pl-source.git
cargo 3pl --target ${{ matrix.target }} --require-files --source 3pl-source > LICENSE-THIRD-PARTY.txt
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2
# TODO switch to oxidize-rb/actions/cross-gem when setup supported
- uses: oxidize-rb/cross-gem-action@main
with:
platform: ${{ matrix.platform }}
version: latest
ruby-versions: "3.2,3.1,3.0"
setup: |
bundle install
${{ matrix.setup }}
use-ruby-linker-for-cargo: ${{ matrix.platform == 'aarch64-linux' }}