-
Notifications
You must be signed in to change notification settings - Fork 3
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
DSP-618 Update release process #242
Conversation
@tobiasschweizer and @mdelez This is nothing you can test. It runs on each merged PR into master branch. I tested it on a private repo and we already implemented it in dsp-ui and dsp-app |
@kilchenmann So if I understand correctly, this PR adds a release drafter that creates a release draft after each merged PR. This draft then can be turned into a prerelease. So |
CHANGELOG.md
Outdated
@@ -2,7 +2,7 @@ | |||
|
|||
## v1.0.0-rc.12 (22/09/2020) | |||
|
|||
#### Dependencies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is that a breaking change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The corresponding PR has the label "Breaking"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you're right. The endpoint for permission has changed. But this is not a breaking change for js-lib users. I can update and do a new commit
- name: Get previous tag | ||
id: previoustag | ||
uses: "WyriHaximus/github-action-get-previous-tag@master" | ||
- name: Update version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EDIT Does this mean that after each merged PR, the version in package.json
is changed?
Does the version number get adapted automatically now? If so, how would it be version controlled?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With each release it takes the version number from git tag and updates the version in package.json automatically before publishing to npm.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but then the change in package.json
would not be updated on GitHub, would it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, I think now I get it: "0.0.0-PLACEHOLDER"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but then just looking at the files checked out from git, how would we know the current version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hm, also true.
I am a bit concerned that we will mess up releases by mistyping the release tag
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main problem with updating the version in the git repository: it needs always an extra commit. It needs a PR and a review because we can't push into master branch directly.
I followed angular/components and how they did it. e.g.
https://github.com/angular/components/blob/master/src/material/package.json
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or is there a check that compares to the previous version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we've based a lot of our stuff off how the Angular team works so this seems like an okay method to me. There is the possibility of typo's, but that's true in a lot of places. It's pretty convenient not having to open a PR just to change a number so I think we should try out this method and we just need to be careful when typing the release tag. We also know, thanks to me being a noob a couple weeks back, that we can stop the process from releasing a version that was mistyped/has an error.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @mdelez
And btw we use this workflow already in dsp-app and knora-api since the day we use docker. It builds the docker image with the version defined in git-tag.
Yes exactly. The draft can be turned into a prerelease or a real release.
No, we use release-drafter. Gren is still here, because we can probably use it to update CHANGELOG.md. But this will be part of another PR. |
resolves DSP-618