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
feat: add new release workflow with automated release publishing #242
Conversation
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.
Just a small question, otherwise looks good 😄
package.json
Outdated
@@ -1,5 +1,5 @@ | |||
{ | |||
"name": "asyncapi-generator", | |||
"name": "@asyncapi/asyncapi-generator", |
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.
Now that we are changing the name shouldn't the name just be @asyncapi/generator
? 🤔
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.
Yup, agree with @jonaslagoni. Also, we need to make it clear what happens with the package asyncapi-generator
. Should we leave this change for another PR?
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.
yeap, makes a lot of sense, good 👁 @jonaslagoni
@fmvilas not much to do here, in my opinion, once we merge this PR and @asyncapi/generator
gets published, we should deprecate asyncapi-generator
with clear message what is the new one and that we do not do versioning from the very beginning but continue, something like https://www.npmjs.com/package/babel
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.
Ok, as far as you don't forget to deprecate the current package, everything is fine :)
Let's also put it in the newsletter and make sure @evamorcillo communicates it on social networks too.
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 anyway want to clearly explain tomorrow during community call how automated flow will look like, and what changes it brings, so it is better to understand for all and we can share details easily by sharing a link to the recording
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.
That's a great idea 👍
@fmvilas @jonaslagoni version changed, conflicts solved |
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.
👍
if: steps.initversion.outputs.version != steps.extractver.outputs.version | ||
run: | | ||
echo ${{secrets.DOCKER_PASSWORD}} | docker login -u ${{secrets.DOCKER_USERNAME}} --password-stdin | ||
npm run docker-build |
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.
Just wanted to re-iterate that for the docker build I did not mean we should use npm to run it [ https://github.com//issues/220#issuecomment-589755835 ].
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.
Yeap I know, but I created this npm script for build as par my comment #220 (comment) because docker build
part is useful on local development. So better have one script for that for local and CI
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.
💪
ok, keep fingers crossed so after merge nothing 💥
I merge and if all goes well, we should get a 0.34.0 automatically released 🤞 |
🎉 This PR is included in version 0.34.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Fixes: #225
See also: #220
This PR introduces conventional commits and a short cheat sheet to follow for those that are new to this specification
there is now a separate contribution guide that explains how PR titles should look like
PR template with info about contribution guide and PR description structure
makefile and release.sh removed, docker build added to npm script and rest moved to github action. We no longer use custom docker image for extracting npm version, but we do it in a "npm native way", look into new special script for it
New workflow is very descriptive now and all clear what is happening
Once we successfully release to NPM, nice GitHub release is added:
Also bump in package.json is done and change commit by bot. Keep in mind that because of branch protection it is not direct commit, but branch -> pull request -> automerge flow
npm and github publishing is done with support of semantic-release and its plugins that are configured explicitly for conventional commits. If commit message is not
feat
orfix
or has no!
then no release is triggeredif you will make sure that title of PR is ok, then you can easily squash then as squash&marge will take PR title as commit message
What failed in this task:
Resource not accessible by integration
actions/labeler#12 (comment). Only custom basic Action could work that I would have to write from scratch, but imho this is to much for this taskautomerge
and it is merged, so even maintainers do not have to havewrite
access to repo. Anyway, that failed because of GH actions limitationRelease flow diagram: