canonical / kubeflow-ci

Tools and tests for managing the Charmed Kubeflow bundle
Apache License 2.0
2 stars 8 forks source link

Enable pinning our CI build dependencies (ex: `charmcraft`) to specific revisions #133

Open ca-scribner opened 8 months ago

ca-scribner commented 8 months ago

Context

Currently, our CI pins charmcraft (and any other build dependency) to a channel (typically latest/edge or latest/candidate). When we release a version (eg: push code to a track/* branch) to publish it, those build tools remain pinned to channels that change over time as the tools are updated. This means that we have no reliable way to rebuild exactly the same as before, but instead just the charm with new build tools.

Because charmcraft and other tools have introduced backward incompatible changes or bugs, this has often meant when we go to backport or bugfix a released track we cannot build it at all, blocking us from doing these tasks.

What needs to get done

  1. modify our CI to allow for pinning build tools to a revision, not just a channel. This will require:
  2. implement automation that lets us pin these tools as we create a branch (avoiding the need for a human to look up the correct revision for every branch creation)

Definition of Done

  1. build dependencies can be statically pinned in all charm repo branches
syncronize-issues-to-jira[bot] commented 8 months ago

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-5415.

This message was autogenerated