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/check-internal-links.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ name: Internal Links
# gate deterministic and free of network flakiness.

on:
# Dispatched by the refresh workflows on the PR branch: PRs opened with
# GITHUB_TOKEN need explicit CI dispatches (#335, #337, #513).
workflow_dispatch:
pull_request:
branches: [main]
paths:
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/hive-docs-refresh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ env:
# Workflows whose jobs are the required status checks on main. Each must
# declare `on: workflow_dispatch` so this run can trigger them on the PR
# branch (see "Trigger required checks" below).
REQUIRED_CHECK_WORKFLOWS: build.yml typecheck.yml vitest.yml npm-audit.yml
REQUIRED_CHECK_WORKFLOWS: build.yml typecheck.yml vitest.yml npm-audit.yml check-internal-links.yml markdownlint-cli2.yml

jobs:
refresh:
Expand Down Expand Up @@ -64,8 +64,9 @@ jobs:

This PR was opened with `GITHUB_TOKEN`, so GitHub does not start
`pull_request` workflows for it. The refresh run instead dispatches
Build, TypeScript & Lint Check, Vitest and npm audit on the PR
branch; their check-runs land on the head SHA as usual.
Build, TypeScript & Lint Check, Vitest, npm audit, Internal Links
and Markdown Lint on the PR branch; their check-runs land on the
head SHA as usual.

Refresh run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/markdownlint-cli2.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: Markdown Lint

on:
# Dispatched by the refresh workflows on the PR branch: PRs opened with
# GITHUB_TOKEN need explicit CI dispatches (#335, #337, #513).
workflow_dispatch:
pull_request:
branches: [main]
paths:
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/meeting-recordings-refresh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ env:
# Workflows whose jobs are the required status checks on main. Each must
# declare `on: workflow_dispatch` so this run can trigger them on the PR
# branch (see "Trigger required checks" below).
REQUIRED_CHECK_WORKFLOWS: build.yml typecheck.yml vitest.yml npm-audit.yml
REQUIRED_CHECK_WORKFLOWS: build.yml typecheck.yml vitest.yml npm-audit.yml check-internal-links.yml markdownlint-cli2.yml

jobs:
refresh:
Expand Down Expand Up @@ -59,8 +59,9 @@ jobs:

This PR was opened with `GITHUB_TOKEN`, so GitHub does not start
`pull_request` workflows for it. The refresh run instead dispatches
Build, TypeScript & Lint Check, Vitest and npm audit on the PR
branch; their check-runs land on the head SHA as usual.
Build, TypeScript & Lint Check, Vitest, npm audit, Internal Links
and Markdown Lint on the PR branch; their check-runs land on the
head SHA as usual.

Refresh run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}

Expand Down
2 changes: 2 additions & 0 deletions changelog.d/fixed-513-refresh-required-checks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Refresh PRs now dispatch Internal Links and Markdown Lint alongside the other
required checks, avoiding missing checks that stall automated merges (#513).
13 changes: 13 additions & 0 deletions src/__tests__/refresh-workflow-dispatch.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,19 @@ describe.each(REFRESH_WORKFLOWS)("%s dispatches required checks", refresh => {
expect(required!.length).toBeGreaterThan(0);
});

it("includes every required PR check, including path-filtered checks", () => {
expect(required).toEqual(
expect.arrayContaining([
"build.yml",
"typecheck.yml",
"vitest.yml",
"npm-audit.yml",
"check-internal-links.yml",
"markdownlint-cli2.yml",
])
);
});

it("iterates that list in the dispatch step", () => {
expect(yaml).toMatch(/for wf in \$REQUIRED_CHECK_WORKFLOWS;/);
expect(yaml).toMatch(/gh workflow run "\$wf"/);
Expand Down
Loading