PrefectHQ / prefect-helm

Helm charts for deploying Prefect Services
Apache License 2.0
100 stars 60 forks source link

chore: switch release workflow to manual, dispatch-based trigger #298

Closed parkedwards closed 9 months ago

parkedwards commented 9 months ago

Update 2/9/24 - we're also going to always run the lint-and-test jobs, as they are required status checks in this repo

-- relates to https://github.com/PrefectHQ/prefect-helm/issues/297

currently, our chart release workflow looks like this:

  1. a chart version is set according to the date 2024.2.8
  2. a release/tag in this repo triggers the helm build

a new chart release is triggered by one of the following:

  1. anytime our upstream OSS library has a new update
  2. a manual release/tag is created in this repo

this poses an issue whenever we need to cut multiple OSS releases on the same day, as this results in a release/tag conflict in this repo

in order to solve this, we will:

  1. modify the chart versioning schema to include the numerical hour + minute + seconds via pre-release append (at the time the release workflow is executed). This allows us to create multiple releases on the same day, without fear of conflict, as the version schema will now be something like 2024.2.8-204348
  2. only run the release workflow on workflow_dispatch, which is reflects the current manual trigger for ad-hoc releases. additionally, the upstream OSS repo will call gh workflow run on the helm-release.yaml workflow in this repo -- this ensures that both release triggers operate on the same logic

additionally, we'll avoid the pitfall revealed in this issue around semver-based ordering not honoring our versioning schema, as this pre-release append ascends numerically + honors the overall schema

https://jubianchi.github.io/semver-check/#/version/2024.2.8-204348