Skip to content

CLDSRVCLT-21: Release prereleases from the BNaaS D1 epic - #31

Closed
anurag4DSB wants to merge 2 commits into
epic/S3C-10971-bnaas-d1from
improvement/CLDSRVCLT-21-release-from-epic
Closed

anurag4DSB wants to merge 2 commits into
epic/S3C-10971-bnaas-d1from
improvement/CLDSRVCLT-21-release-from-epic

Conversation

@anurag4DSB

@anurag4DSB anurag4DSB commented Oct 14, 2026 •

Copy link
Copy Markdown

Intent: why does this change exist?

The BNaaS D1 epic needs its own cloudserverclient tag, but the release workflow refuses any branch other than development/* and hotfix/*, and it always moves latest. This PR does task 3, row 3.4 in the Tickets tab of the BNaaS D1 tech spec.

System impact: what's affected, including downstream?

Only the release workflow and the version on the epic branch. A manual release runs the workflow file of its own branch, so this works from the epic without a change to development/1.0, and it reaches development with the final merge of the epic. CloudServer does not use the typed client yet, so nothing waits on this tag.

Preserved behavior: what explicitly stays the same?

A GA version from development/* or hotfix/* releases as before: dist-tag latest on npm and GitHub Packages, and a normal GitHub release. No past release was a prerelease, so no existing flow changes.

Intended change: what's different after this PR?

An epic/* branch can release, but only a prerelease version (one with a - part), and any other version fails early. A prerelease goes under the dist-tag prerelease, and its GitHub release is marked as a prerelease, so latest stays on 1.0.13. The second commit bumps the epic to 1.0.14-bnaas.1.

Verification: how do we know this worked, or how would we know if it didn't?

actionlint with shellcheck reports nothing new. I ran the new step locally for development, hotfix and epic refs with GA, prerelease and build-metadata versions, and npm publish --dry-run --tag prerelease passes with npm 10 and 11. After the release, npm view @scality/cloudserverclient dist-tags must show latest: 1.0.13 and prerelease: 1.0.14-bnaas.1.

The release workflow ran only from development/* and hotfix/* branches,
and it always published under the npm dist-tag latest. An epic branch
needs its own tags without moving latest.

An epic/* branch can now release, but only a prerelease version (one
with a "-" part, such as 1.0.14-bnaas.1). Every prerelease version goes
to npm and GitHub Packages under the dist-tag prerelease, and its GitHub
release is marked as a prerelease. A GA version from development/* or
hotfix/* releases as before, under latest.
Set the version on the BNaaS D1 epic to its first epic tag. The release
workflow then publishes 1.0.14-bnaas.1 from the epic branch under the
dist-tag prerelease, and latest stays on 1.0.13.

Epic branch: epic/S3C-10971-bnaas-d1
Cut from: development/1.0 at fb6dd25 on 2026-10-14
Last release on that line: 1.0.13
Changes since that release: 1.0.13...fb6dd25

@francoisferrand francoisferrand left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is on purpose, as per our development process.
a release is an official artifact, and must be on an official branch : so we don't want to allow making releases which are not in the official branches.

@anurag4DSB

anurag4DSB commented Oct 14, 2026 •

Copy link
Copy Markdown
Author

this is on purpose, as per our development process. a release is an official artifact, and must be on an official branch : so we don't want to allow making releases which are not in the official branches.

This is not on official branch, its on epic branch. We will revert the change once we are merging epic branch to development, noted

@francoisferrand

francoisferrand commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

this is on purpose, as per our development process. a release is an official artifact, and must be on an official branch : so we don't want to allow making releases which are not in the official branches.

This is not on official branch, its on epic branch. We will revert the change once we are merging epic branch to development, noted

The point of this limit is to prevent making (official!) releases from non official branches. So it should not even be done on these branches!

@anurag4DSB

anurag4DSB commented Oct 14, 2026 •

Copy link
Copy Markdown
Author

this is on purpose, as per our development process. a release is an official artifact, and must be on an official branch : so we don't want to allow making releases which are not in the official branches.

This is not on official branch, its on epic branch. We will revert the change once we are merging epic branch to development, noted

The point of this limit is to prevent making (official!) releases from non official branches. So it should not even be done on these branches!

we will not be releasing official tags, the tags will be prefixed with a.b.c-bnaas.1, like this: scality/Arsenal#2737

@anurag4DSB anurag4DSB closed this Oct 14, 2026
@anurag4DSB anurag4DSB reopened this Oct 14, 2026
@anurag4DSB

Copy link
Copy Markdown
Author

fat fingered on close

@anurag4DSB

Copy link
Copy Markdown
Author

closing this PR as we found an alternate

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.

3 participants