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
2 changes: 1 addition & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"source": {
"source": "github",
"repo": "LasVegasForTransit/repository-tooling",
"ref": "v0.5.3"
"ref": "v0.5.4"
}
}
},
Expand Down
6 changes: 3 additions & 3 deletions .lvbt/web-platform.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"formatVersion": 1,
"preset": "lvbt-web",
"release": "v0.5.3",
"commit": "f9f1bdffd9a77e5560470c6735275f319ff0594e",
"contentHash": "3399d99216e793bbf1b3ed43e478b3cd54e0670d02d9abe6bff2f8e44f7c82eb",
"release": "v0.5.4",
"commit": "323d5f5f968ed69ebcc29252b183fd65d13dc49a",
"contentHash": "25da315541c7a6f94f1ed1712e7b41c7512318af88033a1b3d485515d350ab83",
"executables": [
"examples/with-astro/.githooks/commit-msg",
"examples/with-astro/.githooks/pre-commit",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"source": {
"source": "github",
"repo": "LasVegasForTransit/repository-tooling",
"ref": "v0.5.3"
"ref": "v0.5.4"
}
}
},
Expand Down
8 changes: 4 additions & 4 deletions .lvbt/web-platform/examples/with-astro/apps/site/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
},
"devDependencies": {
"@astrojs/check": "catalog:",
"@lasvegasfortransit/eslint-config": "0.5.3",
"@lasvegasfortransit/playwright-config": "0.5.3",
"@lasvegasfortransit/typescript-config": "0.5.3",
"@lasvegasfortransit/vitest-config": "0.5.3",
"@lasvegasfortransit/eslint-config": "0.5.4",
"@lasvegasfortransit/playwright-config": "0.5.4",
"@lasvegasfortransit/typescript-config": "0.5.4",
"@lasvegasfortransit/vitest-config": "0.5.4",
"@playwright/test": "catalog:",
"@types/node": "catalog:",
"eslint": "catalog:",
Expand Down
4 changes: 2 additions & 2 deletions .lvbt/web-platform/examples/with-astro/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
"*": "prettier --write --ignore-unknown"
},
"devDependencies": {
"@lasvegasfortransit/cli": "0.5.3",
"@lasvegasfortransit/prettier-config": "0.5.3",
"@lasvegasfortransit/cli": "0.5.4",
"@lasvegasfortransit/prettier-config": "0.5.4",
"lint-staged": "catalog:",
"markdownlint-cli2": "catalog:",
"markdownlint-rule-relative-links": "catalog:",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"source": {
"source": "github",
"repo": "LasVegasForTransit/repository-tooling",
"ref": "v0.5.3"
"ref": "v0.5.4"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
"react-dom": "catalog:"
},
"devDependencies": {
"@lasvegasfortransit/eslint-config": "0.5.3",
"@lasvegasfortransit/playwright-config": "0.5.3",
"@lasvegasfortransit/typescript-config": "0.5.3",
"@lasvegasfortransit/vitest-config": "0.5.3",
"@lasvegasfortransit/eslint-config": "0.5.4",
"@lasvegasfortransit/playwright-config": "0.5.4",
"@lasvegasfortransit/typescript-config": "0.5.4",
"@lasvegasfortransit/vitest-config": "0.5.4",
"@playwright/test": "catalog:",
"@tailwindcss/vite": "catalog:",
"@types/node": "catalog:",
Expand Down
4 changes: 2 additions & 2 deletions .lvbt/web-platform/examples/with-vite-react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
"*": "prettier --write --ignore-unknown"
},
"devDependencies": {
"@lasvegasfortransit/cli": "0.5.3",
"@lasvegasfortransit/prettier-config": "0.5.3",
"@lasvegasfortransit/cli": "0.5.4",
"@lasvegasfortransit/prettier-config": "0.5.4",
"lint-staged": "catalog:",
"markdownlint-cli2": "catalog:",
"markdownlint-rule-relative-links": "catalog:",
Expand Down
2 changes: 1 addition & 1 deletion .lvbt/web-platform/packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lasvegasfortransit/cli",
"version": "0.5.3",
"version": "0.5.4",
"description": "The lvbt command every LVBT repository runs for bootstrap, preflight, and deploy, plus the production platform setup, the shared git hooks, and the lvbt-contributions agent plugin.",
"license": "MIT",
"type": "module",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lvbt-contributions",
"version": "0.5.3",
"version": "0.5.4",
"description": "Create readable LVBT GitHub issues and pull requests through the organization workflow.",
"author": {
"name": "Las Vegans for Better Transit",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lvbt-contributions",
"version": "0.5.3",
"version": "0.5.4",
"description": "Create readable LVBT GitHub issues and pull requests through the organization workflow.",
"author": {
"name": "Las Vegans for Better Transit",
Expand Down
2 changes: 1 addition & 1 deletion .lvbt/web-platform/packages/eslint-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lasvegasfortransit/eslint-config",
"version": "0.5.3",
"version": "0.5.4",
"description": "The ESLint configurations every LVBT repository uses.",
"license": "MIT",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion .lvbt/web-platform/packages/playwright-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lasvegasfortransit/playwright-config",
"version": "0.5.3",
"version": "0.5.4",
"description": "The Playwright configuration every LVBT repository spreads into its own: end-to-end tests under tests/e2e, desktop and mobile projects, traces on failure.",
"license": "MIT",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion .lvbt/web-platform/packages/prettier-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lasvegasfortransit/prettier-config",
"version": "0.5.3",
"version": "0.5.4",
"description": "The Prettier configuration every LVBT repository uses.",
"license": "MIT",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion .lvbt/web-platform/packages/typescript-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lasvegasfortransit/typescript-config",
"version": "0.5.3",
"version": "0.5.4",
"description": "TypeScript configurations every LVBT repository extends.",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion .lvbt/web-platform/packages/vitest-config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lasvegasfortransit/vitest-config",
"version": "0.5.3",
"version": "0.5.4",
"description": "The Vitest configuration every LVBT repository spreads into its own.",
"license": "MIT",
"type": "module",
Expand Down
2 changes: 1 addition & 1 deletion .lvbt/web-platform/packages/web-platform/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@lasvegasfortransit/web-platform",
"version": "0.5.3",
"version": "0.5.4",
"description": "Provider-neutral deployment, provisioning, and validation primitives for LVBT web repositories.",
"license": "MIT",
"type": "module",
Expand Down
14 changes: 13 additions & 1 deletion .lvbt/web-platform/standards/propose.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,18 @@ function defaultBranchRelease(target: string, runner: Runner): string | null {
return (JSON.parse(manifest) as { release: string | null }).release;
}

/**
* Turns on auto-merge. A repository with a merge queue picks the merge method itself, and naming one
* there records an auto-merge request that never enters the queue.
*/
function enableAutoMerge(target: string, number: number, runner: Runner): void {
const rules = JSON.parse(
runner('gh', ['api', 'repos/{owner}/{repo}/rules/branches/main'], target),
) as { type: string }[];
const queued = rules.some(({ type }) => type === 'merge_queue');
runner('gh', ['pr', 'merge', String(number), '--auto', ...(queued ? [] : ['--rebase'])], target);
}

/**
* GitHub holds the workflow runs of a pull request that a workflow's own token opened until someone
* with write access approves them. Approve the ones this update started so `Validate` runs on it.
Expand Down Expand Up @@ -237,7 +249,7 @@ export async function proposeRelease(options: {
if (changed) {
const pushed = pushUpdateBranch(target, entry.name, updateBranch(tag), runner);
number = await openPullRequest({ ...options, automerge, runner });
if (automerge) runner('gh', ['pr', 'merge', String(number), '--auto', '--rebase'], target);
if (automerge) enableAutoMerge(target, number, runner);
if (pushed) approveHeldRuns(target, updateBranch(tag), runner);
} else if (defaultBranchRelease(target, runner) === tag) {
// Only a default branch that already carries the release makes its update pull request moot;
Expand Down
Loading