- Copy the files from the
github/
directory to your project repo's.github/
directory - Customize the
.github/debian-distro-settings.yaml
config file for your project- Set
package
andprojectName
- Add optional
scriptPreCmd
,scriptPostCmd
and/orconfigureSourceCmd
scripts to.github/docker/
- Optionally add or remove distro versions to build for, and optionally add or remove distro version and architecture combinations
- Set
- Commit the changes and push them
- Check the "Actions" tab on your GitHub project web page for build errors
The workflow can optionally sign packages:
- Go to the GitHub repo "Settings" tab, "Secrets" section
- Add a GitHub repo secret,
PACKAGE_SIGNING_KEY
, with the ascii key pasted from output ofgpg --export-secret-keys --armor
- For local builds, set
PACKAGE_SIGNING_KEY_ID
inlocal-env.yaml
(see below)
The workflow can optionally push packages to Cloudsmith:
- Add a GitHub repo secret,
CLOUDSMITH_API_KEY
These tools can be run locally. In your project, copy
.github/local-env-sample.yaml
to .github/local-env.yaml
and edit
it as indicated. DO NOT COMMIT IT TO GIT! It contains sensitive
secrets and should not ever be shared.
There are three main tools; use the --help
option
for more information:
containerimage
: Build (or pull or push) a Docker image for a particular Debian/Ubuntu release and architecturerundocker
: Run a command or an interactive shell in one of the imagesbuildpackages
: Usually run inside ofrundocker
, perform various packaging functions, most notably, build source and binary packages, and sign packages.
To set up a Python virtual environment to run these tools:
python3 -m venv /tmp/mk-ci-venv
bash # Start new shell (optional)
source /tmp/mk-ci-venv/bin/activate
git clone https://github.com/zultron/docker-registry-client /tmp/mk-ci-venv/drc
(cd /tmp/mk-ci-venv/drc; python3 setup.py install)
(cd actions/initDeps; python3 setup.py install)