Skip to content

feat(workflow): Add support to release for prod-preview|stable - #18

Open
mdsahiloss wants to merge 3 commits into
prod-stagingfrom
mdsahiloss/qa-225
Open

feat(workflow): Add support to release for prod-preview|stable#18
mdsahiloss wants to merge 3 commits into
prod-stagingfrom
mdsahiloss/qa-225

Conversation

@mdsahiloss

@mdsahiloss mdsahiloss commented Jul 23, 2026

Copy link
Copy Markdown

Add support to release for prod-(preview|stable)*

  • Also add meta package support

Depends on: https://github.com/unikraft-cloud/internal-actions/pull/30

@mdsahiloss
mdsahiloss marked this pull request as draft July 23, 2026 15:02
@mdsahiloss
mdsahiloss marked this pull request as ready for review July 23, 2026 15:04
@mdsahiloss
mdsahiloss force-pushed the mdsahiloss/qa-225 branch 2 times, most recently from 4da1a4b to d321bc6 Compare July 27, 2026 07:03
mdsahiloss and others added 2 commits September 10, 2026 11:58
* Also Add support for meta package

Signed-off-by: Md Sahil <Sahil@unikraft.io>
Mirror the versioned package's depends/recommends/suggests into
nfpm-meta.yaml, using unversioned ukp-* package names so the meta
package pulls in the latest compatible siblings.

Signed-off-by: Md Sahil <sahil@unikraft.io>
@mdsahiloss
mdsahiloss force-pushed the mdsahiloss/qa-225 branch 6 times, most recently from a162c48 to 12e6ed0 Compare September 11, 2026 07:50
Build and publish the packages of the prod-staging branches as ukp0-*,
so prod-staging joins the same numbered-release scheme already used by
prod-stableN and prod-previewN. Only ukp0-* is published from
prod-staging: release 0 has no ukp-<component> meta package, so it
cannot pull a numbered release in as a dependency.

* Set RELEASE_VERSION=0 on prod-staging, so nfpm names the package
  ukp0-<component> instead of the unversioned ukp-<component>.
* Skip the meta package for release 0, so prod-staging publishes the
  ukp0-<component> package and nothing else.
* Add `replaces: ukp-<component> (<< ${SEMVER})` so the versioned
  package takes over the files of the unversioned one that
  prod-staging published until now.
* Make the meta package architecture-independent, matching the other
  components, now that it is built on both amd64 and arm64.
* Let the staging build stand in for the newest numbered release, so a
  release node can run individual components from staging. The ukp0-*
  package gains a generated `provides` for ukpN-<component>, versioned
  with `= ${SEMVER}` because an unversioned provides does not satisfy the
  dependencies that carry a version constraint. Only the newest release is
  named: a numbered release conflicts with ukp1-*..ukpN-1-*, and an
  unversioned conflict also catches whatever provides that name, so naming
  an older release would make ukp0-* collide with the very release it is
  meant to sit alongside. No `conflicts` or `replaces` are declared against
  ukpN-* either. Numbered releases never name ukp0-*, so none of this
  reaches customers.

Signed-off-by: Md Sahil <Sahil@unikraft.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant