Skip to content
Closed
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
8 changes: 8 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ jobs:
key: clippy-${{ hashFiles('**/Cargo.lock') }}
restore-keys: clippy-
- id: clippy
# Steps with `id:` end up with `bash -e {0}` (no pipefail) on this runner,
# so `... | tee` would silently mask failures. Force pipefail on.
shell: bash --noprofile --norc -eo pipefail {0}
run: cargo clippy --workspace --all-targets -- -D warnings 2>&1 | tee /tmp/clippy.log
- name: Surface clippy failure
if: failure() && steps.clippy.conclusion == 'failure'
Expand Down Expand Up @@ -73,6 +76,7 @@ jobs:
key: test-${{ hashFiles('**/Cargo.lock') }}
restore-keys: test-
- id: test
shell: bash --noprofile --norc -eo pipefail {0}
run: cargo test --workspace 2>&1 | tee /tmp/test.log
- name: Surface test failure
if: failure() && steps.test.conclusion == 'failure'
Expand Down Expand Up @@ -130,6 +134,10 @@ jobs:
with:
tool: wasm-pack
- id: browser
# `bash -e {0}` (default) does NOT enable pipefail, so `wasm-pack ... | tee`
# would silently mask failures (tee always exits 0). Use an explicit shell
# invocation that turns pipefail on so the link/test exit code surfaces.
shell: bash --noprofile --norc -eo pipefail {0}
run: wasm-pack test --headless --firefox crates/web 2>&1 | tee /tmp/browser.log
- name: Surface browser-test failure
if: failure() && steps.browser.conclusion == 'failure'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ jobs:

- name: Run full E2E flow (setup + tests + teardown)
id: e2e
shell: bash --noprofile --norc -eo pipefail {0}
run: just test-e2e-full 2>&1 | tee /tmp/e2e.log
- name: Surface E2E failure
if: failure() && steps.e2e.conclusion == 'failure'
Expand Down
Loading