Reactivity v3! (Part 1) 🎉 #2304
Workflow file for this run
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
name: Test | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
test: | |
name: Test on ${{ matrix.os }} (using rustc ${{ matrix.rust }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
rust: | |
- 1.72.0 | |
- stable | |
- nightly | |
os: | |
- ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Install wasm-pack | |
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- name: Cargo generate-lockfile | |
run: cargo generate-lockfile | |
- name: Cargo cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run tests with default features | |
# Only run tests for sycamore to prevent stray feature flags from other tests. | |
run: cd packages/sycamore && cargo test | |
- name: Run tests with all features | |
if: matrix.rust == '1.72.0' | |
env: | |
RUN_UI_TESTS: true | |
run: cargo test --all-features | |
- name: Run tests with all features excluding UI | |
if: matrix.rust != '1.72.0' | |
run: cargo test --all-features | |
- name: Run headless browser tests | |
run: cd packages/sycamore && wasm-pack test --firefox --chrome --headless --all-features | |
if: always() | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -Dwarnings | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Cargo generate-lockfile | |
run: cargo generate-lockfile | |
- name: Cargo cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run clippy | |
run: cargo clippy | |
miri: | |
name: Miri | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Miri | |
run: | | |
MIRI_NIGHTLY=nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri) | |
echo "Installing latest nightly with Miri: $MIRI_NIGHTLY" | |
rustup set profile minimal | |
rustup default "$MIRI_NIGHTLY" | |
rustup component add miri | |
- name: Cargo generate-lockfile | |
run: cargo generate-lockfile | |
- name: Cargo cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Run tests with all features | |
run: | | |
cargo miri test --all-features |