Skip to content

Traverse mixed variance in Functor derivation #2022

Traverse mixed variance in Functor derivation

Traverse mixed variance in Functor derivation #2022

Workflow file for this run

name: Cargo Build & Test
on:
push:
branches:
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
build_and_test:
name: Compilation
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
toolchain:
- stable
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install Rust toolchain
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
- name: Cache build artifacts
uses: Swatinem/rust-cache@v2.9.1
with:
cache-bin: "false"
prefix-key: "v7-nextest-workspace-${{ matrix.os }}-${{ matrix.toolchain }}"
- name: Install tools
uses: taiki-e/install-action@v2.85.4
with:
tool: cargo-nextest
- name: Build workspace
run: cargo build --workspace --verbose
- name: Run workspace tests
run: cargo nextest run
- name: Run integration tests
run: cargo nextest run -p tests-integration
wasm:
name: Compilation (docs-lib)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install Rust toolchain
run: rustup update stable && rustup default stable && rustup target add wasm32-unknown-unknown
- name: Cache build artifacts
uses: Swatinem/rust-cache@v2.9.1
with:
cache-bin: "false"
prefix-key: "v1-wasm"
- name: Check Wasm crates
run: cargo check -p analyzer -p docs-lib --target wasm32-unknown-unknown
coverage:
name: Coverage
runs-on: ubuntu-latest
strategy:
matrix:
toolchain:
- stable
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install Rust toolchain
run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
- name: Cache build artifacts
uses: Swatinem/rust-cache@v2.9.1
with:
cache-bin: "false"
prefix-key: "v7-nextest-workspace-${{ matrix.toolchain }}"
- name: Install tools
uses: taiki-e/install-action@v2.85.4
with:
tool: cargo-nextest,cargo-llvm-cov,just
- name: Build and Test
run: |
cargo build --workspace --verbose
just coverage
just coverage-codecov
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v7
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: purefunctor/purescript-alexandrite
files: codecov.json
formatting:
name: Formatting
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Install Rust toolchain
run: rustup update nightly && rustup component add rustfmt --toolchain nightly
- name: Install tools
uses: taiki-e/install-action@v2.85.4
with:
tool: just
- name: Run formatter
run: just format --check