-
-
Notifications
You must be signed in to change notification settings - Fork 239
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
fix: remove deps related to release and switch to npx and non-node config #815
Conversation
semi proof all is good is that CI passes, and previous PRs fail #799 |
@derberg I cannot understand some things, please clarify them:
So that file will be distributed to all repos as I guess. I see that we use
I see in this PR that you remove all deps for plugins from Thanks! |
@derberg I see answer for my second problem:
but still, what about additional plugins? |
@magicmatatjahu these are very good questions!
yes, but only to those that are not having any special modifications. Global workflow that distributes workflows across entire organization supports "selective" approach to workflows distributions. So for example, we won't be able to put generic
Semantic release package, since few months (wasn't like that at the time the first release pipeline was designed), includes some plugins by default, like:
So ☝🏼 do not have to be installed, as they are there in For docker: For studio and server-api we have 2 options:
so new workflow only installs what I just modified now was to make sure we are installing and calling specific versions of the packages
yes, more important for me in 🟢 CI is that finally tests are passing normally without issues with |
Thanks! I realised that when I looked in the asyncapi/.github#172 issue. Thanks!
Probably second approach will be better. In an ideal world it would be possible to somehow connect to the release process and add plugins, but it would be too much work. |
- if: steps.packagejson.outputs.exists == 'true' | ||
name: Publish to any of NPM, Github, and Docker Hub | ||
working-directory: ./.github |
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.
My concern: if we run this script in the ./.github
directory, will it then see project in the root?
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.
yes, working dir is basically set to point where release config file is. It works like a charm with go projects -> https://github.com/asyncapi/parser-go/blob/master/.github/workflows/release.yml#L54 (I just changed location to move it out of workflows
dir)
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 know that it is done so that the script sees the config file but then will it know where to run the whole release process - in the sense on root? Does it go back to root after reading the config? I'm afraid something might not work.
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.
@magicmatatjahu you are right! I assumed all is good but in go projects there is no package json.
I did local dry run and got ENOPKG Missing
package.json file.
I made proper changes. There is no way to point to releaserc file with a flag, so we just have to move it to the root
Co-authored-by: Maciej Urbańczyk <[email protected]>
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
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.
LGTM!
/rtm |
🎉 This PR is included in version 1.9.6 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Description
This PR fixes an issue with generator not able to support node 16 because of issues with release dependencies.
It also is a test of a solution on how we can do release without
pacjage.json
config and dependencies.If this works, changes from this repo will go to
.github
repo and then distributed to all orgpackage.json
for release config and switch to.releaserc
. This way we will configure releases the same across all repos, no matter the technology behindpackage.json
and usesemantic-release
throughnpx
and install additional missing dependency through release pipeline directly.releaserc
could potentially be stored in.github
repo and distributed to selected repos.Related issue(s)
Fixes #801