From 2c46d6242990610e04933ad9b16f776baeec2915 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Sat, 3 Oct 2026 07:47:02 +0200 Subject: [PATCH] ci: run the simulation runs outside pull requests A `simulation` job runs the seeded simulation runs of docs/MILESTONE-3.0.0.md section 8.2 on pushes to main and manual runs. They mount FUSE against the in-memory FakeDrive, so they need fuse3 but no account. Like the acceptance suite they stay off pull requests. The job has a 30 minute limit, and the runs' own watchdog turns a hang into a failed seed well inside it. --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 249d9e7..cdb090b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -64,6 +64,43 @@ jobs: # Real Proton credentials and /dev/fuse deliberately do not run on pull # requests. Follow docs/TESTING.md on a dedicated test-account runner. + # The seeded simulation runs (docs/MILESTONE-3.0.0.md ยง8.2): real FUSE + # daemons against an in-memory Drive, so they need /dev/fuse but no account. + simulation: + if: github.event_name != 'pull_request' + runs-on: ubuntu-24.04 + timeout-minutes: 30 + + steps: + - uses: actions/checkout@v7 + + - name: Install native dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + pkg-config \ + fuse3 \ + libfuse3-dev \ + libgtk-4-dev \ + libadwaita-1-dev \ + libwebkitgtk-6.0-dev \ + libsecret-1-dev \ + libdbus-1-dev + + - name: Install minimum supported Rust + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: '1.96' + cache: false + + - uses: swatinem/rust-cache@v2 + with: + shared-key: debug + save-if: false + + - name: Simulation runs + run: cargo test -p pdfs-fuse --lib --locked sim:: -- --ignored --test-threads=1 + # Keeps the release-profile dependencies cached on main, where the release # workflow can restore them; a tag cannot reuse the caches of earlier tags. release-cache: