web: Clear stale submitted prompts on session reload #161
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| # Primary CI: lint, unit tests, and integration tests on a single runner | |
| # with podman available (via bootc-ubuntu-setup). | |
| ci: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup host (newer podman, just) | |
| uses: bootc-dev/actions/bootc-ubuntu-setup@main | |
| # Docker is pre-installed on GHA runners and its socket at | |
| # /run/docker.sock shadows the podman socket. Tests that use | |
| # `podman --url` fail with 404 against Docker's API. | |
| - name: Stop Docker (tests use podman) | |
| run: sudo systemctl stop docker.socket docker.service && sudo rm -f /run/docker.sock | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Check formatting | |
| run: cargo fmt -- --check | |
| # Gate on clippy correctness and suspicious lints only. | |
| # The full set of warnings in Cargo.toml [workspace.lints] is for | |
| # local development awareness; CI should not block on style lints. | |
| - name: Clippy | |
| run: cargo clippy --workspace -- -A clippy::all -D clippy::correctness -D clippy::suspicious -Dunused_imports -Ddead_code | |
| - name: Unit tests | |
| run: just test | |
| - name: Pull test image | |
| run: podman pull ghcr.io/bootc-dev/devenv-debian:latest | |
| - name: Integration tests (containerized) | |
| run: just test-integration | |
| # Debug run: re-run only the failing tests with verbose output | |
| - name: Debug failing tests (host mode) | |
| if: failure() | |
| run: | | |
| DEVAIPOD_PATH="${PWD}/target/debug/devaipod" \ | |
| DEVAIPOD_HOST_MODE=1 \ | |
| RUST_LOG=devaipod=debug \ | |
| cargo test -p integration-tests -- test_harness_completion_status_e2e --nocapture 2>&1 || true | |
| # Check for security vulnerabilities and license compliance | |
| cargo-deny: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| with: | |
| log-level: warn | |
| command: check advisories licenses sources | |
| # Test the devcontainer feature install script syntax | |
| shellcheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install shellcheck | |
| run: sudo apt-get install -y shellcheck | |
| - name: Check install.sh | |
| run: shellcheck features/src/devaipod/install.sh |