Flatpak: build from source instead of repackaging debs

- Rewrite Flatpak manifest to build from source using SDK extensions
  (node22, rust-stable) with offline cargo/npm dependency caches
- Add generate-sources.sh to produce cargo-sources.json and
  node-sources.json from lock files using flatpak-builder-tools
- Vendor Node.js, protoc, and wasm-pack as archive sources with
  SHA256 verification and per-arch support
- Add SHA256 verification to vendor-node.cjs and vendor-protoc.cjs
- Rewrite update-manifest.sh to update git tag/commit and regenerate
  dependency sources
- Update Flathub CI workflow to install generators and copy source
  files
- Remove stale plugins/faker entry from package-lock.json
This commit is contained in:
Gregory Schier
2026-02-10 16:20:25 -08:00
parent 0cab111965
commit ab5c541e69
8 changed files with 284 additions and 56 deletions

View File

@@ -16,6 +16,16 @@ jobs:
- name: Checkout app repo
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install source generators
run: |
pip install flatpak-node-generator tomlkit aiohttp
git clone --depth 1 https://github.com/flatpak/flatpak-builder-tools flatpak/flatpak-builder-tools
- name: Run update-manifest.sh
run: bash flatpak/update-manifest.sh "${{ github.event.release.tag_name }}"
@@ -29,8 +39,12 @@ jobs:
- name: Copy updated files to Flathub repo
run: |
cp flatpak/app.yaak.Yaak.yml flathub-repo/
cp flatpak/app.yaak.Yaak.metainfo.xml flathub-repo/
cp flatpak/cargo-sources.json flathub-repo/
cp flatpak/node-sources.json flathub-repo/
cp LICENSE flathub-repo/
sed -i 's|path: \.\./LICENSE|path: LICENSE|' flathub-repo/app.yaak.Yaak.yml
sed -i 's|flatpak/app.yaak.Yaak.metainfo.xml|app.yaak.Yaak.metainfo.xml|' flathub-repo/app.yaak.Yaak.yml
- name: Commit and push to Flathub
working-directory: flathub-repo