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

Chore/verify release job #376

Closed
wants to merge 2 commits into from
Closed

Chore/verify release job #376

wants to merge 2 commits into from

Conversation

jimid27
Copy link
Collaborator

@jimid27 jimid27 commented Jan 18, 2024

@jimid27 jimid27 requested a review from a team as a code owner January 18, 2024 15:49
Comment on lines +13 to +26
verify-release:
name: Verify Release
runs-on: ubuntu-latest
outputs:
release: ${{ steps.verify-release.outputs.release }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Verify Release
id: verify-release
uses: prefecthq/actions-verify-npm-package-bump@main
# This job is used to build and publish the release if the verify-release job passes.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can you explain why this is needed? I've gotten a bit removed from how this all works but the release step has always stopped without attempting to publish duplicate packages. Is this because the update PR step isn't aware that no new package was published? The action for that also has an output that says if a publish happened https://github.com/JS-DevTools/npm-publish.

Copy link
Collaborator Author

@jimid27 jimid27 Jan 18, 2024

Choose a reason for hiding this comment

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

It's actually a bit weird but essentially we run this "release" workflow when two params are met:

  1. The package.json file has change
  2. A merge to main has occurred

The issue with this is that the package.json can change without a bump in the actual package version in the package.json. We cannot run a job based off of that level of granularity in a file change. So what this job does is verify that a version change has occured before moving onto the release step. Basically avoids these errors in the job: https://github.com/PrefectHQ/vue-compositions/actions/runs/7563179529/job/20595077477

Copy link
Collaborator

Choose a reason for hiding this comment

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

Would it help to change this to run off of the tag that gets pushed with the package change? That would prevent this from being triggered when just a package is updated or something.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We def could move to only releasing when a tag is created. As it stands right now this release job actually creates the tag and release

Copy link
Collaborator

Choose a reason for hiding this comment

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

Um it doesn't create the tag actually but rather uses an existing tag. When we do a release we locally run npm version which does a few things

  • Updates the package.json with the new version
  • Generates the CHANGELOG.md
  • Creates a single commit with those changes
  • Adds a tag equal to the new version to that commit

Then we push that commit (or merge it). The workflow picks up that package.json was changed and might need to do a publish. Then after publishing it creates the github release using the same tag.

At least that's my understanding. Does that match what you're seeing?

Copy link
Collaborator Author

@jimid27 jimid27 Jan 18, 2024

Choose a reason for hiding this comment

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

🤦 I'm way overcomplicating this. You are 100% correct. We can just use the publish output. Updating all now 🤦

@jimid27 jimid27 closed this Jan 18, 2024
@jimid27 jimid27 deleted the chore/verify-release-job branch January 18, 2024 18:01
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