on:
  pull_request:
  push:
    branches: [main]
jobs:
  # run the automated tests, reporting success if the tests pass and were built
  # without warnings. the examples are run as tests, because we've configured
  # each example target with `test = true` and `harness = false` in Cargo.toml.
  # Trunk build failures caused by problems outside the Rust source code, like
  # missing assets, should be caught by `trunk_build_test`
  test:
    runs-on: docker
    container:
      image: cimg/rust:1.85-node
    defaults:
      run:
        # set the default working directory for each `run` step, relative to the
        # workspace directory. this default only affects `run` steps (and if we
        # tried to set the `working-directory` label for any other kind of step,
        # it wouldn't be recognized anyway)
        working-directory: app-proto
    steps:
      # check out the repository to the workspace directory. in the action
      # description, you can get and set the workspace directory through the
      # `github.workspace` and `env.GITHUB_WORKSPACE` labels, which always have
      # the same value. in the container, you can get the workspace directory
      # from the `GITHUB_WORKSPACE` environment variable
      - uses: https://code.forgejo.org/actions/checkout@v4
      
      - uses: ./.forgejo/setup-trunk
      - run: RUSTFLAGS='-D warnings' cargo test