fix(snap): build from locked python inputs and verify artifacts (#1041)

* fix(snap): build and verify payload from locked python inputs

* docs(snap): document locked inputs and artifact verification

* test(clipboard): isolate restore workers between tests

* test(packaging): tighten isolation and clarify snap audit guarantees

* fix(ci): run snap recipe tests on snap-only changes

A change to snap/snapcraft.yaml or snap/local/smoke-test.sh only matched
the snap filter, so the Python tests that guard the recipe (including the
portable whisper.cpp flags from #957) and the smoke script were skipped.
Match all of snap/ in the python filter, as scripts/ already is.

* docs(snap): use a version placeholder in the smoke-test example

---------

Co-authored-by: Jatin <jatinkrmalik@gmail.com>
This commit is contained in:
Sergey Silaev
2026-11-02 12:31:14 -08:00
committed by GitHub
co-authored by Jatin
parent 80e3019a74
commit c461cf5147
15 changed files with 1047 additions and 41 deletions
+7 -1
View File
@@ -1028,7 +1028,8 @@ jobs:
# Secret: SNAPCRAFT_STORE_CREDENTIALS (snapcraft export-login).
build-snap:
name: Build Snap
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
timeout-minutes: 45
permissions:
contents: read
steps:
@@ -1039,6 +1040,11 @@ jobs:
id: build
uses: snapcore/action-build@3bdaa03e1ba6bf59a65f84a751d943d549a54e79 # v1
- name: Verify the installed snap
env:
SNAP_FILE: ${{ steps.build.outputs.snap }}
run: bash snap/local/smoke-test.sh "$SNAP_FILE"
- name: Upload the snap
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with: