Snap channels for testing PRs (fixes/features)

This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
adrianinsaval
Veteran
Posts: 3179
Joined: Thu Apr 05, 2018 5:15 pm

Re: Snap channels for testing PRs (fixes/features)

Post by adrianinsaval »

would the syntax mentioned here work: https://docs.github.com/en/pull-request ... ts-locally

Code: Select all

git fetch origin pull/ID/head:BRANCHNAME
What's their policy for cpu time? is it possible to run CI with snaps? Kunda can you try making a testing snap for the TN PR for example? git commit 74f6710fb40f4eb02948255e50ab177a1637c6d9
User avatar
ppd
Posts: 106
Joined: Tue Feb 26, 2019 12:01 pm
Location: Munich, Germany

Re: Snap channels for testing PRs (fixes/features)

Post by ppd »

adrianinsaval wrote: Thu Mar 31, 2022 2:15 pm would the syntax mentioned here work
The current workflow does not support entering PR IDs. This would need additional logic.
Try FreeCAD from the Snap Store: Stable releases (in latest/stable) & daily builds (in latest/edge). Supports installing additional python packages via pip!
Image
User avatar
ppd
Posts: 106
Joined: Tue Feb 26, 2019 12:01 pm
Location: Munich, Germany

Re: Snap channels for testing PRs (fixes/features)

Post by ppd »

adrianinsaval wrote: Thu Mar 31, 2022 2:15 pm What's their policy for cpu time?
https://docs.github.com/en/actions/lear ... age-limits

As of now, there's no such thing as a "x minutes per month is free" limit. There's limited concurrency, i.e. only 20 jobs can run in parallel in the free tier.
adrianinsaval wrote: Thu Mar 31, 2022 2:15 pm is it possible to run CI with snaps?
For automated testing? Sure. In principle, a snap is just a bundle of whatever you compile with all its dependencies. If you configure the project so that it includes/builds its tests, you can run them from the snap.
adrianinsaval wrote: Thu Mar 31, 2022 2:15 pm Kunda can you try making a testing snap for the TN PR for example? git commit 74f6710fb40f4eb02948255e50ab177a1637c6d9
Of course, the used snapcraft recipe must be compatible with the state of FreeCAD at the time of the commit. For example, the edge snap uses a very recent OCCT release, which is incompatible with older PRs. In this case, you'd need to maintain a separate snapcraft.yaml for older commits or rebase the PR itself.
At the moment, we have two branches: master and stable. The stable snapcraft.yaml, which is used for the releases (e.g. 0.19.4), could be a good fit for older PRs.
Try FreeCAD from the Snap Store: Stable releases (in latest/stable) & daily builds (in latest/edge). Supports installing additional python packages via pip!
Image
User avatar
ppd
Posts: 106
Joined: Tue Feb 26, 2019 12:01 pm
Location: Munich, Germany

Re: Snap channels for testing PRs (fixes/features)

Post by ppd »

A new branch has been added to build testing snaps from the stable recipe instead of the edge recipe: https://github.com/ppd/freecad-ppd/tree/stable-manifest

This allows building PRs that are not (yet) compatible with OCCT 7.6.1 et al.
Try FreeCAD from the Snap Store: Stable releases (in latest/stable) & daily builds (in latest/edge). Supports installing additional python packages via pip!
Image
Post Reply