Code Monkey home page Code Monkey logo

Comments (6)

travi avatar travi commented on June 21, 2024

looks like you are running into a combination of semantic-release/semantic-release#2929 and semantic-release/semantic-release#2932. we have PRs started in semantic-release/release-notes-generator#526 and #519 to address semantic-release/semantic-release#2929. in https://github.com/semantic-release/release-notes-generator/pull/526/files#diff-bee027b39eb704f3c940d54960f4f26693260c52d72707ac17d72f38f66da7d5L35-L40, we've removed that usage of promisify and plan to do the same in this package as well.

thanks for the investigation into the symptoms. i think we are covered this specific fix already in the beta, but interested in more feedback if you find more that we should investigate.

please give the beta version a try, as mentioned in semantic-release/semantic-release#2929, and let us know if you still have any problems with that.

from commit-analyzer.

SamMousa avatar SamMousa commented on June 21, 2024

For now my workaround is just to specify an empty presetConfig.
I'm confused why i'm seeing exit code 0 though; since node itself should be dying with exit code 13...

from commit-analyzer.

travi avatar travi commented on June 21, 2024

that is the reason we've created semantic-release/semantic-release#2932 we've had other reports of similar exiting with the wrong exit code for other failures. it is likely that we are not catching something properly somewhere. i think the key detail is that it is not specific to this issue, but is noticed when other legitimate failures occur. we agree that this is a problem, but have been mostly focused on semantic-release/semantic-release#2929 up to this point.

if you would be interested in helping us investigate this problem, we would greatly appreciate the help.

from commit-analyzer.

rvagg avatar rvagg commented on June 21, 2024

It's because of this: conventional-changelog/conventional-changelog#1045

conventional-changelog are now exporting async functions rather than functions that optionally accept a callback, so promisify() is silently failing, thinking it's done its work having not received anything back on the callback .. because there is none. So no errors, no exit code!=0.

This fixes it in lib/load-parser-config.js, but it's not pretty:

  loadedConfig = await (typeof loadedConfig === "function"
    ? isPlainObject(presetConfig)
      ? loadedConfig(presetConfig)
      : loadedConfig.constructor.name === 'AsyncFunction'
        ? loadedConfig()
        : promisify(loadedConfig)()
    : loadedConfig);

For me, the workaround is to pin to conventional-changelog-conventionalcommits@6 because 7.0.0 is where the change is introduced: https://github.com/conventional-changelog/conventional-changelog/releases/tag/conventional-changelog-conventionalcommits-v7.0.0

My bad for not pinning versions properly in my hacky Github Actions config.

from commit-analyzer.

travi avatar travi commented on June 21, 2024

It's because of this: conventional-changelog/conventional-changelog#1045

thanks for the additional investigation. good to hear that this particular situation is likely to be covered by our pending changes.

we're working on getting a beta version promoted to stable to handle the updates from conventional-changelog, which should handle this and remove the use of promisify. that beta can be found at semantic-release/semantic-release#2934. once we get that out, we still plan to investigate improper exits since we have had some other reports before this conventional-changelog update, so i think we still have some additional situations to handle.

from commit-analyzer.

github-actions avatar github-actions commented on June 21, 2024

🎉 This issue has been resolved in version 11.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

from commit-analyzer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.