workflows: add snap_store_integration_tests to handle snap store downloads and testing#161
workflows: add snap_store_integration_tests to handle snap store downloads and testing#161Sinan-Karakaya wants to merge 8 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new GitHub Actions workflow to run snap-store integration tests on a device-under-test (DUT) via Testflinger, and updates the DUT device script to support installing fpgad either from an attached local .snap or directly from the Snap Store.
Changes:
- Added a
workflow_dispatchworkflow to run store-snap integration tests on a selected Testflinger queue/channel. - Added an integration test workflow that builds the snap and runs DUT tests (new workflow file).
- Updated the DUT device script to install
fpgadfrom either./fpgad.snapor the Snap Store channel fromsnap_channel.txt.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .github/workflows/snap_store_integration_tests.yml | New workflow to install from Snap Store channel and run DUT integration tests via Testflinger. |
| .github/workflows/integration_tests.yml | New workflow to run binary + snap integration tests via Testflinger (includes snap build + download). |
| .github/testflinger-assets/test_snap_device_script.sh | Updates DUT provisioning to install fpgad from a local snap or from a store channel. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
2da0a68 to
8d3afc1
Compare
artiepoole
left a comment
There was a problem hiding this comment.
LGTM in principle, just want to discuss options first
artiepoole
left a comment
There was a problem hiding this comment.
I like this approach a lot more, thanks! I just have one change to make it easier to follow, and one question I answered myself - keeping for clarity later.
artiepoole
left a comment
There was a problem hiding this comment.
Sorry spotted this based on the failed run
4eb5644 to
4dbb1ba
Compare
artiepoole
left a comment
There was a problem hiding this comment.
LGTM! Thanks very much Sinan. Please wait for @talhaHavadar to review before merging :)
4dbb1ba to
8f26a16
Compare
73ca6a0 to
bc9cba7
Compare
bc9cba7 to
c055051
Compare
c055051 to
638a290
Compare
artiepoole
left a comment
There was a problem hiding this comment.
LGTM, thanks again Sinan!
db6fc9f to
aa92fa7
Compare
Rename integration_tests.yaml.yml to integration_tets.yml Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
…ller Add a manual workflow to run snap store channel tests via testflinger. Update DUT install logic to support local snap and store-channel installs. Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
Created snap_integration_tests.yml to unify the snap jobs, making integration_tests.yml lighter The new snap integration tests can handle both local snaps and snapstore snaps Signed-off-by: Sinan KARAKAYA <sinan.karakaya.canonical.com>
In snap_integration_tests.yml, merged snap_test_source and snap_channel inputs to support both snap store channels, and local builds. Signed-off-by: Sinan KARAKAYA <sinan.karakaya.canonical.com>
Moved ROOT_DIR to env to remove the need for creating a shell variable. Made path construction use strenv inside yq Signed-off-by: Sinan KARAKAYA <sinan.karakaya.canonical.com>
Replaced snap_channel.txt by SNAP_TEST_SOURCE environment variable. SNAP_TEST_SOURCE is initialized during the CI, and set to the value of the workflow input. Refactored testflinger_job.yaml to execute and source SNAP_TEST_SOURCE if env_setup.sh is present. Refactored test_snap_device_script.sh to use environment variables instead of text input. Signed-off-by: Sinan KARAKAYA <sinan.karakaya.canonical.com>
aa92fa7 to
8731960
Compare
Add workflow_dispatch to allow manual execution of the integration tests via the GitHub Actions UI. Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
8731960 to
6bb8a3e
Compare
5e630cf to
6a75dcb
Compare
talhaHavadar
left a comment
There was a problem hiding this comment.
Looks good thank you Sinan, we can merge this once CI is green
Add export to SNAP_TEST_SOURCE and SNAP_CHANNEL in env_setup.sh to ensure they are available to subprocesses. Remove the explicit sourcing of env_setup.sh from test_snap_device_script.sh. Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
6a75dcb to
32750a9
Compare
This PR closes #142.
snap_store_integration_tests.ymlto handle testing the snap store version of fpgad on a specific channel, on a specific CIDtest_snap_device_script.shto handle installing snaps from a local snap file, or by reading snap_channel.txt and download fpgad from the snapstore