mirror of
https://github.com/LowganDev/PlayfinPS4.git
synced 2026-10-18 09:01:00 +02:00
3.1 KiB
3.1 KiB
Release process
The checklist for a release; release tags are the version number without "v" (1.0.0).
1. Prepare the version
project(Playfin VERSION x.y.z ...)inCMakeLists.txt(the app's version and the package's APP_VER follow;version_testchecks the app's).CHANGELOG.md: the version's section with its date.- The PS4 dependency packages: when
scripts/ps4/deps.txtchanged, build them withscripts/ps4/build-deps.shand upload the new ones to thedepsrelease (see "Dependency packages" below). A changed recipe always gets a newpkgrel, so a package name never stands for two builds. - Run the CI workflow (Actions → CI → Run workflow).
2. Check
ctest --preset linux-debugandctest --preset linux-asangreen;cmake --build --preset linux-fuzzandctest --preset linux-fuzz(30 s per target) without findings.scripts/build-ps4.sh: the imports, eboot and licences checks pass (a library linked without a licence line inresources/licenses/manifest.txtfails the build).- Licences: every component of
resources/licenses/manifest.txtmatches the versions inscripts/ps4/deps.txtand the pacbrew image;THIRD_PARTY_LICENSESagrees. - Security:
docs/security.mdreviewed for what changed since the last release (dependencies' versions against their published vulnerabilities). - On the console (back up saves and settings first, never cut the power during an install, prefer external
storage): install the package, sign in, home, a library, a film (direct play) and an episode (subtitles, skip
intro, next episode), a transcode, music in the background, a Live TV channel, settings (accent, language),
the licences page.
playfin.logwithout errors.
3. Publish
- Commit "build: Playfin x.y.z", tag
x.y.z, push the tag. - GitHub release "Playfin x.y.z" on the tag, with:
IV0001-PLFN00000_00-PLFN000000100000.pkg(this exact name: the README's download button links toreleases/latest/download/with it, and "latest" skips pre-releases);- the corresponding source,
dist/playfin-x.y.z-sources.tar, made byscripts/ps4/source-archive.sh(run at the release's commit): Playfin, every recipe ofscripts/ps4with its patches and upstream sources, and the build image's FriBidi, zlib, libsamplerate and OpenOrbis toolchain (GPL-3.0: crt andlink.x) with their PacBrew recipes, all checked against pinned checksums; - the changelog section as notes.
Dependency packages
scripts/build-ps4.sh installs the packages listed in scripts/ps4/deps.txt from build-deps/ when they are
there, else from the deps release (PS4_DEPS_URL overrides it). To publish packages built locally:
scripts/ps4/build-deps.sh # or only the changed ones: scripts/ps4/build-deps.sh libass
gh release upload deps build-deps/ps4-openorbis-<name>-<version>-<pkgrel>-any.pkg.tar.gz -R LowganDev/PlayfinPS4
The release is a pre-release on the tag deps; it was created once with
gh release create deps --prerelease --title "PS4 dependencies" --notes "..." -R LowganDev/PlayfinPS4.