ci: align nightly assets with version releases (#2699)

Publish GUI installers and Android APKs under their original names.
Use the built commit version in Core, Web and Magisk ZIP names, and
match the version-release archive layout while preserving executables.

Generate SHA256SUMS for all downloads and validate the packaged asset
manifest before publication. Cover native installers, archive layout,
checksums and invalid artifacts in the CI script tests.

Document versioned download URLs and remove the stable-URL claim.
This commit is contained in:
KKRainbow authored and GitHub committed 2026-10-14 14:11:53 +08:00
1 parent d25ccd4c17
commit 0ca2fde0fb
5 files changed
+189 -22

No files matched your search

+9 -9
View File
@@ -83,16 +83,16 @@ jobs:
artifact-ids: ${{ steps.prepare.outputs.mobile_artifact_ids }}
path: ${{ steps.prepare.outputs.mobile_path }}
- name: Package assets with stable names
- name: Package assets like version releases
if: steps.prepare.outputs.ready == 'true'
shell: bash
run: |
mkdir nightly-assets
chmod -R 755 nightly-artifacts
for artifact in nightly-artifacts/*; do
name=$(basename "$artifact")
(cd "$artifact" && zip -qr "$GITHUB_WORKSPACE/nightly-assets/$name.zip" .)
done
uses: actions/github-script@v8
with:
script: |
const fs = require('node:fs');
const { packageAssets } = require('./.github/scripts/nightly-release.js');
const build = require(`${process.env.GITHUB_WORKSPACE}/nightly-release.json`);
await packageAssets({ build, source: 'nightly-artifacts', directory: 'nightly-assets' });
fs.writeFileSync('nightly-release.json', JSON.stringify(build));
- name: Update the fixed nightly prerelease
if: steps.prepare.outputs.ready == 'true'