Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding release action #426

Merged
merged 4 commits into from
Nov 12, 2024
Merged

Adding release action #426

merged 4 commits into from
Nov 12, 2024

Conversation

dwertent
Copy link
Contributor

@dwertent dwertent commented Nov 11, 2024

Overview

This PR introduces a new GitHub Action workflow called release, which can be triggered either by creating a tag or manually.

The release action orchestrates the following release steps:

  1. Release Images – Builds and releases Docker images.
  2. Release Charts – Packages and releases Helm charts.
  3. Release TypeScript SDK – Publishes the TypeScript SDK.

Each release step is modular and can also be executed independently as a manual action.

Signed-off-by: dwertent <[email protected]>
CR_TOKEN: ${{ secrets.GITHUB_TOKEN }}

release-cli-sdk:
needs: release-charts
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this mean the releases are always tied together? I can see us potentially iterating rapidly on the TypeScript SDK to add additional methods (it's pretty incomplete right now). But each time we implement a method, we'll be bumping the version and releasing everything in Paladin?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, the TypeScript release can be executed separately.

The dependency between the chart release and SDK release is in place for scenarios where updates have been made in the SDK that aren’t yet reflected in the chart. In these cases, it’s best to release the chart first, followed by the SDK, to ensure compatibility.

However, if you’re still developing the SDK and the required functionality is already available in the chart, you can manually release the SDK.

Copy link
Contributor

Choose a reason for hiding this comment

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

Perfect. I think we'll get to a point that it makes sense to release everything together. For now, I think the SDK will be playing catch-up to expose everything that Paladin already does... and I want to avoid doing releases of the operator if nothing in Paladin has actually changed, as it could be confusing to have a bunch of releases that don't actually have any new functionality.

@dwertent dwertent requested a review from awrichar November 11, 2024 21:13
run: |
set -e
../../gradlew build
npm publish
Copy link
Contributor

Choose a reason for hiding this comment

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

We should make sure the name in package.json matches the LF Decentralized Trust org. I think it should be @lfdecentralizedtrust-labs/paladin-sdk based on Discord conversation.

Signed-off-by: dwertent <[email protected]>
@dwertent dwertent requested a review from awrichar November 11, 2024 21:39
@dwertent dwertent enabled auto-merge November 12, 2024 14:50
@dwertent dwertent merged commit b629688 into main Nov 12, 2024
6 checks passed
@dwertent dwertent deleted the release-ci branch November 12, 2024 15:19
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