Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
cef8662
feat: adding support for core24 snapcraft and refactoring support to …
mmaietta May 5, 2026
5281ba8
separate tests for native
mmaietta May 5, 2026
f1df0d2
skipped tests for separate test flow/script
mmaietta May 5, 2026
2f8afbe
whoops, they skipped
mmaietta May 5, 2026
0268a04
make it backward compatible. new property `snapcraft`. deprecate old …
mmaietta May 5, 2026
ee2392f
fix schema
mmaietta May 5, 2026
60f779a
need to get test running in CI. it keeps getting filtered out
mmaietta May 6, 2026
20da1ff
optimize and re-=review and optimize configuration and add documentation
mmaietta May 6, 2026
9f2e916
yes please
mmaietta May 7, 2026
0f1deb5
Merge commit 'fb714e7c1e3cdd7582889148a2ee205dffb49f94' into snap-mig…
mmaietta May 7, 2026
4e7f754
git mv
mmaietta May 7, 2026
d4fa3fc
git mv + copy-pasta
mmaietta May 7, 2026
419a43e
tmp save
mmaietta May 7, 2026
1e98b2a
tmp save
mmaietta May 7, 2026
fcbe671
get em. got em. good
mmaietta May 7, 2026
ad161a1
big bugs detected. quick fix
mmaietta May 7, 2026
1d52c6d
update calculation of `isHostMode`
mmaietta May 7, 2026
4ffeb5e
matrix job it uppppp
mmaietta May 8, 2026
082bc3f
fix tests
mmaietta May 8, 2026
aea67a2
prevent apt service locking before attempting snap installation
mmaietta May 8, 2026
2bdf4e4
sighhh
mmaietta May 8, 2026
45103e1
update documentation
mmaietta May 8, 2026
6ac247f
add quotes to test script env var
mmaietta May 8, 2026
4cf7bb8
adding `browser-support` in as a root plug by default
mmaietta May 9, 2026
8165b22
add significantly more documentation to properties
mmaietta May 9, 2026
787fa37
Merge commit '1ebec5a03727ebb0a9d98175c12fff56c6e51427' into snap-mig…
mmaietta May 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/dark-moons-love.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"app-builder-lib": minor
"builder-util": minor
---

feat: adding support for core24 snapcraft and refactoring support to a new config property `snapcraft` to maintain backward compatibility
49 changes: 36 additions & 13 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -322,13 +322,14 @@ jobs:
retention-days: 1
if-no-files-found: error

test-linux-native:
name:
Test Linux Native (non-Docker)
# disabled for now
if: false
test-snap:
name: Test Snap (${{ matrix.core }})
runs-on: ubuntu-24.04
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
core: [core18, core20, core22, core24]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Expand All @@ -339,25 +340,47 @@ jobs:
cache-key: v-35.7.5-native-electron
reset-vitest-smart-cache: ${{ inputs.reset-vitest-smart-cache }}

- name: Install dependencies
- name: Test snap ${{ matrix.core }} (Docker)
run: SNAP_CORE=${{ matrix.core }} ./test/src/linux/test-snap.sh
env:
VITEST_SMART_CACHE_FILE: ${{ github.workspace }}/test/vitest-scripts/_vitest-smart-cache.json
RESET_VITEST_SHARD_CACHE: ${{ inputs.reset-vitest-smart-cache }}

# Native install+launch test — core24 only; requires snapcraft + unsquashfs on the runner.
- name: Disable background apt services (prevent apt lock contention)
if: matrix.core == 'core24'
run: |
sudo systemctl stop unattended-upgrades apt-daily.service apt-daily-upgrade.service || true
sudo systemctl disable apt-daily.timer apt-daily-upgrade.timer || true
sudo systemctl kill --kill-who=all apt-daily.service apt-daily-upgrade.service || true
while sudo fuser /var/lib/apt/lists/lock /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend >/dev/null 2>&1; do
echo "Waiting for apt lock to be released…"
sleep 2
done

- name: Install snapcraft natively
if: matrix.core == 'core24'
run: |
sudo apt-get update
sudo apt-get install -y rpm flatpak flatpak-builder snapd
sudo apt-get install -y squashfs-tools xvfb
sudo snap install snapcraft --classic

- name: Test
run: |
pnpm ci:test
- name: Test snap core24 native (install + launch)
if: matrix.core == 'core24'
run: pnpm ci:test
env:
TEST_FILES: flatpakTest,snapHeavyTest
TEST_FILES: snapHeavyTest
SNAP_TEST_CORES: core24
SNAPCRAFT_BUILD_ENVIRONMENT: host
RUN_SNAP_TESTS: "true"
VITEST_SMART_CACHE_FILE: ${{ github.workspace }}/test/vitest-scripts/_vitest-smart-cache.json
RESET_VITEST_SHARD_CACHE: ${{ inputs.reset-vitest-smart-cache }}

- name: Upload smart cache artifact
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
if: always()
with:
name: vitest-smart-cache-linux-native
name: vitest-smart-cache-snap-${{ matrix.core }}
path: ${{ github.workspace }}/test/vitest-scripts/_vitest-smart-cache.json
retention-days: 1
if-no-files-found: error
Expand Down Expand Up @@ -431,7 +454,7 @@ jobs:
# -------------------------

merge-smart-cache:
needs: [test-linux, test-windows, test-macos, test-e2e, test-updater, test-linux-native]
needs: [test-linux, test-windows, test-macos, test-e2e, test-updater, test-snap]
if: always()
runs-on: ubuntu-latest
timeout-minutes: 10
Expand Down
Loading
Loading