You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by gi...@apache.org on 2026/06/10 03:22:16 UTC
(texera) branch gh-readonly-queue/main/pr-5317-07ca5d4cd6efebf2de284a599db1e88f2a778c08 created (now d134634e51)
This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a change to branch gh-readonly-queue/main/pr-5317-07ca5d4cd6efebf2de284a599db1e88f2a778c08
in repository https://gitbox.apache.org/repos/asf/texera.git
at d134634e51 ci: Compact first-time contributor welcome and stop issue-link pollution (#5317)
This branch includes the following new commits:
new d134634e51 ci: Compact first-time contributor welcome and stop issue-link pollution (#5317)
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(texera) 01/01: ci: Compact first-time contributor welcome and stop issue-link pollution (#5317)
Posted by gi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/main/pr-5317-07ca5d4cd6efebf2de284a599db1e88f2a778c08
in repository https://gitbox.apache.org/repos/asf/texera.git
commit d134634e51104cd1bd6ad4a5b00d3ba1796b0e9c
Author: Matthew B. <mg...@uci.edu>
AuthorDate: Tue Jun 9 20:21:55 2026 -0700
ci: Compact first-time contributor welcome and stop issue-link pollution (#5317)
### What changes were proposed in this PR?
Reworks the first-time-contributor welcome comment posted by
`welcome-first-time-contributor.yml`.
- Rewrote the welcome message: an opening pointer to `starter-task`
issues for newcomers, plus clearer full-sentence guidance for the three
comment-command groups (issues, sub-issues, pull requests).
- Wrapped every issue reference in inline code so GitHub no longer
autolinks the examples (these previously created cross-reference
backlinks into real issues each time the welcome fired) and switched the
examples to the self-referential `#5166` and `#5222`.
- Moved the message body out of the workflow `.yml` and into
`.github/welcome-first-time-contributor.txt`, read at runtime via a
sparse checkout and rendered by substituting `{{author}}`, `{{owner}}`,
and `{{repo}}`.
The rendered message a first-time contributor now sees:
> 👋 Thanks for your first contribution to Texera, @<author>!
>
> If you're looking for a good place to start, browse issues labeled
[`starter-task`](https://github.com/apache/texera/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task);
they're scoped to be approachable for newcomers.
>
> You can drive common housekeeping yourself by commenting one of these
commands on its own line:
>
> - **Issues.** Comment `/take` to assign an open issue to yourself, or
`/untake` to release it. You can find unclaimed work with the search
filter `is:issue is:open no:assignee`.
> - **Sub-issues.** To link issues into a parent/child hierarchy,
comment `/sub-issue #5166 #5222` on the parent to attach those children
(or `/unsub-issue #5166 #5222` to detach them). From a child issue,
comment `/parent-issue #5166` to set its parent, or `/unparent-issue` to
clear it (the current parent is detected automatically). References may
be written as `#5166` or as a bare `5166`; cross-repository references
are not supported.
> - **Pull requests (author only).** Comment `/request-review @user` to
request a review from someone, or `/unrequest-review @user` to withdraw
that request.
>
> Each command must match exactly: `/take this` will not work, only
`/take` does. For the full contribution flow, see
[CONTRIBUTING.md](https://github.com/apache/texera/blob/main/CONTRIBUTING.md).
### Any related issues, documentation, or discussions?
Closes: #5315
### How was this PR tested?
- Cross-referenced every command claim against `comment-commands.yml`
for accuracy.
- Simulated the runtime substitution locally (read the `.txt`, replaced
the placeholders, prepended the idempotency marker) and confirmed the
output matches the message above with no leftover placeholders.
- Confirmed via GitHub docs that `#N` inside inline code is not
autolinked, and verified zero bare `#N` remain in the message body.
### Was this PR authored or co-authored using generative AI tooling?
Co-authored with Claude Opus 4.8 in compliance with ASF
---
.github/welcome-first-time-contributor.txt | 11 ++++
.../workflows/welcome-first-time-contributor.yml | 61 ++++++++--------------
2 files changed, 32 insertions(+), 40 deletions(-)
diff --git a/.github/welcome-first-time-contributor.txt b/.github/welcome-first-time-contributor.txt
new file mode 100644
index 0000000000..e7e01d6462
--- /dev/null
+++ b/.github/welcome-first-time-contributor.txt
@@ -0,0 +1,11 @@
+👋 Thanks for your first contribution to Texera, @{{author}}!
+
+If you're looking for a good place to start, browse issues labeled [`starter-task`](https://github.com/{{owner}}/{{repo}}/issues?q=is%3Aissue+is%3Aopen+label%3Astarter-task); they're scoped to be approachable for newcomers.
+
+You can drive common housekeeping yourself by commenting one of these commands on its own line:
+
+- **Issues.** Comment `/take` to assign an open issue to yourself, or `/untake` to release it. You can find unclaimed work with the search filter `is:issue is:open no:assignee`.
+- **Sub-issues.** To link issues into a parent/child hierarchy, comment `/sub-issue #5166 #5222` on the parent to attach those children (or `/unsub-issue #5166 #5222` to detach them). From a child issue, comment `/parent-issue #5166` to set its parent, or `/unparent-issue` to clear it (the current parent is detected automatically). References may be written as `#5166` or as a bare `5166`; cross-repository references are not supported.
+- **Pull requests (author only).** Comment `/request-review @user` to request a review from someone, or `/unrequest-review @user` to withdraw that request.
+
+Each command must match exactly: `/take this` will not work, only `/take` does. For the full contribution flow, see [CONTRIBUTING.md](https://github.com/{{owner}}/{{repo}}/blob/main/CONTRIBUTING.md).
diff --git a/.github/workflows/welcome-first-time-contributor.yml b/.github/workflows/welcome-first-time-contributor.yml
index df67bebce0..5e85ff30b3 100644
--- a/.github/workflows/welcome-first-time-contributor.yml
+++ b/.github/workflows/welcome-first-time-contributor.yml
@@ -44,6 +44,16 @@ jobs:
if: github.event.sender.type != 'Bot'
runs-on: ubuntu-latest
steps:
+ # Check out the base ref (pull_request_target / issues both resolve to
+ # the trusted base branch, never the fork head) so we can read the
+ # welcome message template below. The template lives in its own .txt
+ # file so editing the wording does not trigger a full CI run; see the
+ # `ci` label exclusion in .github/labeler.yml.
+ - uses: actions/checkout@v5
+ with:
+ persist-credentials: false
+ sparse-checkout: .github/welcome-first-time-contributor.txt
+ sparse-checkout-cone-mode: false
- uses: actions/github-script@v8
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -104,46 +114,17 @@ jobs:
return;
}
- const body = [
- MARKER,
- `👋 Thanks for your first contribution to Texera, @${author}!`,
- ``,
- `You can drive common housekeeping tasks just by leaving a comment. Type the command on its own line.`,
- ``,
- `### On issues`,
- ``,
- `| Command | What it does |`,
- `|---|---|`,
- `| \`/take\` | Assign the issue to yourself (self-claim it) |`,
- `| \`/untake\` | Remove yourself as assignee |`,
- ``,
- `To find unclaimed work, search \`is:issue is:open no:assignee\` — there's no "triage" label; the search filter *is* the triage state.`,
- ``,
- `### Linking sub-issues`,
- ``,
- `| Command | Where to run it | What it does |`,
- `|---|---|---|`,
- `| \`/sub-issue #12 #13\` | On the **parent** | Links #12 and #13 as children of this issue |`,
- `| \`/unsub-issue #12 #13\` | On the **parent** | Unlinks those children |`,
- `| \`/parent-issue #5\` | On the **child** | Sets #5 as this issue's parent |`,
- `| \`/unparent-issue\` | On the **child** | Removes this issue's parent (auto-detected) |`,
- `| \`/unparent-issue #5\` | On the **child** | Removes parent #5 explicitly |`,
- ``,
- `You can write references as \`#12\` or bare \`12\`. Cross-repo references like \`owner/repo#12\` aren't supported and are ignored.`,
- ``,
- `### On pull requests (author only)`,
- ``,
- `| Command | What it does |`,
- `|---|---|`,
- `| \`/request-review @user [@user ...]\` | Request reviews from those users |`,
- `| \`/unrequest-review @user [@user ...]\` | Cancel those review requests |`,
- ``,
- `You can mention teams as \`@org/team\`, and \`@copilot\` works too. Only the PR **author** can use these commands.`,
- ``,
- `> **Note:** Commands must match exactly — \`/take this\` won't work, only \`/take\`. Bots are ignored, and you can't self-link an issue or set an issue as its own parent.`,
- ``,
- `For the full contribution flow, see [CONTRIBUTING.md](https://github.com/${owner}/${repo}/blob/main/CONTRIBUTING.md).`,
- ].join('\n');
+ // Message body lives in .github/welcome-first-time-contributor.txt
+ // so wording edits skip CI. Substitute the runtime placeholders
+ // and prepend the idempotency marker.
+ const fs = require('fs');
+ const template = fs.readFileSync(
+ '.github/welcome-first-time-contributor.txt', 'utf8',
+ );
+ const body = MARKER + '\n' + template
+ .replaceAll('{{author}}', author)
+ .replaceAll('{{owner}}', owner)
+ .replaceAll('{{repo}}', repo);
try {
await github.rest.issues.createComment({