add forgejo CI

Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
Ava Apples Affine 2025-07-17 14:52:47 -07:00
parent 0476160ae3
commit c51baaa37d

View file

@ -0,0 +1,81 @@
name: per-push tests
on:
push:
branches:
- main
pull_request:
pull_request_target:
types:
- opened
- synchronized
- reopened
jobs:
build-components:
runs-on: docker
container:
image: rustlang/rust:nightly
steps:
- name: checkout code
uses: actions/checkout@v4
- name: compile components
run: |
cargo build --lib
cargo build --bin decomposer
test-frontend:
needs: [build]
runs-on: docker
container:
image: rustlang/rust:nightly
steps:
- name: checkout code
uses: actions/checkout@v4
- name: test lexer
run: cargo test lexer
- name: test parser
run: cargo test parser
timed-decomposer-parse:
needs: [test-frontend]
runs-on: docker
container:
image: rustlang/rust:nightly
steps:
- name: checkout code
uses: actions/checkout@v4
- 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
container:
image: rustlang/rust:nightly
steps:
- name: checkout code
users: actions/checkout@v4
- 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
container:
image: rustlang/rust:nightly
steps:
- name: checkout code
uses: actions/checkout@v4
- name: test instruction decoding
run: cargo test util # this is instruction decoding code