This repository contains the code required to build cross-architecture Docker images on a daily basis. Images are built automatically on Travis CI.
The build script emulates, using QEMU, all supported environments and triggers a Docker build of all Dockerfile. Then, the following tags are pushed:
<arch>-<version>
<arch>-latest
If the release scheme of the software is MAJOR.MINOR, these tags are also pushed:
<arch>-<major>
<arch>-<major>.<minor>
Plus, if the software follows semver:
<arch>-<major>.<minor>.<patch>
- amd64
- armhf
Of course, we appreciate contributions.
- Fork the project
- Duplicate one of the current software folder in the repos directory. It contains:
- A
Dockerfile
. It is a normal Dockerfile, except it does not have aFROM
image - A
Repofile.js
. This contains a function that must return the version of the software - A
README.md
. It describes how to use your image
- A
- Add a
<yoursoftware>
key to the repos/settings.json file The following settings must be set:image
: The base image to use. Can bealpine
orubuntu
versioning
: The versioning scheme of the software. Can beas-is
,major-minor
, orsemver
- Add a
BUILD=<yoursoftware>
job to the.travis.yml
file - Submit a PR
- A fresh, up-to-date (24h or less) Alpine (edge) or Ubuntu (latest release) image is used
- The
CROSSARCH_ARCH
environment variable is set to the currently being built architecture