Skip to content

Latest commit

 

History

History

release-candidate

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Daffodil Release Candidate Container

To improve reproducibility and to minimize the effects and variability of a users environment, the Daffodil release container should be used to create release candidates.

To build or update the Daffodil release candidate container image:

podman build -t daffodil-release-candidate https://github.com/apache/daffodil.git#main:containers/release-candidate

To use the container image to build a release run the following:

podman run -it --privileged --group-add keep-groups --rm \
  -v ~/.gitconfig:/root/.gitconfig \
  -v ~/.gnupg/:/root/.gnupg/ \
  -v ~/.ssh/:/root/.ssh/ \
  --hostname daffodil.build \
  daffodil-release-candidate

When run, the container will periodically ask for user input (e.g. usernames, passwords) to sign and publish release files. Upon completion, you will be asked to verify the release files and, if everything looks good, run a few commands to push the release candidate out. Note that because the container will use tools like git, gpg, and ssh, it is necessary to bind mount your local configuration files into the container with the -v option.

Testing the Container

To test changes made locally, use the following command to build the container:

cd /path/to/daffodi.git/containers/release-candidate
podman build -t daffodil-release-candidate .

The same podman run command above can be used to run the container, but the --dry-run option should be appended to prevent publishing any results.

When done, the container should be deleted to avoid accidentally using it for an official release:

podman image rm --force daffodil-release-candidate