Fully implement the has_marker function #309
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: 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: | | |
cargo test -p paralegal-flow --test non_transitive_graph_tests | |
cargo test -p paralegal-flow --test call_chain_analysis_tests | |
cargo test -p paralegal-flow --test control_flow_tests | |
cargo test -p paralegal-flow --test new_alias_analysis_tests | |
cargo test -p paralegal-flow --test async_tests | |
cargo test -p paralegal-flow --test inline_elision_tests | |
cargo test -p paralegal-policy --lib -- flows_to | |
- name: Build Test Policies | |
run: | | |
cd props | |
cargo build --verbose | |
- name: Test Guide Project | |
run: | | |
cargo run | |
working-directory: guide/deletion-policy | |
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: cargo test -p paralegal-flow --test external_annotation_tests | |
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: Check main repo | |
run: cargo fmt --check | |
- name: Check properties | |
run: cargo fmt --check | |
working-directory: props | |
- name: Check Guide Project | |
run: cargo fmt --check | |
working-directory: guide/file-db-example | |
- name: Check Guide Policy | |
run: cargo fmt --check | |
working-directory: guide/deletion-policy | |
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: cargo clippy --all -- -D warnings | |
- name: Complaints about properties | |
run: cargo clippy --all -- -D warnings | |
working-directory: props | |
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: | | |
cargo rustdoc -p paralegal-spdg -- -Drustdoc::all | |
cargo rustdoc -p paralegal-policy -- -Drustdoc::all |