Make NodeType
s own their info (#120)
#429
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: Rust | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_BACKTRACE: 1 | |
FORGE_REVISION: aa2e8a67a8ff38db145dcb1a1aa5c02d0b851235 | |
racket_version: 8.1 | |
jobs: | |
compiler-tests: | |
name: Compiler Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
# just triggers rustup to download the toolchain | |
- name: Cache Toolchain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.rustup | |
key: ${{ runner.os }}-rust-toolchain-${{ hashFiles('rust-toolchain.toml') }} | |
- name: Cache Dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-rust-deps-${{ hashFiles('Cargo.lock', 'rust-toolchain.toml') }} | |
- name: Build | |
run: cargo install --locked --path crates/paralegal-flow --verbose | |
- name: Run tests | |
run: scripts/compiler-tests.sh | |
intergration-tests: | |
name: Integration Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build Compiler | |
run: cargo build --verbose | |
- name: Cache Racket dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/racket | |
~/.local/share/racket | |
key: ${{ runner.os }}-integration-tests-${{ env.racket_version }}-${{ env.FORGE_REVISION }} | |
- name: Install Racket | |
uses: Bogdanp/[email protected] | |
with: | |
architecture: 'x64' | |
distribution: 'full' | |
variant: 'CS' | |
version: ${{ env.racket_version }} | |
- name: Install Forge | |
run: | | |
cd .. | |
git clone https://github.com/tnelson/Forge | |
cd Forge | |
git checkout ${FORGE_REVISION} | |
cd forge | |
raco pkg install --auto || raco setup forge | |
- name: Run Tests | |
run: scripts/integration-tests.sh | |
format-check: | |
name: Format Control | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
# just triggers rustup to download the toolchain | |
- name: Cache Toolchain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.rustup | |
key: ${{ runner.os }}-rust-toolchain-${{ hashFiles('rust-toolchain.toml') }} | |
- name: Run checks | |
run: scripts/format.sh fmt-check | |
linting: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache Toolchain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.rustup | |
key: ${{ runner.os }}-rust-toolchain-${{ hashFiles('rust-toolchain.toml') }} | |
- name: Cache Dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-rust-deps-${{ hashFiles('Cargo.lock', 'rust-toolchain.toml') }} | |
- name: Here come the complaints | |
run: scripts/format.sh clippy-check | |
documentation: | |
name: Documentation Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Cache Toolchain | |
uses: actions/cache@v3 | |
with: | |
path: ~/.rustup | |
key: ${{ runner.os }}-rust-toolchain-${{ hashFiles('rust-toolchain.toml') }} | |
- name: Cache Dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-rust-deps-${{ hashFiles('Cargo.lock', 'rust-toolchain.toml') }} | |
- name: Here come the complaints | |
run: scripts/doc-check.sh |