Skip to content

Conversation

@elmsdata
Copy link
Contributor

Fixes #20

Changes

Create Github Action to automate releases and changelog based on pull requests.

One line description for the changelog

Create Github Action to automate releases and changelog based on pull requests.

  • Tests pass
  • Appropriate changes to README are included in PR

@elmsdata elmsdata merged commit 2910297 into cdevents:main Apr 11, 2023
@afrittoli
Copy link
Member

Thanks, @elmsdata for this PR.

If I read this correctly, the automation will trigger a release every time there is a push to main i.e. every time a PR is merged. How is the versioning of releases going to work? Can we make patch releases for previous releases? Is there a way to associate an SDK release with a spec release?

It would be useful as a follow-up to add some documentation about how releases are managed for this package.

@elmsdata
Copy link
Contributor Author

Thanks, @elmsdata for this PR.

If I read this correctly, the automation will trigger a release every time there is a push to main i.e. every time a PR is merged. How is the versioning of releases going to work? Can we make patch releases for previous releases? Is there a way to associate an SDK release with a spec release?

It would be useful as a follow-up to add some documentation about how releases are managed for this package.

Hey @afrittoli and thanks for reviewing my PR! Great questions, I was going to originally have a fully automated process that would try to be smart about incrementing the version change (either major, minor or patch) based on the tags in the pull request. However, I saw other projects that did this and it works great for large, complicated projects that are fully mature in their contribution model. For our Python SDK, I wanted to take your approach where we still have a manual step to set the version.

So I wrote the script to pull the version based on the pyproject file, line 3. Then each time a pull request is open, the contributor would have to manually update the project file. If the community felt it was a breaking change then we would increment the minor patch. This can also be easily leveraged for spec release, just simply open a pull request with the incremental change to the project file! I was also going to update the pull request template to include a new checkbox to increment the project version.

Still experimenting with the versioning, why I set the version to 0.0.0 in the project file. It works great in my local github workspace but ran into a few challenges once I merged it. 😄 Once I'm down and have added the automation to release to the python public location I would love to add documentation around the process!

For other SDK projects, the only item that would change is how we pull the version and from which file.

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.

Automate Github releases and changeling

2 participants