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
50 changes: 50 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Release

on:
push:
branches: [main]

permissions:
contents: write
issues: write
pull-requests: write

jobs:
release-please:
runs-on: ubuntu-latest

steps:
- name: Create release PR or GitHub release
id: release
uses: googleapis/release-please-action@v5
with:
# Use a PAT to make the release PR trigger the normal pull_request CI.
token: ${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }}
config-file: release-please-config.json
manifest-file: .release-please-manifest.json

- name: Checkout repository
if: ${{ steps.release.outputs.release_created }}
uses: actions/checkout@v7

- name: Setup pnpm
if: ${{ steps.release.outputs.release_created }}
uses: pnpm/action-setup@v6

- name: Setup Node.js 24
if: ${{ steps.release.outputs.release_created }}
uses: actions/setup-node@v7
with:
node-version: 24
cache: pnpm
registry-url: https://registry.npmjs.org

- name: Install dependencies
if: ${{ steps.release.outputs.release_created }}
run: pnpm install --frozen-lockfile

- name: Publish package to npm
if: ${{ steps.release.outputs.release_created }}
run: pnpm publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
23 changes: 0 additions & 23 deletions .release-it.json

This file was deleted.

3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "1.4.0"
}
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,12 @@ pnpm dev # Watch mode
pnpm check # Format, lint, types, unit tests, and build
pnpm test # Unit tests in watch mode
pnpm test:integration # Network/ffmpeg integration tests
pnpm release # Release to npm
```

### Releases

Releases are automated with [Release Please](https://github.com/googleapis/release-please). Merging its release PR updates the package version and changelog, creates the GitHub release, and publishes the package to npm. The repository requires an `NPM_TOKEN` secret; a `RELEASE_PLEASE_TOKEN` secret is recommended so release PRs run the regular pull-request CI.

### Adding a New Platform

1. Create `src/scraper/newplatform/` with:
Expand Down
3 changes: 0 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
"test:all": "pnpm test:run && pnpm test:integration",
"test:coverage": "vitest run --coverage",
"typecheck": "tsc --noEmit",
"release": "release-it",
"prepublishOnly": "pnpm check",
"prepare": "husky"
},
Expand Down Expand Up @@ -76,7 +75,6 @@
"@commitlint/cli": "21.2.1",
"@commitlint/config-conventional": "^21.2.0",
"@eslint/js": "^10.0.1",
"@release-it/conventional-changelog": "^11.0.1",
"@types/better-sqlite3": "^7.6.13",
"@types/cli-progress": "^3.11.6",
"@types/node": "^26.1.1",
Expand All @@ -87,7 +85,6 @@
"husky": "^9.1.7",
"lint-staged": "^17.0.8",
"prettier": "^3.9.5",
"release-it": "^20.2.1",
"tsx": "^4.23.1",
"typescript": "^6.0.3",
"typescript-eslint": "^8.64.0",
Expand Down
Loading