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
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: CI

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review, converted_to_draft, closed]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Document the draft-job policy and update the changelog

This changes when mandatory CI and MV3 compatibility evidence runs, but none of the four changed files documents the new Draft/Ready lifecycle or updates CHANGELOG.md. Without that record, maintainers can mistake Draft-state skipped jobs for verification evidence or miss that ready_for_review is the point at which exact-head checks restart; add the operational documentation and changelog entry required for every change.

AGENTS.md reference: AGENTS.md:L11-L18

Useful? React with 👍 / 👎.

push:
branches: [main]

Expand All @@ -14,6 +15,7 @@ concurrency:

jobs:
rust:
if: ${{ github.event_name != 'pull_request' || (github.event.action != 'closed' && github.event.pull_request.draft == false) }}
name: Rust contracts
runs-on: ubuntu-24.04
steps:
Expand Down Expand Up @@ -62,6 +64,7 @@ jobs:
run: cargo doc --locked --workspace --no-deps

coverage:
if: ${{ github.event_name != 'pull_request' || (github.event.action != 'closed' && github.event.pull_request.draft == false) }}
name: Production coverage
runs-on: ubuntu-24.04
steps:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/mv3-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ name: Manifest V3 Compatibility
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize, reopened, ready_for_review, converted_to_draft, closed]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Cancel MV3 runs outside the path-filtered trigger

When a PR previously triggered this 20-minute lane but its latest diff no longer contains an MV3 path—for example, a follow-up commit reverts those changes—the paths filter prevents the new synchronize, converted_to_draft, or closed workflow run from being created, so the run never reaches this concurrency group and the older MV3 job keeps occupying its runner. GitHub documents that paths controls whether a pull_request workflow runs; handle lifecycle cancellation through an unfiltered trigger so reverted Draft or closed PRs also cancel stale runs.

Useful? React with 👍 / 👎.

paths:
- ".github/workflows/mv3-compatibility.yml"
- "crates/originweave-core/**"
Expand All @@ -20,6 +21,7 @@ concurrency:

jobs:
chrome-for-testing:
if: ${{ github.event_name != 'pull_request' || (github.event.action != 'closed' && github.event.pull_request.draft == false) }}
name: Pinned Chrome for Testing MV3 fixture
runs-on: ubuntu-24.04
timeout-minutes: 20
Expand Down
5 changes: 5 additions & 0 deletions tests/test_mv3_compatibility_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,11 @@ def test_workflow_runs_the_real_browser_lane_without_model_credentials(self) ->
self.assertIn("${{ github.workflow }}-${{ github.repository }}", workflow)
self.assertIn("${{ github.event.pull_request.number || github.run_id }}", workflow)
self.assertIn("cancel-in-progress: ${{ github.event_name == 'pull_request' }}", workflow)
self.assertIn(
"types: [opened, synchronize, reopened, ready_for_review, converted_to_draft, closed]",
workflow,
)
self.assertIn("github.event.pull_request.draft == false", workflow)

def test_doctoring_records_primary_chromium_evidence(self) -> None:
"""The exact browser baseline and non-compatibility claims must be documented."""
Expand Down
5 changes: 5 additions & 0 deletions tests/test_repository_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,11 @@ def test_ci_validates_the_exact_pull_request_head(self) -> None:
self.assertIn("${{ github.workflow }}-${{ github.repository }}", workflow)
self.assertIn("${{ github.event.pull_request.number || github.run_id }}", workflow)
self.assertIn("cancel-in-progress: ${{ github.event_name == 'pull_request' }}", workflow)
self.assertIn(
"types: [opened, synchronize, reopened, ready_for_review, converted_to_draft, closed]",
workflow,
)
self.assertEqual(workflow.count("github.event.pull_request.draft == false"), 2)
self.assertNotIn("cargo check --locked --workspace --all-targets", workflow)

def test_hourly_loop_uses_nvidia_nim_and_dedicated_publication_authority(self) -> None:
Expand Down
Loading