Skip to content

Unbalanced mass-action ODE semantics #3148

Unbalanced mass-action ODE semantics

Unbalanced mass-action ODE semantics #3148

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
rust_tests:
name: rust tests
runs-on: ubuntu-latest
strategy:
matrix:
toolchain:
- stable
- beta
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Tests
run: |
rustup toolchain install ${{ matrix.toolchain }}
rustup default ${{ matrix.toolchain }}
cargo build --all-features --verbose
cargo test --all-features --verbose
rust_formatting:
name: rust formatting
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt
- name: Check formatting
run: |
cargo fmt --check -- --config=normalize_comments=true
rust_lints:
name: rust lints
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Check clippy warnings
run: |
cargo clippy --all-targets --all-features -- --deny warnings
check_rust_docs:
name: Build Rust docs
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Nix
uses: cachix/install-nix-action@v25
- name: Configure Cachix
uses: cachix/cachix-action@v14
with:
name: catcolab-jmoggr
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Check Rust docs
run: |
nix build .#rust-docs-check
ui_components_tests:
name: ui-components tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: 24
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Install Playwright browser
run: pnpm --filter ./packages/ui-components exec playwright install chromium
- name: Run ui-components tests
run: pnpm --filter ./packages/ui-components run test
npm_checks:
name: npm checks
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: 24
cache: "pnpm"
- name: Install NodeJS dependencies
run: |
pnpm install
- name: Format/linting/import sorting
run: |
pnpm --filter "./packages/*" run ci
build_nixos_system:
name: build NixOS system
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Nix
uses: cachix/install-nix-action@v25
- name: Configure Cachix
uses: cachix/cachix-action@v14
with:
name: catcolab-jmoggr
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Build the NixOS system for catcolab-next
run: nix build .#nixosConfigurations.catcolab-next.config.system.build.toplevel
backend_dev_setup:
name: backend dev setup
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup wasm-pack
uses: jetli/wasm-pack-action@v0.4.0
with:
version: 'v0.13.1'
- name: Run dev setup
run: |
docker run --name catcolab-postgres -e POSTGRES_USER=catcolab -e POSTGRES_PASSWORD=password -e POSTGRES_DB=catcolab -p 5432:5432 -d postgres:15
cd packages/backend
cp .env.development .env && cp .env.development ../migrator/.env
# due to how we are detecting deploy vs dev we need to clear this env variable
unset INVOCATION_ID
cargo run -p migrator apply
frontend_tests_with_backend:
name: frontend tests with backend
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Nix
uses: cachix/install-nix-action@v25
with:
install_url: https://releases.nixos.org/nix/nix-2.29.2/install
- name: Configure Cachix
uses: cachix/cachix-action@v14
with:
name: catcolab-jmoggr
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Run frontend tests with VM
run: |
nix build .#checks.x86_64-linux.frontendTests -L --no-sandbox