ic-memory 0.25.1

Durable stable-memory allocation governance for Internet Computer canisters
Documentation
name: CI

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.12'
      - run: make test-release-flow
      - name: Read pinned Rust toolchain
        run: |
          python3 - <<'PYTHON' >> "$GITHUB_ENV"
          import tomllib
          from pathlib import Path
          toolchain = tomllib.loads(Path("rust-toolchain.toml").read_text())["toolchain"]
          print(f"RUSTUP_TOOLCHAIN={toolchain['channel']}")
          PYTHON
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ env.RUSTUP_TOOLCHAIN }}
          components: clippy, rustfmt
          targets: wasm32-unknown-unknown
      - run: make validate-toolchain

  msrv:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.12'
      - name: Read declared MSRV
        run: |
          python3 - <<'PYTHON' >> "$GITHUB_ENV"
          import tomllib
          from pathlib import Path
          package = tomllib.loads(Path("Cargo.toml").read_text())["package"]
          print(f"RUSTUP_TOOLCHAIN={package['rust-version']}")
          PYTHON
      - uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ env.RUSTUP_TOOLCHAIN }}
      - run: cargo check --all-targets