Skip to content

Conversation

@ctnkaan
Copy link

@ctnkaan ctnkaan commented Feb 14, 2024

Related to #372

Me and @0xD3n worked on creating this pipeline.

  • Changed History.md to CHANGELOG.md
  • fetch-npm-version: Fetches the version from npm
  • create-github-release: Creates an new release with the title of the version number and hyperlink to CHANGELOG.md

Copy link
Collaborator

@jonkoops jonkoops left a comment

Choose a reason for hiding this comment

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

Couple of notes:

  1. I think we can put all the work in a single job (under publish)
  2. Getting the version of the package should be possible locally, using npm pkg get version | xargs or cat package.json | jq -r '.version'. This also prevents issues when we're releasing patches for older versions, rather than just the latest tag.

@ctnkaan
Copy link
Author

ctnkaan commented Mar 21, 2024

I've made some improvements but could not quite test it well. I will double check on this tomorow or this weekend if changes are needed.

NPM_CONFIG_PROVENANCE: true

- name: Create GitHub Release
run: gh release create ${{ steps.get_version.outputs.version }} --title ${{ steps.get_version.outputs.version }} --notes "Full changelog at https://github.com/JedWatson/classnames/blob/main/CHANGELOG.md"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Here there is a reference to a step with the id get_version, but looks like the package version step is missing that id.

Copy link
Author

Choose a reason for hiding this comment

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

Oh you're right I'll fix it

NPM_CONFIG_PROVENANCE: true

- name: Create GitHub Release
run: gh release create ${{ steps.get_version.outputs.version }} --title ${{ steps.get_version.outputs.version }} --notes "Full changelog at https://github.com/JedWatson/classnames/blob/main/CHANGELOG.md"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Thinking that we might want to use the current commit rather than main, so that the relevant notes for that release are always on top. WDYT?

Copy link
Author

Choose a reason for hiding this comment

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

Sounds good I'll try to add this feature. By the way sorry for the late responses the work has been pretty heavy these few weeks.

Copy link
Collaborator

Choose a reason for hiding this comment

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

No worries, I also maintain this stuff in my spare time, so I know the pain 😉

Copy link

Choose a reason for hiding this comment

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

I don't think it is a good idea to use the current commit as if the CHANGELOG did not get updated with that commit it would be empty so I thought linking the main branches CHANGELOG would be a better idea.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think it is a good idea to use the current commit as if the CHANGELOG did not get updated with that commit

That's ok. I always update the changelog before release. In the future I'd like to automate this proccess also.

run: |
VERSION=$(npm pkg get version | xargs)
echo "Package version is $VERSION"
echo "::set-output name=version::$VERSION"

Choose a reason for hiding this comment

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

Suggested change
echo "::set-output name=version::$VERSION"
echo "name=$VERSION" >> $GITHUB_OUTPUT

https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Copy link
Collaborator

Choose a reason for hiding this comment

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

Good catch.

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.

4 participants