mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-09 01:16:15 -08:00
* feat(updater): nightly builds and a stable/nightly update channel Every master push publishes its artifacts as a prerelease of 4gray/iptvnator-nightly instead of the rolling test-master draft, with a version of <next patch>-nightly.<commit date>.<run number> applied in every build job. Settings → About gains an Update channel switch; AppUpdateService re-points electron-updater per check (feed repository, allowPrerelease, channel name, allowDowngrade reset) and reads release notes from the repository the requested version belongs to. Channel switches are forward-only: a nightly build stays until a newer stable release exists. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix(updater): compute the nightly version once and keep re-runs safe Review follow-ups: the nightly version is resolved by a leading job and handed to every build job, and the patch is bumped only when the base tag already exists so the release-cut window stays below the imminent release. A re-run never deletes a published nightly; only a draft left by a failed run is replaced. Typed update-status literals in the remaining specs carry the new channel fields. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * test(packaging): expect the nightly-version prerequisite in the build workflow graph Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
55 lines
3.2 KiB
JSON
55 lines
3.2 KiB
JSON
{
|
|
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
"name": "release-tools",
|
|
"projectType": "library",
|
|
"sourceRoot": "tools/release",
|
|
"targets": {
|
|
"test": {
|
|
"executor": "nx:run-commands",
|
|
"cache": true,
|
|
"inputs": [
|
|
"{workspaceRoot}/tools/release/release-notes.mjs",
|
|
"{workspaceRoot}/tools/release/release-notes-render.mjs",
|
|
"{workspaceRoot}/tools/release/release-notes-blog.mjs",
|
|
"{workspaceRoot}/tools/release/release-announcements.mjs",
|
|
"{workspaceRoot}/tools/release/verify-draft-release.mjs",
|
|
"{workspaceRoot}/tools/release/highlight-cards.mjs",
|
|
"{workspaceRoot}/tools/release/generate-highlight-cards.mjs",
|
|
"{workspaceRoot}/tools/release/extract-changelog-section.mjs",
|
|
"{workspaceRoot}/tools/release/check-release-note-gate.mjs",
|
|
"{workspaceRoot}/tools/release/build-release-notes.mjs",
|
|
"{workspaceRoot}/tools/release/nightly-version.mjs",
|
|
"{workspaceRoot}/tools/release/screenshot-guards.mjs",
|
|
"{workspaceRoot}/tools/release/screenshots.manifest.json",
|
|
"{workspaceRoot}/.github/workflows/build-and-make.yaml",
|
|
"{workspaceRoot}/tools/release/release-notes.test.mjs",
|
|
"{workspaceRoot}/tools/release/release-note-gate.test.mjs",
|
|
"{workspaceRoot}/tools/release/build-release-notes.test.mjs",
|
|
"{workspaceRoot}/tools/release/release-announcements.test.mjs",
|
|
"{workspaceRoot}/tools/release/verify-draft-release.test.mjs",
|
|
"{workspaceRoot}/tools/release/highlight-cards.test.mjs",
|
|
"{workspaceRoot}/tools/release/screenshot-guards.test.mjs",
|
|
"{workspaceRoot}/tools/release/nightly-version.test.mjs"
|
|
],
|
|
"options": {
|
|
"command": "node --test tools/release/release-notes.test.mjs tools/release/release-note-gate.test.mjs tools/release/build-release-notes.test.mjs tools/release/release-announcements.test.mjs tools/release/verify-draft-release.test.mjs tools/release/highlight-cards.test.mjs tools/release/screenshot-guards.test.mjs tools/release/nightly-version.test.mjs",
|
|
"cwd": "{workspaceRoot}"
|
|
}
|
|
},
|
|
"lint": {
|
|
"inputs": [
|
|
"default",
|
|
"{workspaceRoot}/eslint.config.mjs",
|
|
"{workspaceRoot}/tools/eslint-rules/**/*",
|
|
"{workspaceRoot}/tools/eslint/**/*"
|
|
],
|
|
"command": "eslint \"tools/release/*.mjs\" \"tools/release/capture-release-screenshots.ts\" \"tools/release/capture-app-driver.ts\" \"tools/release/capture-fixtures.ts\" \"tools/release/capture-navigation.ts\" \"tools/release/capture-navigation-helpers.ts\" \"tools/release/capture-navigation-setup-actions.ts\" \"tools/release/capture-navigation-portal-actions.ts\" \"tools/release/capture-navigation-download-actions.ts\" \"tools/release/capture-network-gate.ts\" \"tools/release/capture-tmdb-check.ts\""
|
|
}
|
|
},
|
|
"tags": [
|
|
"scope:tools",
|
|
"domain:release",
|
|
"type:tool"
|
|
]
|
|
}
|