Commit Graph

14 Commits

Author SHA1 Message Date
Sebastian "Sebbie" Silbermann 4f37c39616 [ci] Open automated update pull requests with nextjs-bot (#96683)
Gets rid of of all usages of the static `GH_TOKEN_PULL_REQUESTS` token
that was issued for `vercel-release-bot`.

We already create commits with `nextjs-bot`. `nextjs-bot` already had
permissions to open PRs which is already being used by React sync.
2026-08-06 16:32:54 +02:00
Sebastian "Sebbie" Silbermann 50eacb5b22 [react-sync] Open pull requests as the bot that authors the commits (#96682)
Noticed when auto-merge didn't work. `vercel-release-bot` isn't in the
exemption list (for good reason).

Since `vercel-release-bot` still uses a static token, it's time to use
the app fully.

The rest of the usage I'll do in a follow-up.

## test plan

It'll fail for now when enabling auto-merge. Everything else works
though. I'll fix the perms for auto-merge in a follow-up.

- [x] [sync from this
branch](https://github.com/vercel/next.js/actions/runs/30954178134/job/92143210455)
-> https://github.com/vercel/next.js/pull/96688
2026-08-05 07:24:09 +02:00
Benjamin Woodruff 36a8f4c271 [ci] Use node-version-file when we already have a repository checkout and reduce hardcoded references to node versions (#94780)
I noticed the `node-version-file` option for `setup-node` while
reviewing https://github.com/vercel/nextjs-react-compiler/pull/2

We should use it in places where we're already checking out the
repository anyways. It should make it easier to keep node versions in
sync.
2026-06-16 00:48:22 +00:00
Benjamin Woodruff ef63481d68 [ci] Set persist-credentials: false for all GH actions (#94214)
The actual security implications of this are likely *very* minor, but in
the interest of reducing how many credentials we have, there's little
reason for us not to set this to `false`.

In cases where we create a new commit via GH actions, we already do that
via the GitHub API, so those don't need the on-disk git credentials to
push.

---

From: https://github.com/actions/checkout :

> The auth token is persisted in the local git config. This enables your
scripts to run authenticated git commands. The token is removed during
post-job cleanup. Set persist-credentials: false to opt-out.

```
    # Whether to configure the token or SSH key with the local git config
    # Default: true
    persist-credentials: ''
```
2026-06-05 18:28:18 +00:00
Benjamin Woodruff 0a355571a0 [ci] Update all actions/* dependencies (#94174)
Previously we pinned all of these to their current versions at the time.
That meant that some of these got pinned to really old versions. This
updates all of the "first-party" `actions/*` dependencies.

Prompted claude with:

```
For all of these uses of actions/*, make sure we're pulling in the latest stable version (check the gh cli). When upgrading across major versions, fetch the release notes from the GH releases using the gh CLI and make sure that there are no problems that the upgrade will cause.
```

Claude read all the release notes and seems to think these upgrades are
safe.

![Screenshot 2026-05-27 at
3.36.15 PM.png](https://app.graphite.com/user-attachments/assets/4b863905-a983-43a1-ba3d-5d3cc2988bc2.png)
2026-05-28 09:26:57 -07:00
Benjamin Woodruff 67d5f9615a [ci] Explicitly disable package-manager-cache for uses of actions/setup-node (#93953)
If this action detects that you're likely using `npm` it (by default)
enables a cache for `npm`. We use `pnpm`, so it doesn't do anything (and
we manually set up a pnpm cache in some places), but the implicit
behavior here is a little dangerous: e.g.
https://adnanthekhan.com/posts/angular-compromise-through-dev-infra/#finding-the-pivot

So let's explicitly disable this everywhere. It wasn't doing anything
for us anyways.
2026-05-27 06:05:07 +00:00
Benjamin Woodruff 4e6331397d [ci] Also pin first-party GH actions (#93609)
We were already pinning nearly all of our third-party GitHub actions,
but this also pins our first-party ones (things starting with
`actions/*`.

This gets us closer to being able to enforcing pinning at the repository
level:
![Screenshot 2026-05-06 at
4.39.46 PM.png](https://app.graphite.com/user-attachments/assets/ced0b3f2-7de8-4a9a-aa79-8d3efa74197d.png)

The one remaining blocker is this self-reference in a
`pull_request_target` action:
https://github.com/vercel/next.js/blob/c06d94ba22d0156e8bff28c81f7874b73d80ed03/.github/workflows/pull_request_auto_label.yml#L65

I'm still figuring out the best approach to do there, and I'll submit
that in a separate PR.

Discussion here about enforcing this org-wide:
https://vercel.slack.com/archives/C0AM84PRSGL/p1778110550384279
2026-05-08 20:10:55 +00:00
Sebastian "Sebbie" Silbermann eaad55c518 [ci] Migrate React sync off of RELEASE_BOT_GITHUB_TOKEN (#93456) 2026-05-05 08:50:55 +00:00
Sebastian "Sebbie" Silbermann be0cc7ade5 [sync-react] Set correct PR author (#81369)
Follow-up to https://github.com/vercel/next.js/pull/81134

We checkout and commit with nextjs-bot but then opened the PR as vercel-release-bot. Now we use nextjs-bot for both.
2025-07-07 17:04:33 +02:00
JJ Kasper fb319ce1bf Update nextjs-bot config (#81138)
Follow-up from https://github.com/vercel/next.js/pull/81134 updating the
email used in commit messages as well.
2025-07-01 10:43:14 -07:00
JJ Kasper 890c11996a Update workflows for nextjs-bot (#81134)
This updates to use the new bot account specific for Next.js which we've
already been using for stale issues for a bit.
2025-07-01 10:23:05 -07:00
Sebastian "Sebbie" Silbermann cefa93ca5c Fix corepack keys (#75600) 2025-02-03 10:57:22 +01:00
Sebastian "Sebbie" Silbermann 1e493fc8e7 Create React sync automatically (#69314)
Closes NDX-245
2024-08-28 17:33:57 +02:00
Sebastian "Sebbie" Silbermann d23a7b1d9c Create empty update_react.yml as a no-op (#69318) 2024-08-27 10:01:11 +02:00