Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
All 145 Dependabot PRs in this repo so far are one-advisory, one-lockfile security updates. With 11 independent lockfiles, one advisory fans out into several PRs. For example,
nanoidproduced #317, #319, #320, #322 and #323. Merging one PR also lets the next transitive bump surface. Nothing builds the apps in CI, so a breaking bump can merge unnoticed: #364 movedinteraction-hook-appto Tailwind 4, and its production build has failed onmastersince.What
Weekly refresh (
deps-weekly-refresh.yml,scripts/deps/refresh.mjs). On Mondays at 09:00 NZDT, each JS app's lockfile is re-resolved to the newest versions itspackage.jsonranges allow, transitive dependencies included. The result is one rolling PR fromdeps/weekly-refresh, listing the changes per app.package.jsonis never changed.npmMinimalAgeGatealready set in the Yarn apps.patch-packagepatch (currently@expo/cli@55.0.32in the remote verification apps), that app's lockfile is reverted and the PR says why.Dependabot (
dependabot.yml) now only opens what the refresh can't do:@mattrglobal/*are excluded, because they're upgraded together with the Learn tutorials.Pacific/Auckland, the same as Learn.CI gate (
ci-apps.yml) runs on PRs, for each changed JS app:npm run buildfor the Next.js appstsc --noEmitfor the complete React Native apps, but only when anNPM_TOKENsecret exists, because they install the private SDK. Without one they're skipped with a notice.The native apps are skipped. The refresh PR is opened with
GITHUB_TOKEN, so the refresh workflow dispatchesci-appson the PR branch itself.interaction-hook-app fix:
@tailwindcss/postcssreplaces the v3 PostCSS plugin andautoprefixer, andglobals.cssuses@import "tailwindcss". The unused v3tailwind.config.tsis removed, since its only customizations were two gradient utilities nothing referenced./becauseuseSearchParams()had no Suspense boundary. I wrapped the children inlayout.tsxwith<Suspense>, which leaves the tutorial code inpage.tsxunchanged.Action SHAs are pinned to versions already in
sre-githubmattr/actions/sha.tf.Before merging
GITHUB_TOKEN.NPM_TOKENrepo secret, if you want CI to type-check the React Native apps.Verification
node --test scripts/deps/lockfile.test.mjs: 4 passing. All 11 real lockfiles parse.package.jsonuntouched, and the report lists direct and transitive changes per app.interaction-hook-app:npm cipasses.next buildcompiles and prerenders all routes, with Tailwind 4 CSS generated. The sandbox couldn't download Google Fonts, so this was a webpack build with a mocked font response. CI fetches the font normally.actionlintis clean on both new workflows, anddependabot.ymlparses.workflow_dispatchafter merge is its first real run.🤖 Generated with Claude Code