Mycelium/.forgejo/workflows/test.yml
Ava Affine 3a06e40e9d
Some checks failed
per-push tests / test-frontend (push) Blocked by required conditions
per-push tests / timed-decomposer-parse (push) Blocked by required conditions
per-push tests / test-utility (push) Blocked by required conditions
per-push tests / test-backend (push) Blocked by required conditions
per-push tests / build (push) Has been cancelled
WIP ISA Unit tests
Signed-off-by: Ava Affine <ava@sunnypup.io>
2025-08-07 21:06:13 +00:00

84 lines
2.2 KiB
YAML

name: "per-push tests"
on:
push:
branches:
- main
pull_request:
pull_request_target:
types:
- opened
- synchronized
- reopened
jobs:
build:
runs-on: docker
steps:
- name: checkout code
uses: actions/checkout@v4
- name: setup rust toolchain
uses: msrd0/rust-toolchain@nightly
- name: compile components
run: |
cargo build --lib
cargo build --bin decomposer
test-frontend:
needs: [build]
runs-on: docker
steps:
- name: checkout code
uses: actions/checkout@v4
- name: setup rust toolchain
uses: msrd0/rust-toolchain@nightly
- name: test lexer
run: cargo test lexer
- name: test parser
run: cargo test parser
timed-decomposer-parse:
needs: [test-frontend]
runs-on: docker
steps:
- name: checkout code
uses: actions/checkout@v4
- name: setup rust toolchain
uses: msrd0/rust-toolchain@nightly
- name: build decomposer
run: cargo build --bin decomposer
- name: download test scheme source
run: curl https://raw.githubusercontent.com/ecraven/r7rs-benchmarks/refs/heads/master/src/compiler.scm --output test.scm
- name: time parsing of test source
run: cargo run --bin decomposer -- -t test.scm
test-utility:
needs: [build]
runs-on: docker
steps:
- name: checkout code
uses: actions/checkout@v4
- name: setup rust toolchain
uses: msrd0/rust-toolchain@nightly
- name: test number package
run: cargo test number
- name: test double stack data type
run: cargo test stackstack
- name: test hashmap data type
run: cargo test hmap
test-backend:
needs: [build]
runs-on: docker
steps:
- name: checkout code
uses: actions/checkout@v4
- name: setup rust toolchain
uses: msrd0/rust-toolchain@nightly
- name: test instruction decoding
run: cargo test util
- name: test garbage collection
run: cargo test heap
- name: test instruction set implementation
run: cargo test isa_