Skip to content

Sets up a release job for Lute#960

Open
Vighnesh-V wants to merge 1 commit intoprimaryfrom
lute-release-job
Open

Sets up a release job for Lute#960
Vighnesh-V wants to merge 1 commit intoprimaryfrom
lute-release-job

Conversation

@Vighnesh-V
Copy link
Copy Markdown
Collaborator

@Vighnesh-V Vighnesh-V commented Apr 8, 2026

The job that will be used for automating releases and the job that will be used for nightlies share a lot of common actions. This PR separates the common chunk out into a re-usable workflow, called shared-build which is parameterized on the branch name.

  1. Nightlies can be manually kicked off, but will continue to run with the current cadence. These will automatically run of the 'primary' branch.
  2. Releases will be kicked off on release/v{Major}.{Minor}.x branches.

In both cases the job will check out the branch and derive the tag name directly from the get_version.cmake command. If the branch is primary, we'll get 'nightly.YYYMMDD' appended.

@Vighnesh-V Vighnesh-V force-pushed the lute-release-job branch 3 times, most recently from 6f5fbf4 to 04fcd71 Compare April 9, 2026 00:08
Copy link
Copy Markdown
Member

@aatxe aatxe left a comment

Choose a reason for hiding this comment

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

Mostly looks good, but some comments.

@@ -0,0 +1,136 @@
name: _shared_release
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This file is an editor artifact, right?

@@ -0,0 +1 @@
[email protected] No newline at end of file
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Ditto about this being an editor artifact

@@ -0,0 +1,140 @@
name: _shared_release
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Feel like this should probably be called shared-release then? Or maybe release-backend or something of that sort? shared-build feels a little odd since it does do release-specific workflow tasks, not just building the artifact.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think shared-release is a better name for this file!


Lute uses branches with the format: `release/v{Major}.{Minor}.x` to store changes associated with a given release.
We tag commits with the format `v{Major}.{Minor}.{Patch}` to indicate that a commit should be build as that release version.
Changes like security updates, hotfixes, etc, occur on these branches and go through the code review process in order to be merged.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There's probably some nuance here. I think changes that would affect all future versions should probably always be against primary (or at least generally be?), with the idea that we'll, as maintainers, cherry-pick them to any supported release branches as-needed if there's a high degree of urgency. If the issue only exists in that version, then yeah, it should definitely just be against the version. I think a workflow that has most contributors mostly working against primary is probably the easiest to support.

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