Refactor release job.

This commit is contained in:
Nolan Darilek 2020-11-17 16:47:46 -06:00
parent 34db699972
commit 9fb4f5e71e
1 changed files with 66 additions and 55 deletions

View File

@ -6,89 +6,100 @@ on:
- "v*" - "v*"
jobs: jobs:
build_linux: check:
name: Build Linux name: Check
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1
- run: sudo apt-get update; sudo apt-get install -y libspeechd-dev
if: ${{ runner.os == 'Linux' }}
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt, clippy
override: true
- uses: actions-rs/cargo@v1
with:
command: check
args: --all-features --examples
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features
check_web:
name: Check Web
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v1
- run: | - uses: actions-rs/toolchain@v1
sudo apt-get update with:
sudo apt-get install -y libspeechd-dev target: wasm32-unknown-unknown
rustup update profile: minimal
cargo check --examples --release toolchain: stable
components: rustfmt, clippy
build_web: override: true
name: Build Web - uses: actions-rs/cargo@v1
runs-on: ubuntu-latest with:
steps: command: check
- uses: actions/checkout@v2 args: --all-features --examples --target wasm32-unknown-unknown
- uses: Swatinem/rust-cache@v1 - uses: actions-rs/cargo@v1
- run: | with:
rustup update command: fmt
rustup target add wasm32-unknown-unknown args: --all -- --check
cargo check --examples --release --target wasm32-unknown-unknown - uses: actions-rs/clippy-check@v1
with:
build_windows: token: ${{ secrets.GITHUB_TOKEN }}
name: Build Windows args: --all-features --target wasm32-unknown-unknown
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1
- run: |
rustup update
cargo check --examples --all-features --release
build_macos:
name: Build MacOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1
- run: |
rustup update
cargo check --examples --release
build_ios:
name: Build iOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1
- run: |
rustup update
rustup target add aarch64-apple-ios x86_64-apple-ios
cargo install cargo-lipo
cargo lipo --release
publish_winrt_bindings: publish_winrt_bindings:
name: Publish winrt_bindings name: Publish winrt_bindings
runs-on: windows-latest runs-on: windows-latest
needs: [build_windows] needs: [check]
env: env:
CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v1
- uses: actions-rs/toolchain@v1
with:
target: wasm32-unknown-unknown
profile: minimal
toolchain: stable
components: rustfmt, clippy
override: true
- run: | - run: |
rustup update
cargo login $CARGO_TOKEN cargo login $CARGO_TOKEN
cd winrt_bindings cd winrt_bindings
cargo package
cargo publish || true cargo publish || true
publish: publish:
name: Publish name: Publish
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [build_linux, build_web, build_windows, build_macos, build_ios] needs: [check, check_web]
env: env:
CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1 - uses: Swatinem/rust-cache@v1
- uses: actions-rs/toolchain@v1
with:
target: wasm32-unknown-unknown
profile: minimal
toolchain: stable
override: true
- run: | - run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y libspeechd-dev sudo apt-get install -y libspeechd-dev
rustup update
cargo login $CARGO_TOKEN cargo login $CARGO_TOKEN
cargo publish cargo publish