Skip to content

Conversation

@Saadnajmi
Copy link
Collaborator

Summary:

One part of our publish process we have not yet automated is setting the v0.xx-stable and next tags when a new release is promoted or demoted. Let's automate this by specifying additional tags in our CI that should be set when we publish a release. Now, a new latest or patch to latest will also always set is 0.xx-stable tag.

Note: Previously, if 0.xx was tagged as latest, we would not have had a v0.xx-stable tag. Now we will always have both latest and the 0.xx-stable tag.

Test Plan:

I duplicated this change to #2800 and #2801 . We can look at the dry run output for both to make sure release is behaving as expected.

@Saadnajmi Saadnajmi requested a review from a team as a code owner January 14, 2026 20:44
console.log(`##vso[task.setvariable variable=additionalTags]${tagsValue}`);
// GitHub Actions
if (process.env["GITHUB_OUTPUT"]) {
fs.appendFileSync(process.env["GITHUB_OUTPUT"], `additionalTags=${tagsValue}\n`);
Copy link
Member

Choose a reason for hiding this comment

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

What is this line supposed to do? GITHUB_OUTPUT is an env var. Why are we writing to it as if it's a file?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Apparently, it's actually an "environment file", that contains key value pairs

https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-commands#setting-an-output-parameter

log(`Expected npm tag: ${tag}`);
return { npmTag: tag };
// When promoting to latest, also add the version-specific stable tag
const versionTag = "v" + branch;
Copy link
Member

Choose a reason for hiding this comment

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

Drop the v prefix?

Comment on lines -367 to -369
// If we're demoting a branch, we will need to create a new tag. This will
// make Nx trip if we don't specify a fallback. In all other scenarios, the
// tags should exist and therefore prefer it to fail.
Copy link
Member

Choose a reason for hiding this comment

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

Did Nx fix this? Whenever we publish a new minor, wouldn't this still trigger?

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.

2 participants