Updating ci base image - LibertyDSNP/frequency GitHub Wiki

Updating ci-base-image may be a two-step process that requires two pull requests.

  1. Create a pull request to publish ci-base-image
  • ci-base-image.dockerfile must contain some changes in order for the CI pipeline to run the correct GitHub workflow to publish a new image.
  • merge-pr.yml MUST update the IMAGE_VERSION for proper version tracking.
  • When the PR is merged, a new ci-base-image will be published and tagged with a new version and latest.
  • You might be done; the CI pipeline uses the latest tag when pulling ci-base-image. Once the new image is published, the CI Pipeline will pull the updated version.
  1. The CI pipeline may be updated to use a specific version at this point, e.g. 1.1.0. Note: ci-base-image must be published before the GitHub workflows can be updated to a new version, therefore a second PR.
  • If needed, create a pull request to update the GitHub workflows, e.g. search and replace container: ghcr.io/libertydsnp/frequency/ci-base-image:1.1.0

General Notes

  • Please note that when changing ci-base-image.dockerfile IMAGE_VERSION should be incremented in the publish-ci-base-image workflow in merge-pr.yml
  • When IMAGE_VERSION is changed, the GitHub workflows will automatically use the last published version. For example, container: ghcr.io/libertydsnp/frequency/ci-base-image:latest always gets the latest ci-base-image. ci-base-image is versioned.
  • If there are build problems with latest, the GitHub workflows can be updated to use the last known version, e.g., container: ghcr.io/libertydsnp/frequency/ci-base-image:1.1.0, in the second PR.