Skip to content

Conversation

@ndoschek
Copy link
Member

@ndoschek ndoschek commented Oct 14, 2025

What it does

Resolves GH-16314

  • add is_patch_to_previous input to support patching previous release branches, with input validation
  • clarify release_type input documentation
  • fetch full git history to support accurate versioning
  • split publish steps: separate steps for latest and previous patch publishing
  • submit a pull request with the package updates using the eclipse-theia-bot account

Contributed on behalf of STMicroelectronics

Some notes:

  • I saw the initial attempts to this workflow (Automated release publishing #13399)
  • As we have a successful workflow to publish next versions, I would like to achieve that also for the release publishing.
  • And we could benefit from the provenance attestation when publishing via the workflow (as we already have for the next builds)

How to test

Follow-ups

x

Breaking changes

  • This PR introduces breaking changes and requires careful review. If yes, the breaking changes section in the changelog has been updated.

Attribution

Contributed on behalf of STMicroelectronics

Review checklist

Reminder for reviewers

Resolves GH-16314

- add is_patch_to_previous input to support patching previous release branches, with input validation
- clarify release_type input documentation
- fetch full git history to support accurate versioning
- split publish steps: separate steps for latest and previous patch publishing
- replace pull request creation with direct commit/push using bot account

Contributed on behalf of STMicroelectronics
@ndoschek ndoschek requested a review from jfaltermeier October 14, 2025 12:18
@github-project-automation github-project-automation bot moved this to Waiting on reviewers in PR Backlog Oct 14, 2025
@ndoschek
Copy link
Member Author

Hi @jfaltermeier,
As mentioned in the description, I would like to move forward with the publish automation, ideally, I could test this workflow already publish the next path release for 1.65.x (see #16405).
Would be great if you could have a look if you can spot anything critical (especially the part with the PR vs. commit I mentioned in the description).
Thanks in advance!

commit-message: Package update for version ${{ env.NEXT_VERSION_NUMBER }}
body: Automated package update for Theia version ${{ env.NEXT_VERSION_NUMBER }}. Triggered by @${{ github.actor }}.
NPM_CONFIG_PROVENANCE: "true"
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
Copy link
Member

Choose a reason for hiding this comment

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

As of yesterday, npm changed their auth token policy. Instead of rotating the tokens every 90 days (which is very annoying, since we always need to create a helpdesk issue for that), shouldn't we just enable this repo as an OIDC token provider?

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks, I totally agree! As discussed in today's dev meeting, I've created a follow up: #16434

@jfaltermeier
Copy link
Contributor

Hi @ndoschek, first of all this looks very good and I believe it should work.

Regarding the commit vs PR approach:

Using
https://api.eclipse.org/git/eca/status/91f7ee68fc1931687ce38fbaf5d703f9/ui
for [email protected]
does not return a user account, so I think the ECA validation will fail for these commits.

I understand that we will have to force-push some more changes anyway, but the first commit core: update re-exports for v${VERSION} is probably fine already.
I guess it would be easy to forget about this commit and leave it unchanged.

With a PR, the ECA validation would at least downvote if anything is wrong.

I don’t know if it would also be possible to sign an ECA for a bot user, which might be the nicest solution.

@ndoschek
Copy link
Member Author

Thanks @jfaltermeier, I hadn't considered the ECA validation, but that makes total sense and as we use a similar flow for ide-snap publishing I think this is a good solution!

I've updated the workflow to create a PR again.
(In the meantime, I accidentally tested the NPM publishing step with the provenance flag, seems to work fine: https://www.npmjs.com/package/@theia/core?activeTab=versions 😉)

I also did another test run for the workflow, and the resulting PR looks good from my point of view. This should already help streamline the release process a bit, and now we have NPM provenance enabled as well.

Here’s the test run and the corresponding PR:

image

@ndoschek ndoschek marked this pull request as ready for review October 14, 2025 16:08
Copy link
Contributor

@jfaltermeier jfaltermeier left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM

@github-project-automation github-project-automation bot moved this from Waiting on reviewers to Needs merge in PR Backlog Oct 15, 2025
@ndoschek ndoschek merged commit 85b782b into master Oct 15, 2025
10 of 11 checks passed
@github-project-automation github-project-automation bot moved this from Needs merge to Done in PR Backlog Oct 15, 2025
@ndoschek ndoschek deleted the GH-16314 branch October 15, 2025 08:22
@github-actions github-actions bot added this to the 1.66.0 milestone Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Add provenance attestation to Theia's regular NPM releases

4 participants