-
Notifications
You must be signed in to change notification settings - Fork 66
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
ci: simplify release workflow configuration #204
Conversation
with: | ||
github_token: ${{ secrets.GH_TOKEN }} | ||
patterns_to_include: .github/workflows/if-nodejs-release.yml,.github/workflows/if-nodejs-version-bump.yml,.github/workflows/bump.yml | ||
topics_to_include: get-global-node-release-workflows |
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.
@KhudaDad414 can you have a look? these topics names 🤔 @jonaslagoni @magicmatatjahu @smoya pinging you so you are aware of this proposal. That with merge of this PR, auto updates of release and other workflows will stop until repo owner opts in again. Advantage in your cases is modelina next releases and parser/parser plugin releases. So you can easily modify |
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! just a teeny-tiny question. HOW DO YOU TEST THESE CHANGES? 😆 Definitly interested to know what is your approach in working with CI/CD. maybe an article 🥺 👉👈
@KhudaDad414 dude you expect too much from me. I asked ChatGPT for you but even AI provides stupid answer 🤣 On the serious side. I know https://github.com/nektos/act is there and is very popular, but I was too lazy to try it out 😄 I have 2 approaches, also because in complex scenarios I do not trust tools to do proper integration tests for me, and I value manual testing more (this is why there are still 100s of companies still having big teams of manual testers)
Sorry for disappointing you 😄 |
@derberg thanks mate for the explanation. |
/rtm |
Description
--if-present
with all npm scripts. Before release configuration was a problem as you could easily forget to add some script that was just echoing message that script is not yet implemented. Now release configuration per repo will be simpler, you add scripts only if you really need themsemantic-release
semantic-release
. It is because semantic release is now shipped with many default plugins includedpackage.json
. Until now every maintainer had to add it manually. Now we keep config in.releaserc
and can push it out as global file to any repo that needs it.Breaking Changes
tl;dr After we merge this PR, changes in
if-nodejs-release.yml
,if-nodejs-version-bump.yml
,bump.yml
files no longer will be replicated to all nodejs projectsWhy?
semantic-release
uses https://github.com/davidtheclark/cosmiconfig for loading configurations, and according to their docs, unfortunately, first priority is package.json and later dedicated files 😞 In theory it should not be a problem, but because of different dependencies on package.json level and the ones installed in the workflow...I just do not want to "assume all will be fine"Also, the cleanup anyway has to be done in the repo before new workflows are applied.
What will maintainers have to do?
There will be instructions, but basically they:
package.json
from dependencies, and release config.github
repo maintainers to run workflow that will push new workflows to the repowhat do you think?
Related issue(s)
Resolves #172