-
Notifications
You must be signed in to change notification settings - Fork 282
Building a Puppy on GitHub
(It's recommend to have some basic understanding of woof-CE before you attempt this: see README.md.)
- Go to the Actions tab of your fork of https://github.com/puppylinux-woof-CE/woof-CE:
- Select the "release" workflow:
Then, specify a version number, specify a release name suffix, etc' and click "Run workflow":
Not all parameter combinations will work:
- Make sure the architecture is supported
- Make sure the distro is supported
- Make sure distro version is supported and exactly how woof-CE calls it.
To check if the architecture, distro and distro version is supported, follow these steps-
- Go to this webpage (The link takes you to
woof-distro
directory of woof-CE. Please check README.md to understand whatwoof-distro
does). - The webpage opened will contain all architectures supported. You can fill either of these in
Architecture
parameter while running the github action. - Click the desired architecture in the webpage. This will open up another webpage, which contains all the supported distros for that specific architecture. You can fill either of these in
Compatible distro
parameter while running the github action. - Click the desired distro in the webpage. This will open up another webpage, which contains all the supported distro versions for that specific distro for that specific architecture. You can fill either of these in
Compatible distro version
parameter while running the github action.
For example, specify focal64
and not 20.04
in an x86_64 build, to use build puppy based on Ubuntu 20.04 packages.
- Make sure the kernel you selected is available for the chosen architecture.
For example, if you want an Ubuntu 20.04 based build for ARM and there's no ubuntu
directory under arm/
, or no focal
subdirectory under arm/ubuntu
, this means this combination is not implemented and won't work (the configuration files are missing).
If you wish to build an updated version of a previous Puppy release using the latest woof-CE, without guarantee of 100% faithful reproduction, use these configurations:
-
x86_64
,slackware64
,14.2
,4.19.x
(similar to Slacko64 7.0) -
x86_64
,ubuntu
,focal64
,5.4.x
(similar to Fossapup64 9.5) -
x86
,slackware
,14.2
,4.19.x
(similar to Slacko 7.0) -
x86_64
,ubuntu
,bionic64
,4.19.x
(similar to BionicPup64 8.0)
Generally, the combinations built by scheduled runs of woof-CE are the ones most likely to work.
The release name suffix can be empty, but otherwise must start with "-" (i.e. -alpha, -alpha1, -beta2, -rc1).
If you don't intend to publish a publicly-available release that can be later downloaded by others including people without a GitHub account, leave "Upload release draft" unchecked. But in case you're planning to publish the build output in a release, select "Upload Release draft" option (read #3760 for reason). If you don't want to keep the build and still select "Upload Release draft" option, you are wasting storage space: if you abuse GitHub Actions resource limits, build will start to fail and can cost you money. In case you're builds start to fail for such a reason, you can try deleting few of your draft releases. Release draft upload is disabled for puppylinux-woof-CE/woof-CE, so available storage space can be used for shared resources like kernels: publish releases only in forks of woof-CE, under your personal account.
- Wait for the build to start (refresh the page if needed), then click it:
- Select the build job:
- Get a healthy snack and monitor the logs:
- If the build has passed, your shiny new Puppy should be available under Artifacts for one day:
In addition, if you checked the "Upload release draft" checkbox, it should be available under the Releases page.
Click Releases as shown here to visit your woof-CE fork's Release page, or directly visit https://github.com/your-github-username/woof-CE/releases
.
This new release is release draft: it's visible only to woof-CE members (or you, if it's a fork of woof-CE):
You can discard it (for example, if you tested it and found it to be buggy):
Make sure you delete all unwanted draft releases, to free storage space for other builds.
Or, you can publish it so users can see and download it:
- Get more healthy snacks, call your friends and throw a Puppy testing party.