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
16 changes: 12 additions & 4 deletions .github/workflows/dprint-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
#
# Implementation:
# - Mondays 09:00 UTC, run `npx dprint config update -y` which bumps
# every plugin in dprint.json to its latest version.
# every plugin in dprint.json to its newest version that is at least 7
# days old. dprint reads `min-release-age=7` from `.npmrc`, the same
# cooldown npm installs follow, so a bump can stop short of the latest
# release or skip a plugin; the step's log names each one held back (#958).
# - Apply any formatting changes from new plugin rules via `npx dprint fmt`.
# - If anything changed, open a PR via peter-evans/create-pull-request.
# - If nothing changed, exit clean (no PR, no spam).
Expand Down Expand Up @@ -52,8 +55,8 @@ jobs:
- name: Install dependencies
run: npm ci

# Bump every plugin in dprint.json to current latest.
# Output: deterministic diff to dprint.json. -y = non-interactive.
# Bump every plugin in dprint.json to its newest version older than
# the 7-day cooldown in `.npmrc`. -y = non-interactive.
- name: Bump dprint plugins
run: npx dprint config update -y

Expand All @@ -70,7 +73,7 @@ jobs:
run: |
if [ -z "$(git status --porcelain)" ]; then
echo "changed=false" >> "$GITHUB_OUTPUT"
echo "Every dprint plugin is already at its latest version."
echo "No dprint plugin has a newer version that is past the 7-day cooldown."
else
echo "changed=true" >> "$GITHUB_OUTPUT"
echo "Files changed:"
Expand Down Expand Up @@ -111,6 +114,11 @@ jobs:

See #236 for the rationale and the schedule.

Each plugin moves to its newest version that is at least 7 days
old (`min-release-age` in `.npmrc`), so a plugin may stop short
of its latest release or not move at all. The rest follow in a
later run.

Auto-generated by `.github/workflows/dprint-update.yml`.

**No checks will appear on this PR.** GitHub does not run
Expand Down
4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ without asking again.

- **"Release" means ship it, end to end.** Use the `release` skill. Don't stop
to ask which version or whether to go ahead.
- **Merge your own PRs into `dev`.** Once a PR you opened is green and
mergeable, squash-merge it without asking. The release PR from `dev` into
`main` is different: you merge it too, but only after the maintainer has
approved that release. Approval covers one release, not the next.
- **Write lasting instructions down.** When the maintainer sets a rule for how
to work, add it to `AGENTS.md` (any agent) or this file (Claude only) in the
same session. Put a procedure in a skill instead.
Expand Down
7 changes: 5 additions & 2 deletions docs/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,11 @@ These are settings, not files, so a PR cannot make them:
merges (for everything into `dev`).
- **Actions may create pull requests** (Settings → Actions → General). The
dprint bump already needs this.
- **If `main` has a branch ruleset, let GitHub Actions bypass it.** The bump
commit and the tag are pushed to `main` with `GITHUB_TOKEN`.
- **Let GitHub Actions bypass any ruleset or branch protection on `main` and
`dev`, and any tag protection matching `v*`.** `auto-release.yml` pushes
with `GITHUB_TOKEN`: the `bump` job pushes the bump commit and the `vX.Y.Z`
tag to `main`, and the `sync-dev` job pushes the merge of `main` back into
`dev`. Without a bypass, that job fails at its push.

### Pushes made with `GITHUB_TOKEN` start no workflows

Expand Down
Loading