From 3b1bd6f473a42ca0afe01905a84f6402190a0ab8 Mon Sep 17 00:00:00 2001 From: Kyle Foster Date: Mon, 22 Jun 2026 11:15:47 -0500 Subject: [PATCH 1/3] Update npm-publish.yml --- .github/workflows/npm-publish.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 6c93e6c..ddde718 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -5,28 +5,36 @@ on: types: [published] workflow_dispatch: +concurrency: + group: npm-publish-${{ github.ref }} + cancel-in-progress: false + jobs: publish: + name: Publish package runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: contents: read id-token: write steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v5 - name: Use Node.js 24 - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: 24 registry-url: https://registry.npmjs.org/ - cache: npm + package-manager-cache: false - name: Install dependencies run: npm ci - - name: Validate package - run: npm run validate + - name: Validate publish package + run: npm run validate:publish - name: Publish to npm run: npm publish --provenance --access public --ignore-scripts From a946da0d6da7b4295df84262ff3e31fcb54725fb Mon Sep 17 00:00:00 2001 From: Kyle Foster Date: Mon, 22 Jun 2026 11:16:37 -0500 Subject: [PATCH 2/3] Create ci.yaml --- .github/workflows/ci.yaml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..d8caab3 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,36 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + quality: + name: Quality checks + runs-on: ubuntu-latest + timeout-minutes: 20 + + permissions: + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v5 + + - name: Use Node.js 24 + uses: actions/setup-node@v5 + with: + node-version: 24 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Validate package and run Chromium tests + run: npm run validate:ci From f440c74759ff6d4b7dbdf6e4f792709554168be1 Mon Sep 17 00:00:00 2001 From: Kyle Foster Date: Mon, 22 Jun 2026 11:17:03 -0500 Subject: [PATCH 3/3] Update package.json --- package.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bcf0637..8752a47 100644 --- a/package.json +++ b/package.json @@ -64,12 +64,21 @@ "scripts": { "check:no-hex-colors": "node ./scripts/check-no-hex-colors.mjs", "lint:css": "stylelint interactive-surface.css", + "test:install": "playwright install --with-deps chromium firefox webkit", + "test:install:chromium": "playwright install chromium --with-deps --only-shell", "test": "playwright test --config=./playwright.config.mjs", "test:chromium": "playwright test --config=./playwright.config.mjs --project=chromium", + "pack:dry": "npm pack --dry-run --cache ./.npm-cache", - "validate": "npm run check:no-hex-colors && npm run lint:css && npm run test:install && npm test && npm run pack:dry", - "prepublishOnly": "npm run check:no-hex-colors && npm run lint:css && npm run pack:dry", + + "validate:publish": "npm run check:no-hex-colors && npm run lint:css && npm run build && npm run pack:dry", + "validate:ci": "npm run validate:publish && npm run test:install:chromium && npm run test:chromium", + "validate:full": "npm run validate:publish && npm run test:install && npm test", + "validate": "npm run validate:ci", + + "prepublishOnly": "npm run validate:publish", + "bundle": "node ./scripts/build.mjs bundle", "minify": "node ./scripts/build.mjs minify", "build": "node ./scripts/build.mjs"