Prototype a continuous integration workflow

This workflow is too spendthrift for deployment: every job sets up Rust,
and the `build` job also installs Trunk, which takes even more
resources. The workflow serves well, however, as a proof of concept.
Introducing a syntax error into `src/main.rs` causes the `build` and
`test` jobs to fail, but allows `run-examples` to succeed. Similarly,
introducing a syntax error into `examples/point-on-sphere.rs` causes
`run-examples` to fail, but allows the other jobs to succeed.
This commit is contained in:
Aaron Fenyes 2025-03-06 22:24:52 -08:00
parent d243f19e25
commit bbfdf2b87f
3 changed files with 47 additions and 0 deletions

View file

@ -0,0 +1,25 @@
on:
pull_request:
push:
branches: [main]
jobs:
build:
runs-on: docker
steps:
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/setup-rust
- run: rustup target add wasm32-unknown-unknown
- run: cargo install trunk
- run: cd app-proto; trunk build
test:
runs-on: docker
steps:
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/setup-rust
- run: cd app-proto; cargo test
run-examples:
runs-on: docker
steps:
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/setup-rust
- uses: ./.forgejo/run-examples