diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml new file mode 100644 index 0000000..904079d --- /dev/null +++ b/.forgejo/workflows/test.yml @@ -0,0 +1,48 @@ +on: [push] +jobs: + build-components: + runs-on: docker + container: rustlang/rust:nightly + steps: + - uses: actions/checkout@v4 + - run: | + cargo build --lib + cargo build --bin decomposer + + test-frontend: + needs: [build] + runs-on: docker + container: rustlang/rust:nightly + steps: + - uses: actions/checkout@v4 + - cargo test lexer + - cargo test parser + + timed-decomposer-parse: + needs: [test-frontend] + runs-on: docker + container: rustlang/rust:nightly + steps: + - uses: actions/checkout@v4 + - cargo build --bin decomposer + - curl https://raw.githubusercontent.com/ecraven/r7rs-benchmarks/refs/heads/master/src/compiler.scm --output test.scm + - cargo run --bin decomposer -- -t test.scm + + test-utility: + needs: [build] + runs-on: docker + container: rustlang/rust:nightly + steps: + - users: actions/checkout@v4 + - cargo test number + - cargo test stackstack + - cargo test hmap + + test-backend: + needs: [build] + runs-on: docker + container: rustlang/rust:nightly + steps: + - uses: actions/checkout@v4 + - cargo test util # this is instruction decoding code +