Open-Source-Orchard-Core-Extensions icon indicating copy to clipboard operation
Open-Source-Orchard-Core-Extensions copied to clipboard

Use custom VM images for CI builds (OSOE-717)

Open Piedone opened this issue 1 year ago • 1 comments

Once https://github.com/github/roadmap/issues/826 is available, let's use custom VM images for CI builds.

The image used for .NET builds should contain all build dependencies preinstalled, as well as an OSOCE source built that'll be updated on checkout (or if that's not possible, then re-cloned, but still, we'd have the NuGet and NPM caches warm). Perhaps saving OSOCE after also a test run would be useful, to let the UI Testing Toolbox install its dependencies (smtp4dev, Zap) too.

This should be regenerated when OSOCE dev changes; most possibly, after every dev commit it'd be wasteful, but perhaps once every day if there are new dev commits.

Once this works with package caches, package caching in the build workflow can be disabled.

If this works out well, we can introduce it in all other projects of ours too.

Related:

  • https://github.com/Lombiq/GitHub-Actions/issues/273
  • https://github.com/Lombiq/GitHub-Actions/issues/84

Jira issue

Piedone avatar Nov 06 '23 15:11 Piedone

This should be regenerated when OSOCE dev changes; most possibly, after every dev commit it'd be wasteful, but perhaps once every day if there are new dev commits.

Last time I built the official GH image it was around 4-5 hours I think, but we can reuse that image and build our own on top of that. Based on what I know now, our own image build should be around 10 minutes or less, but we can further refine the conditions and only regenerate it when the OSOCE NuGetTest folder/solution is updated.

BenedekFarkas avatar Nov 09 '23 19:11 BenedekFarkas