This repository maintains configuration and tooling for building binary
distributions of Apache Aurora.
Building a binary
Binaries are built within Docker containers that provide the appropriate build
environment for the target platform. You will need to have a working Docker
installation before proceeding.
Fetch a source distribution, such as an official one.
Alternatively, you can also build from an arbitrary git commit by instead preparing sources
from the Aurora source repository:
git archive --prefix=apache-aurora-$(cat .auroraversion)/ -o snapshot.tar.gz HEAD
Run the builder script, providing the distribution platform and the source
distribution archive you downloaded in (1). The example below will build
Aurora 0.22.0 debs for Ubuntu Xenial.
When this completes, debs will be placed in artifacts/aurora-ubuntu-xenial/dist/.
Creating a release candidate
Release candidates are hashed and signed binaries that are uploaded to bintray for
easy access and testing by voters. You will need to have a bintray
account and a generic repo created for the purpose of uploading the release candidate binaries
in order to proceed.
Run the following which will create a tarball for each distribution platform that can be uploaded to
bintray:
N.B.: the release-candidate script requires bash 4.x or higher.
./build-support/release/release-candidate
Signing artifacts for centos-7...
Created archive for centos-7 artifacts at aurora-packaging/artifacts/aurora-centos-7/dist/rpmbuild/RPMS/upload.tar.
Signing artifacts for debian-jessie...
Created archive for debian-jessie artifacts at aurora-packaging/artifacts/aurora-debian-jessie/upload.tar.
Signing artifacts for ubuntu-xenial...
Created archive for ubuntu-xenial artifacts at aurora-packaging/artifacts/aurora-ubuntu-xenial/upload.tar.
All artifacts prepared for upload to bintray.
In the bintray UI, create a new version in your release-candidate repo, for example ‘0.12.0’. Then,
in the version UI you can upload the artifacts. Bintray theoretically supports exploding tarballs on
upload, but currently this functionality does not work (it fails to detect tarballs as explodable
artifacts or, if it does, it tries to sign the artifacts, but fails due to a signature already being
present, even when signing is disabled at the repo level).
This is all to say, it’s easier to just un-tar the various upload.tar files and upload their
contents directly. This can be accomplished by dragging and dropping all files into the upload UI
for the version you created.
Finally, ‘publish’ the results.
Adding a new distribution platform
There are only two requirements for a ‘builder’ to satisfy:
a Dockerfile to provide the repeatable build environment
a build.sh script that creates artifacts
Please see the makeup of other builders for examples.
Packaging for Apache Aurora
This repository maintains configuration and tooling for building binary distributions of Apache Aurora.
Building a binary
Binaries are built within Docker containers that provide the appropriate build environment for the target platform. You will need to have a working Docker installation before proceeding.
Fetch a source distribution, such as an official one. Alternatively, you can also build from an arbitrary git commit by instead preparing sources from the Aurora source repository:
Run the builder script, providing the distribution platform and the source distribution archive you downloaded in (1). The example below will build Aurora 0.22.0 debs for Ubuntu Xenial.
When this completes, debs will be placed in
artifacts/aurora-ubuntu-xenial/dist/.Creating a release candidate
Release candidates are hashed and signed binaries that are uploaded to bintray for easy access and testing by voters. You will need to have a bintray account and a generic repo created for the purpose of uploading the release candidate binaries in order to proceed.
Cut a branch and build the binaries
The example below is for the 0.12.0 release where upstream is https://gitbox.apache.org/repos/asf/aurora-packaging:
Now run the Building a binary procedure detailed above.
Hash, sign and upload the binaries
Run the following which will create a tarball for each distribution platform that can be uploaded to bintray:
N.B.: the release-candidate script requires bash 4.x or higher.
In the bintray UI, create a new version in your release-candidate repo, for example ‘0.12.0’. Then, in the version UI you can upload the artifacts. Bintray theoretically supports exploding tarballs on upload, but currently this functionality does not work (it fails to detect tarballs as explodable artifacts or, if it does, it tries to sign the artifacts, but fails due to a signature already being present, even when signing is disabled at the repo level).
This is all to say, it’s easier to just un-tar the various upload.tar files and upload their contents directly. This can be accomplished by dragging and dropping all files into the upload UI for the version you created.
Finally, ‘publish’ the results.
Adding a new distribution platform
There are only two requirements for a ‘builder’ to satisfy:
Dockerfileto provide the repeatable build environmentbuild.shscript that creates artifactsPlease see the makeup of other builders for examples.