Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
b2b77a8
Add CHANGELOG.md modification check and warning comment
mario-campos Oct 8, 2026
fbd33ac
Gate comment-post step on successful fetch-base
mario-campos Oct 8, 2026
43ac64c
Use `gh api` instead of third-party Action
mario-campos Oct 8, 2026
f7aa9dc
Move post-comment step to `post-pr-comments` job
mario-campos Oct 8, 2026
780e947
Skip CHANGELOG.md modification warning for release and backport PRs
mario-campos Oct 8, 2026
ae75d46
Exclude "Mergeback" and "Update default bundle" PRs from CHANGELOG.md…
mario-campos Oct 8, 2026
6e4d3fb
Use a sticky comment to warn about CHANGELOG.md changes
mario-campos Oct 8, 2026
d97a656
Update CHANGELOG.md warning message to reference change-notes directory
mario-campos Oct 8, 2026
ccdf690
Escape backticks PR comment body
mario-campos Oct 8, 2026
928548a
Refine exclusion conditions for CHANGELOG-modification comment
mario-campos Oct 8, 2026
0707124
Delete CHANGELOG.md-modification comment if CHANGELOG.md no longer mo…
mario-campos Oct 8, 2026
27d37d9
Format all file references as inline Markdown code spans
mario-campos Oct 8, 2026
9fe741e
Simplify `if` condition of CHANGELOG-comment-post step
mario-campos Oct 8, 2026
8c8b082
Add script and Action for managing PR comments
mario-campos Oct 9, 2026
14cefaa
Replace bash/run step with local Action `post-comment`
mario-campos Oct 9, 2026
4d464b0
Improve issue ID parsing and validation logic
mario-campos Oct 9, 2026
3c452a1
Use HTTP link to `unreleased-change-notes/README.md`
mario-campos Oct 9, 2026
f1419b8
Reject empty `--marker`
mario-campos Oct 9, 2026
e7dadca
Refactor comment handling logic into `performAction` for improved tes…
mario-campos Oct 9, 2026
ae9f97b
Make post-comment marker configurable
mario-campos Oct 28, 2026
90d1bc9
Remove bespoke post-comment argument validation
mario-campos Oct 28, 2026
ae23865
Move comment branching into workflow steps
mario-campos Oct 28, 2026
9448877
Simplify post-comment to a single set-comment mode
mario-campos Oct 28, 2026
03137fc
Rename changelog outputs to modified
mario-campos Oct 28, 2026
36f220a
Remove unused post-comment step IDs
mario-campos Oct 28, 2026
c069d49
Test sticky comments using observable state
mario-campos Oct 28, 2026
afaf324
Move `resolveToken` to `pr-checks/api-client.ts`
mario-campos Oct 29, 2026
3fb676f
Use existing `RepositoryNwo` type
mario-campos Oct 29, 2026
56fa196
Use YAML multiline string for the Action's inputs' descriptions
mario-campos Oct 29, 2026
2902eea
Checkout `main` instead of PR's base for the `post-pr-comments` job
mario-campos Oct 29, 2026
87cac24
Avoid sparse checkout
mario-campos Oct 29, 2026
5bb3554
Make input-validation assertions more granular
mario-campos Oct 29, 2026
f13bcf3
Warn if more than one marked comment was found
mario-campos Oct 29, 2026
19e1ab5
Update `pr-checks/post-comment.ts` description comment
mario-campos Oct 29, 2026
9359b6b
Wrap `--marker` argument in HTML comment tags automatically
mario-campos Oct 29, 2026
e965148
Avoid non-null assertion operators by asserting arguments
mario-campos Oct 29, 2026
94f0998
Avoid creating resolved comments without an existing warning
mario-campos Oct 29, 2026
1304cc4
Potential fix for pull request finding 'CodeQL / Missing space in str…
mario-campos Oct 29, 2026
68a9dcb
Prefer `== true` over `!= false`
mario-campos Oct 30, 2026
1a18e90
Merge branch 'main' into mario-campos/warn-on-changelog-write
mario-campos Oct 30, 2026
a587867
Update `actions/setup-node` action to version 7.1.0
mario-campos Oct 30, 2026
0bc39f9
Prefer last comment when there are multiple to choose from
mario-campos Oct 30, 2026
b25bc2e
Change `RepositoryNwo` import to `type`
mario-campos Oct 30, 2026
8ba2b06
Use `parseRepositoryNwo` instead of splitting manually
mario-campos Oct 30, 2026
eec6442
Make precedence explicit with parens
mario-campos Oct 30, 2026
97a381d
Split long line
mario-campos Oct 30, 2026
9de5eac
Make error a bit clearer and more actionable
mario-campos Oct 30, 2026
d715939
Replace `--create-if-missing` to `--update-only`
mario-campos Oct 30, 2026
4094755
Polish `post-comment.ts` usage comment
mario-campos Nov 2, 2026
9d1378f
Use new `case` expression for evaluating conditional `--update-only` …
mario-campos Nov 2, 2026
05870b6
Defer workflow activation to a follow-up PR
mario-campos Nov 3, 2026
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
41 changes: 41 additions & 0 deletions .github/actions/post-comment/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: "Post comment"
description: "Create or update a sticky PR comment identified by a caller-provided marker."
inputs:
marker:
description: >
Non-empty plain-text identifier for the comment. Use a unique, stable value
for each distinct comment; it is automatically wrapped in a hidden HTML comment.
required: true
body:
description: "Full comment markdown."
required: true
update-only:
description: Do nothing if no comment with the specified marker exists.
required: false
default: "false"
issue-id:
description: >
The issue or pull request number to post/update the comment on.
Defaults to the current pull request if not provided.
required: false
token:
description: "The GitHub token to authenticate with."
required: true
runs:
using: composite
steps:
- name: Post comment
shell: bash
env:
BODY: ${{ inputs.body }}
MARKER: ${{ inputs.marker }}
UPDATE_ONLY: ${{ case(inputs.update-only == 'true', '--update-only', '') }}
GH_TOKEN: ${{ inputs.token }}
ISSUE_ID: ${{ inputs.issue-id || github.event.pull_request.number }}
run: |
npx tsx ./pr-checks/post-comment.ts \
Comment thread
mario-campos marked this conversation as resolved.
Resolved
--body "$BODY" \
--marker "$MARKER" \
$UPDATE_ONLY \
--issue-id "$ISSUE_ID" \
--repository "$GITHUB_REPOSITORY"
11 changes: 11 additions & 0 deletions pr-checks/api-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,14 @@ export function getApiClient(token: string): ApiClient {
const opts = githubUtils.getOctokitOptions(token);
return new githubUtils.GitHub(opts);
}

/** Resolves the GitHub API token to use, from `GH_TOKEN` or `GITHUB_TOKEN`. */
export function resolveToken(env: NodeJS.ProcessEnv): string {
const token = env.GH_TOKEN?.trim() || env.GITHUB_TOKEN?.trim();
if (!token) {
throw new Error(
"Missing authentication token. Set GH_TOKEN or GITHUB_TOKEN.",
);
}
return token;
}
Loading
Loading