Create rust-toolchain #43
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
on: [push, pull_request] | |
name: Static Checks | |
jobs: | |
tests: | |
name: ${{ matrix.make.name }} (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
rust: [stable] | |
make: | |
- name: Clippy | |
task: "cargo clippy" | |
- name: Unit tests # Run unit tests | |
task: "make unit-test" | |
include: | |
- os: ubuntu-latest | |
sccache-path: /home/runner/.cache/sccache | |
- os: macos-latest | |
sccache-path: /Users/runner/Library/Caches/Mozilla.sccache | |
exclude: | |
- os: macos-latest | |
rust: stable | |
make: | |
name: Clippy | |
env: | |
RUST_BACKTRACE: full | |
RUSTC_WRAPPER: sccache | |
RUSTV: ${{ matrix.rust }} | |
SCCACHE_CACHE_SIZE: 2G | |
SCCACHE_DIR: ${{ matrix.sccache-path }} | |
# SCCACHE_RECACHE: 1 # Uncomment this to clear cache, then comment it back out | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install sccache (ubuntu-latest) | |
if: matrix.os == 'ubuntu-latest' | |
env: | |
LINK: https://github.com/mozilla/sccache/releases/download | |
SCCACHE_VERSION: v0.2.15 | |
run: | | |
SCCACHE_FILE=sccache-$SCCACHE_VERSION-x86_64-unknown-linux-musl | |
mkdir -p $HOME/.local/bin | |
curl -L "$LINK/$SCCACHE_VERSION/$SCCACHE_FILE.tar.gz" | tar xz | |
mv -f $SCCACHE_FILE/sccache $HOME/.local/bin/sccache | |
chmod +x $HOME/.local/bin/sccache | |
echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Install sccache (macos-latest) | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew update | |
brew install sccache | |
- uses: ./.github/actions/install-rust | |
with: | |
toolchain: ${{ matrix.rust }} | |
- name: Add wasm toolchain | |
run: | | |
rustup target add wasm32-unknown-unknown | |
- name: Install Clippy | |
if: matrix.make.name == 'Clippy' | |
run: | | |
rustup component add clippy | |
- name: Cache cargo registry | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo- | |
- name: Save sccache | |
uses: actions/cache@v3 | |
continue-on-error: false | |
with: | |
path: ${{ matrix.sccache-path }} | |
key: ${{ runner.os }}-sccache-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-sccache- | |
- name: Start sccache server | |
run: sccache --start-server | |
- name: ${{ matrix.make.name }} | |
run: ${{ matrix.make.task }} | |
- name: Print sccache stats | |
run: sccache --show-stats | |
- name: Stop sccache server | |
run: sccache --stop-server || true |