From 10010f9bc982d81776775af444cd3c84c944f694 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Tue, 17 Nov 2020 13:15:37 -0600 Subject: [PATCH] Add caching to builds, and remove unneeded LLVM install. --- .github/workflows/release.yml | 188 ++++++++++++++++++---------------- .github/workflows/test.yml | 5 + 2 files changed, 102 insertions(+), 91 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 621ce7a..1500594 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,91 +1,97 @@ -name: Release - -on: - push: - tags: - - "v*" - -jobs: - build_linux: - name: Build Linux - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - run: | - sudo apt-get update - sudo apt-get install -y libspeechd-dev - rustup update - cargo check --examples --release - rustup target add wasm32-unknown-unknown - cargo check --examples --release --target wasm32-unknown-unknown - - build_web: - name: Build Web - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - run: | - rustup update - rustup target add wasm32-unknown-unknown - cargo check --examples --release --target wasm32-unknown-unknown - - build_windows: - name: Build Windows - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - - run: | - choco install -y llvm - rustup update - cargo check --examples --all-features --release - - build_macos: - name: Build MacOS - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - run: | - rustup update - cargo check --examples --release - - build_ios: - name: Build iOS - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - run: | - rustup update - rustup target add aarch64-apple-ios x86_64-apple-ios - cargo install cargo-lipo - cargo lipo --release - - publish_winrt_bindings: - name: Publish winrt_bindings - runs-on: windows-latest - needs: [build_windows] - env: - CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} - steps: - - uses: actions/checkout@v2 - - run: | - choco install -y llvm - rustup update - cargo login $CARGO_TOKEN - cd winrt_bindings - cargo package - cargo publish || true - - publish: - name: Publish - runs-on: ubuntu-latest - needs: [build_linux, build_web, build_windows, build_macos, build_ios] - env: - CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} - steps: - - uses: actions/checkout@v2 - - run: | - sudo apt-get update - sudo apt-get install -y libspeechd-dev - rustup update - cargo login $CARGO_TOKEN - cargo publish +name: Release + +on: + push: + tags: + - "v*" + +jobs: + build_linux: + name: Build Linux + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 + - run: | + sudo apt-get update + sudo apt-get install -y libspeechd-dev + rustup update + cargo check --examples --release + rustup target add wasm32-unknown-unknown + cargo check --examples --release --target wasm32-unknown-unknown + + build_web: + name: Build Web + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 + - run: | + rustup update + rustup target add wasm32-unknown-unknown + cargo check --examples --release --target wasm32-unknown-unknown + + build_windows: + name: Build Windows + 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: + name: Publish winrt_bindings + runs-on: windows-latest + needs: [build_windows] + env: + CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} + steps: + - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 + - run: | + choco install -y llvm + rustup update + cargo login $CARGO_TOKEN + cd winrt_bindings + cargo package + cargo publish || true + + publish: + name: Publish + runs-on: ubuntu-latest + needs: [build_linux, build_web, build_windows, build_macos, build_ios] + env: + CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }} + steps: + - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 + - run: | + sudo apt-get update + sudo apt-get install -y libspeechd-dev + rustup update + cargo login $CARGO_TOKEN + cargo publish diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b6871d5..9e052b8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,6 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 - run: | sudo apt-get update sudo apt-get install -y libspeechd-dev @@ -21,6 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 - run: | rustup update rustup target add wasm32-unknown-unknown @@ -31,6 +33,7 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 - run: | rustup update cargo check --examples --release --all-features @@ -40,6 +43,7 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v2 + - uses: Swatinem/rust-cache@v1 - run: | rustup update cargo check --examples --release @@ -49,6 +53,7 @@ jobs: 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