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

Automated semantic versioning and release drafter #801

Merged
merged 17 commits into from
Aug 13, 2024

Conversation

zulissimeta
Copy link
Collaborator

@zulissimeta zulissimeta commented Aug 9, 2024

  • PRs now require a label for major/minor/patch to indicate what sort of release effect it will have. They can be retroactively labeled/relabeled
  • PRs also require a label of enhancement/test/documentation/test/deprecation/dependencies to indicate what type of change it is.
  • When code changes for one of the packages (core, data_oc, applications_cattsunami, demo_ocpapi), a draft release is created or updated if already exists. Only PRs that touch the package will be included. No other packages will be affected.
  • Semantic versioning is used based on the largest of the included changes (major/minor/patch)
  • On a release, the package affected will be released, and the docs will be built and deployed

@zulissimeta zulissimeta requested review from lbluque and misko August 9, 2024 18:08
@zulissimeta zulissimeta changed the title Calver (calendar versioning) and release drafter Automated semantic versioning and release drafter Aug 10, 2024
@zulissimeta zulissimeta added the minor Minor version release label Aug 10, 2024
@zulissimeta zulissimeta added the enhancement New feature or request label Aug 10, 2024
Copy link

codecov bot commented Aug 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

@zulissimeta zulissimeta enabled auto-merge August 12, 2024 16:18
Copy link
Collaborator

@lbluque lbluque left a comment

Choose a reason for hiding this comment

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

lgtm, thanks @zulissimeta!

Just to make sure I understand how releases will work:

  1. On each push to main a release draft is made/updated based on the package that was changed in the merge.
  2. Then when we are ready for release we need to tag the commit and push the tag. As long as the commit tag is the latest one on the draft that is automatically associated with the release on Github? Or do we need to do anything else?
  3. Once the release is made on github, then the release.yml worfklow gets triggered.

Is the above correct?

Copy link
Collaborator

Choose a reason for hiding this comment

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

This file looks like a duplicate for this https://github.com/FAIR-Chem/fairchem/blob/main/.github/release.yml, right?

tag-prefix: fairchem_core
tag-template: 'fairchem_core-$RESOLVED_VERSION'
name-template: 'fairchem-core-$RESOLVED_VERSION'
exclude-contributors: [github-actions]
Copy link
Collaborator

Choose a reason for hiding this comment

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

can we exclude dependabot as well?

@zulissimeta zulissimeta added this pull request to the merge queue Aug 13, 2024
Merged via the queue into main with commit cc3c555 Aug 13, 2024
8 checks passed
@zulissimeta zulissimeta deleted the calver_release_draft branch August 13, 2024 06:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request minor Minor version release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants