Skip to content

Building a Puppy on GitHub

Dima Krasner edited this page Nov 5, 2022 · 51 revisions

(It's recommend to have some basic understanding of woof-CE before you attempt this: see README.md.)

  1. Go to the Actions tab of your fork of https://github.com/puppylinux-woof-CE/woof-CE:

  1. 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:

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:

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 release that can be later downloaded by other users, leave "Upload release draft" unchecked. Otherwise, you are wasting storage space: if you abuse GitHub Actions resource limits, build will start to fail and can cost you money.

  1. Wait for the build to start (refresh the page if needed), then click it:

  1. Select the build job:

  1. Get a healthy snack and monitor the logs:

  1. If the build has passed, your shiny new Puppy should be available under Artifacts for one day:

artifacts artifacts2

In addition, if you checked the "Upload release draft" checkbox, it should be available under the Releases page (Releases shown here should be clicked to see your release draft):

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:

  1. Get more healthy snacks, call your friends and throw a Puppy testing party.