Skip to content

release v0.6.0-rc.5 #44

release v0.6.0-rc.5

release v0.6.0-rc.5 #44

Workflow file for this run

name: Release
on:
push:
tags:
- "*"
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build_release:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
target:
[
# linux builds
x86_64-unknown-linux-gnu,
aarch64-unknown-linux-gnu,
arm-unknown-linux-gnueabihf,
# macos builds
x86_64-apple-darwin,
aarch64-apple-darwin,
# windows builds
x86_64-pc-windows-msvc,
x86_64-pc-windows-gnu,
# android builds
aarch64-linux-android,
armv7-linux-androideabi,
x86_64-linux-android,
i686-linux-android,
# ios builds
aarch64-apple-ios,
x86_64-apple-ios,
aarch64-apple-ios-sim,
wasm32-unknown-unknown,
]
toolchain: [stable]
exclude:
# Don't test linux/windows/android/ios targets on macos
- os: macos-latest
target: x86_64-unknown-linux-gnu
- os: macos-latest
target: aarch64-unknown-linux-gnu
- os: macos-latest
target: arm-unknown-linux-gnueabihf
- os: macos-latest
target: x86_64-pc-windows-msvc
- os: macos-latest
target: x86_64-pc-windows-gnu
- os: macos-latest
target: aarch64-linux-android
- os: macos-latest
target: armv7-linux-androideabi
- os: macos-latest
target: x86_64-linux-android
- os: macos-latest
target: i686-linux-android
# Don't test darwin/windows/ios/wasm targets on ubuntu
- os: ubuntu-latest
target: x86_64-apple-darwin
- os: ubuntu-latest
target: aarch64-apple-darwin
- os: ubuntu-latest
target: x86_64-pc-windows-msvc
- os: ubuntu-latest
target: aarch64-apple-ios
- os: ubuntu-latest
target: x86_64-apple-ios
- os: ubuntu-latest
target: aarch64-apple-ios-sim
- os: ubuntu-latest
target: wasm32-unknown-unknown
# Don't test darwin/linux/android/ios/wasm targets on windows
- os: windows-latest
target: x86_64-pc-windows-gnu
- os: windows-latest
target: x86_64-unknown-linux-gnu
- os: windows-latest
target: aarch64-unknown-linux-gnu
- os: windows-latest
target: arm-unknown-linux-gnueabihf
- os: windows-latest
target: x86_64-apple-darwin
- os: windows-latest
target: aarch64-apple-darwin
- os: windows-latest
target: aarch64-apple-ios
- os: windows-latest
target: x86_64-apple-ios
- os: windows-latest
target: aarch64-apple-ios-sim
- os: windows-latest
target: aarch64-linux-android
- os: windows-latest
target: armv7-linux-androideabi
- os: windows-latest
target: x86_64-linux-android
- os: windows-latest
target: i686-linux-android
- os: windows-latest
target: wasm32-unknown-unknown
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
components: rustfmt, clippy
target: ${{ matrix.target }}
override: true
- run: rustup target add ${{ matrix.target }}
- name: Install clang for ubuntu
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt install -y clang
fi
shell: bash
- name: Install wasm-pack (with workaround for Linux)
# see https://github.com/rustwasm/wasm-pack/issues/781#issuecomment-1242611389
# and https://github.com/rustwasm/wasm-pack/issues/823#issuecomment-1242611318
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cargo install --git https://github.com/frewsxcv/wasm-pack.git --branch patch-2
- name: Install wasm-pack (with official script)
if: ${{ matrix.os != 'ubuntu-latest'}}
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: wasm-build
if: ${{ matrix.target == 'wasm32-unknown-unknown' }}
run: wasm-pack build --release --target nodejs -- --no-default-features --features target-wasm --target-dir=target/
- name: install cross
run: cargo install -f cross
- name: target-c-sdk native build
if: ${{ matrix.target != 'wasm32-unknown-unknown' && (matrix.target == 'x86_64-unknown-linux-gnu' || matrix.target == 'aarch64-apple-darwin' || matrix.target == 'x86_64-apple-darwin' || matrix.target == 'x86_64-pc-windows-msvc') }}
run: cargo build --release --no-default-features --features target-c-sdk --target-dir=target/ --target=${{ matrix.target }}
- name: target-c-sdk cross build
if: ${{ matrix.target != 'x86_64-unknown-linux-gnu' && matrix.target != 'aarch64-apple-darwin' && matrix.target != 'x86_64-apple-darwin' && matrix.target != 'x86_64-pc-windows-msvc' && matrix.target != 'wasm32-unknown-unknown' }}
run: cross build --release --no-default-features --features target-c-sdk --target-dir target/ --target ${{ matrix.target }}
- name: Run tests
run: cargo test --verbose
- uses: haya14busa/action-cond@v1
id: files
with:
cond: ${{ matrix.target == 'wasm32-unknown-unknown' }}
if_true: pkg
if_false: target/${{ matrix.target }}/release/libvade_evan.a
- name: Compress files
uses: vimtor/action-zip@v1
with:
files: ${{ steps.files.outputs.value }}
dest: target/${{ matrix.target }}.zip
- name: Create Github Release
uses: ncipollo/release-action@v1
with:
artifacts: "target/${{ matrix.target }}.zip"
bodyFile: "VERSIONS.md"
replacesArtifacts: false
token: ${{ github.token }}
allowUpdates: true