-
Notifications
You must be signed in to change notification settings - Fork 294
CI Pipelines
The woof-CE project on GitHub is configured to run automated Puppy builds, for three purposes:
- Automated releases of new Puppy versions
- Test releases
- To continuously run woof-CE with the changes in every pull request, to make sure it still works as expected
The continuous builds use aggressive caching that reduces build times to several minutes:
- Packages downloaded by 1download are cached, and only the delta (updated or newly added packages) is downloaded
- Packages built during 3builddistro are cached, and get rebuilt only if their build script has changed, or the packages selection has changed
- When 3builddistro cross-compiles packages, busybox and bash are replaced with native executables that speed up autoconf
- 3builddistro uses ccache, so slightly changed packages are very fast to build
Therefore, they notify the pull request author that the changes break woof-CE, in a matter of minutes:
In contrast, manually-triggered builds run without this caching, to ensure the entire Puppy build flow works end-to-end.
Every Monday, this pipeline builds the latest releases of the following kernel versions:
- 4.19.x, for x86 and x86_64
- 5.4.x, for x86_64
- 5.10.x, for x86_64
The output of kernel-kit is available for download, as build artifacts, and other CI pipelines download it.
This builds the next major version of Slacko64 that is under active development.
It is built for every PR or push that changes files under woof-code or woof-distro/x86_64/slackware64/15.0, and on every Thursday.
Build output is discarded, unless this is a manually-triggered build.
This is a 32-bit build of Slacko 7.0 with woof-CE updates, updates from Slackware and the most recent 4.19.x kernel.
It is built for every PR or push that changes files under woof-distro/x86/slackware/14.2, and on every Thursday.
Build output is discarded, unless this is a manually-triggered build.
This is a 64-bit build of Slacko 7.0 with woof-CE updates, updates from Slackware and the most recent 4.19.x kernel.
It is built for every PR or push that changes files under woof-distro/x86_64/slackware64/14.2, and on every Thursday.
Build output is discarded, unless this is a manually-triggered build.
This produces a 64-bit Puppy similar to FossaPup64 9.5 with woof-CE updates, updates from Ubuntu and the most recent 5.4.x kernel.
It is built for every PR or push that changes files under woof-distro/x86_64/ubuntu/focal64, and on every Thursday.
Build output is discarded, unless this is a manually-triggered build.
This produces a 64-bit, relatively minimalistic Puppy with the most recent 5.10.x kernel. It is built using Debian packages and packages built from source, and zero PET packages. Therefore, some things, like the Puppy installer, are broken due to missing dependencies.
It is built for every PR or push that changes files under woof-code or woof-distro/x86_64/debian/bullseye64, and on every Thursday.
Build output is discarded, unless this is a manually-triggered build.
This produces a 32-bit, relatively minimalistic Puppy with the most recent 4.19.x kernel. It is built using Debian packages and packages built from source, and zero PET packages. Therefore, some things, like the Puppy installer, are broken due to missing dependencies.
It is built for every PR or push that changes files under woof-code or woof-distro/x86_64/debian/bullseye64, and on every Thursday.
Build output is discarded, unless this is a manually-triggered build.