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
15 changes: 13 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 22.14.0
cache: npm
registry-url: https://registry.npmjs.org

Expand All @@ -36,13 +36,24 @@ jobs:
- name: Verify package contents
run: npm run pack:check

- name: Show bundled npm version
run: npm -v

- name: Upgrade npm for trusted publishing
run: npm install -g npm@latest

- name: Show trusted publishing toolchain versions
run: |
node -v
npm -v

- name: Publish to npm
run: npm publish --access public

- name: Set up Node.js for GitHub Packages
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 22.14.0
registry-url: https://npm.pkg.github.com
scope: "@${{ github.repository_owner }}"

Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ The format is based on Keep a Changelog, and this project aims to follow Semanti

- Nothing unreleased yet.

## [0.2.1] - 2026-03-09

- Switched npmjs releases to npm trusted publishing through GitHub Actions OIDC.
- Added a scoped GitHub Packages mirror publish so the repo can show `@jodonnell24/screenstage` in its Packages area.
- Normalized the published CLI `bin` path metadata to match npm's preferred format.

## [0.2.0] - 2026-03-09

- Added a machine-readable CLI contract for `run` and `record`, including JSON event streams, stable exit codes, manifest typing, and output/headless overrides.
Expand Down
8 changes: 8 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ This repo is set up to be published as the `screenstage` npm package on npmjs.or
1. Confirm the npm package name is still available.
2. Configure npm trusted publishing for this repo and its `release.yml` workflow.
3. Make sure the public repo metadata in `package.json` matches the live GitHub repo.
4. Keep the release workflow on `Node >= 22.14.0` and `npm >= 11.5.1`, which npm currently requires for trusted publishing.

## Local Release Checklist

Expand Down Expand Up @@ -59,6 +60,13 @@ It will:
4. publish to npmjs.org through npm trusted publishing
5. publish a scoped mirror to GitHub Packages as `@<owner>/screenstage`

The npm trusted publisher must match exactly:

- GitHub user or org: `jodonnell24`
- repository: `screenstage`
- workflow filename: `release.yml`
- environment: blank

If you prefer release notes first, create the GitHub release from the pushed tag after CI passes.

## GitHub Packages Mirror
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "screenstage",
"version": "0.2.0",
"version": "0.2.1",
"description": "TypeScript CLI for cursor-following product demo videos with Playwright and FFmpeg.",
"repository": {
"type": "git",
"url": "git+https://github.com/jodonnell24/screenstage.git"
"url": "https://github.com/jodonnell24/screenstage.git"
},
"homepage": "https://github.com/jodonnell24/screenstage#readme",
"bugs": {
Expand Down