fix(release): every snap packed without --output, into its project, then moved
snapcraft builds in LXD with the project mounted at /root/project and refuses any --output naming a folder of this machine: the root's own build/release/ for Learn's snap (found releasing Learn 0.23.0) as the clone itself for Todo's and Train's (Todo 0.1.0, both 3 Nov 2026). Every snap now packs into its project and is moved into the release's folder from there, checked with snapcraft 9.2.1 at the root. A failure after none of several apps was done now says "none" rather than nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
996e584338
commit
8565db3d89
1 changed files with 25 additions and 44 deletions
|
|
@ -152,31 +152,22 @@ void main() {
|
|||
);
|
||||
});
|
||||
|
||||
test(
|
||||
"Learn's snap is the root's; Todo's and Train's are built in clones of "
|
||||
'their own, outside the repository, and packed without --output, as '
|
||||
"snapcraft takes the clone's own path for a file outside the project",
|
||||
() {
|
||||
expect(learnRelease.snap!.atRoot, isTrue);
|
||||
test("Learn's snap is the root's; Todo's and Train's are built in clones of "
|
||||
'their own, outside the repository', () {
|
||||
expect(learnRelease.snap!.atRoot, isTrue);
|
||||
for (final (app, name) in [
|
||||
(todoRelease, 'halkyon-todo'),
|
||||
(trainRelease, 'halkyon-train'),
|
||||
]) {
|
||||
final snap = app.snap!;
|
||||
expect(snap.atRoot, isFalse, reason: app.id);
|
||||
expect(
|
||||
learnRelease.snap!.packOutput(root: '/repo', out: 'build/x'),
|
||||
'/repo/build/x',
|
||||
snap.projectPath('/home/someone'),
|
||||
'/home/someone/.cache/halkyon-release/snap/$name',
|
||||
);
|
||||
for (final (app, name) in [
|
||||
(todoRelease, 'halkyon-todo'),
|
||||
(trainRelease, 'halkyon-train'),
|
||||
]) {
|
||||
final snap = app.snap!;
|
||||
expect(snap.atRoot, isFalse, reason: app.id);
|
||||
expect(
|
||||
snap.projectPath('/home/someone'),
|
||||
'/home/someone/.cache/halkyon-release/snap/$name',
|
||||
);
|
||||
expect(snap.packOutput(root: '/repo', out: 'build/x'), isNull);
|
||||
expect(snap.storeChannel, 'edge', reason: app.id);
|
||||
}
|
||||
},
|
||||
);
|
||||
expect(snap.storeChannel, 'edge', reason: app.id);
|
||||
}
|
||||
});
|
||||
|
||||
for (final app in [todoRelease, trainRelease]) {
|
||||
group("${app.name}'s snap, built in a clone of its own with its folder in "
|
||||
|
|
|
|||
Loading…
Reference in a new issue