From 64b49dcb69504c5a285508f5c65d631141acaf22 Mon Sep 17 00:00:00 2001 From: Willie Chalmers III Date: Tue, 11 Aug 2026 17:38:42 -0700 Subject: [PATCH] chore(repo): publish v0.1.3 contribution tooling The organization template repository is the public copy of the shared contribution policy. Pinning the new release keeps inherited pull requests in sync with the source template while its own local and CI checks now use pnpm. Co-Authored-By: Codex --- .github/actions/setup-node-pnpm/action.yml | 18 ++++++++++++++ .github/pull_request_template.md | 6 ----- .github/workflows/ci.yml | 8 +++---- .gitignore | 1 + AGENTS.md | 2 +- SOURCE.json | 6 ++--- package.json | 5 ++-- pnpm-lock.yaml | 9 +++++++ tests/community-health.test.mjs | 28 +++++++++++++++------- 9 files changed, 58 insertions(+), 25 deletions(-) create mode 100644 .github/actions/setup-node-pnpm/action.yml create mode 100644 .gitignore create mode 100644 pnpm-lock.yaml diff --git a/.github/actions/setup-node-pnpm/action.yml b/.github/actions/setup-node-pnpm/action.yml new file mode 100644 index 0000000..cab893c --- /dev/null +++ b/.github/actions/setup-node-pnpm/action.yml @@ -0,0 +1,18 @@ +name: Setup Node + pnpm +description: Install the repository's pinned pnpm, cache its store, and install from the lockfile. + +runs: + using: composite + steps: + - name: Setup pnpm + uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 + + - name: Setup Node + uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + with: + node-version: 24 + cache: pnpm + + - name: Install dependencies + shell: bash + run: pnpm install --frozen-lockfile diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 0d16bf0..e44a833 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,10 +2,4 @@ # Overview of Changes -## [subheading if needed] - -## [more subheadings if needed] - # Follow-ups - -- [ ] Future issue title if needed diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45a5b23..10ab7cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,10 +22,8 @@ jobs: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - name: Setup Node - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 - with: - node-version: 24 + - name: Setup Node + pnpm + uses: ./.github/actions/setup-node-pnpm - name: Validate published community files - run: npm run check + run: pnpm check diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/AGENTS.md b/AGENTS.md index 57e8866..86c54ba 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,5 +5,5 @@ The files under `.github/` are published copies from the pinned Update the source repository, publish a release, then update the files and checksums here together. -Run `npm run check` before opening a pull request. Use the organization +Run `pnpm check` before opening a pull request. Use the organization `github-contribution` skill for GitHub creation. diff --git a/SOURCE.json b/SOURCE.json index f3b482d..9b18193 100644 --- a/SOURCE.json +++ b/SOURCE.json @@ -1,11 +1,11 @@ { "repository": "LasVegasForTransit/repository-tooling", - "ref": "v0.1.1", - "commit": "264ab732a37162a1b1b324f51820b1a5b0537550", + "ref": "v0.1.3", + "commit": "d74383bc14738153114aa0b00f5278470da3fc26", "files": { ".github/ISSUE_TEMPLATE/bug.yml": "640865f0fc20f6dbc5335db7a9a3a4b0d0e471829ff5da46c0f785497624ba36", ".github/ISSUE_TEMPLATE/feature.yml": "b9510f2223104a4f420a3bd52d212512f5613c65ee4cf1efdc83a8fffa1149f8", ".github/ISSUE_TEMPLATE/config.yml": "8b09e7df09fc7534371988062769ee427af2954a02c04c763e8a8005be0f2be4", - ".github/pull_request_template.md": "38ee62db634c37469a06d37bfac8c63a8c1592a7fa4c612b8c8206b68ef8b953" + ".github/pull_request_template.md": "70d6d0006e6814ed89a8b7487e3ed028c11d957305f154f76fba18706cd31954" } } diff --git a/package.json b/package.json index 27513ed..d2d79a3 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,13 @@ { "name": "lvbt-community-health", "private": true, - "version": "0.1.1", + "version": "0.1.2", "type": "module", + "packageManager": "pnpm@11.15.1", "engines": { "node": ">=24" }, "scripts": { - "check": "node --test" + "check": "node --test --test-concurrency=1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..9b60ae1 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,9 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: {} diff --git a/tests/community-health.test.mjs b/tests/community-health.test.mjs index eb73b46..64b89e8 100644 --- a/tests/community-health.test.mjs +++ b/tests/community-health.test.mjs @@ -1,6 +1,6 @@ import assert from 'node:assert/strict'; import { createHash } from 'node:crypto'; -import { readFile } from 'node:fs/promises'; +import { access, readFile } from 'node:fs/promises'; import path from 'node:path'; import test from 'node:test'; @@ -10,7 +10,8 @@ const read = (file) => readFile(path.join(root, file)); test('published community files match the pinned tooling release', async () => { const source = JSON.parse(await read('SOURCE.json')); assert.equal(source.repository, 'LasVegasForTransit/repository-tooling'); - assert.equal(source.ref, 'v0.1.1'); + assert.equal(source.ref, 'v0.1.3'); + assert.equal(source.commit, 'd74383bc14738153114aa0b00f5278470da3fc26'); for (const [file, expected] of Object.entries(source.files)) { const digest = createHash('sha256').update(await read(file)).digest('hex'); @@ -26,14 +27,25 @@ test('the pull request template contains only the readable organization outline' # Overview of Changes -## [subheading if needed] - -## [more subheadings if needed] - # Follow-ups - -- [ ] Future issue title if needed `, ); assert.doesNotMatch(template, /