Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions .config/hakari.toml

This file was deleted.

61 changes: 21 additions & 40 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,36 +179,29 @@ jobs:
CARGO_BUILD_WARNINGS: deny
run: cargo clippy -p workshop -p workshop-server -p workshop-server-api --all-targets

- name: Test (workshop, concurrent via nextest)
run: cargo nextest run --locked -p workshop -p workshop-server -p workshop-server-api

# The trio run above does not execute a dependency's own tests, so the
# workspace jail's Windows paths (verbatim, UNC, junctions, alternate
# data streams, symlinks) need their own invocation. It stays separate
# because the trio never takes --all-features.
- name: Test (workshop-workspace, Windows jail)
run: cargo nextest run --locked -p workshop-workspace --all-features

# The headless feature swaps the webview asset layer for a no-op so
# server-only integration tests run without the UI bundle. It is not
# a default feature, so it needs its own invocation.
- name: Test (workshop-server headless)
run: cargo nextest run --locked -p workshop-server --features headless
# One build runs every Windows-only test: the Workshop crates' suites
# (the workspace jail's Windows paths included) and the gateway's
# process-ownership races, the only tests the filter selects from the
# gateway and gateway-api-discovery suites.
- name: Test (Windows)
shell: bash
run: >-
cargo nextest run --locked --no-default-features --features gateway/test-fixtures
-p workshop -p workshop-server -p workshop-server-api -p workshop-workspace
-p gateway-api-discovery -p gateway
-E 'package(workshop) | package(workshop-server) | package(workshop-server-api)
| package(workshop-workspace)
| (package(gateway-api-discovery) & test(a_process_lifetime_lease_recovers_after_its_owner_is_terminated))
| (package(gateway) & binary(it) & (test(simultaneous_direct_launches_leave_one_owner_and_one_clean_handoff)
| test(workshop_launch_lock_and_direct_launch_do_not_deadlock_or_double_boot)
| test(a_direct_launch_recovers_the_lease_from_a_terminated_owner)
| test(a_silent_process_lease_owner_causes_a_bounded_console_only_failure)))'

- name: Docs (workshop-server, private items)
env:
RUSTDOCFLAGS: -D warnings
run: cargo doc --locked --no-deps -p workshop-server --document-private-items

- name: Test Gateway process ownership races
shell: bash
run: |
cargo test --locked -p gateway-api-discovery a_process_lifetime_lease_recovers_after_its_owner_is_terminated
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it simultaneous_direct_launches_leave_one_owner_and_one_clean_handoff
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it workshop_launch_lock_and_direct_launch_do_not_deadlock_or_double_boot
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it a_direct_launch_recovers_the_lease_from_a_terminated_owner
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it a_silent_process_lease_owner_causes_a_bounded_console_only_failure

- name: Remove Gateway sidecar
if: always()
run: node tools/stage-gateway-sidecar.mjs remove --target x86_64-pc-windows-msvc
Expand Down Expand Up @@ -262,15 +255,6 @@ jobs:
- name: Build (workshop, Linux)
run: cargo build --locked -p workshop

- name: Test Gateway process ownership races
shell: bash
run: |
cargo test --locked -p gateway-api-discovery a_process_lifetime_lease_recovers_after_its_owner_is_terminated
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it simultaneous_direct_launches_leave_one_owner_and_one_clean_handoff
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it workshop_launch_lock_and_direct_launch_do_not_deadlock_or_double_boot
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it a_direct_launch_recovers_the_lease_from_a_terminated_owner
cargo test --locked -p gateway --no-default-features --features test-fixtures --test it a_silent_process_lease_owner_causes_a_bounded_console_only_failure

- name: Remove Gateway sidecar
if: always()
run: node tools/stage-gateway-sidecar.mjs remove --target x86_64-unknown-linux-gnu
Expand Down Expand Up @@ -339,22 +323,19 @@ jobs:

- uses: taiki-e/install-action@3f74d7c16a4242f1c95561e98edc25d36adb4375 # v2
with:
tool: cargo-deny, cargo-audit, cargo-hakari
tool: cargo-deny, cargo-audit

- name: cargo deny
run: cargo deny check

- name: cargo audit
run: cargo audit

- name: cargo hakari verify
run: cargo hakari verify

# The gateway holds vendor credentials, so it links exactly one rustls
# crypto backend, aws-lc-rs. This fails when `ring` re-enters its
# normal-edge closure (through a reqwest bump, a Tauri plugin default,
# or a hakari regeneration) and when `cargo tree` itself cannot run;
# only a successful, ring-free result passes.
# normal-edge closure (through a reqwest bump or a Tauri plugin default)
# and when `cargo tree` itself cannot run; only a successful, ring-free
# result passes.
- name: One rustls crypto backend in the gateway
shell: bash
run: |
Expand Down
Loading
Loading