Giter Site home page Giter Site logo

kengotoda / gradle-semantic-release-plugin Goto Github PK

View Code? Open in Web Editor NEW
31.0 3.0 14.0 2.77 MB

Automated release management for Gradle project

Home Page: https://www.npmjs.com/package/gradle-semantic-release-plugin

License: MIT License

TypeScript 99.50% Java 0.26% JavaScript 0.24%
semantic-release-plugin gradle semantic-release

gradle-semantic-release-plugin's Introduction

A semantic-release plugin for Gradle project

Yet another gradle-semantic-release-plugin that invokes Gradle wrapper script to release.

Build npm Commitizen friendly semantic-release: angular

Precondition

To apply this semantic-release plugin, you need to fulfill the following preconditions:

  1. Your Gradle project should manage its version by gradle.properties (not by build.gradle nor build.gradle.kts).
  2. Your Gradle project should have an executable Gradle wrapper script at the project root directory.
  3. Your CI environment should run on Linux environment that can run ./gradlew.
  4. Your Gradle project should use Maven Publish Plugin, Legacy publishing, Gradle Artifactory Plugin, Gradle Nexus Publish Plugin, or Plugin Publishing Plugin to publish artifact.

Procedure to install

Install semantic-release

Follow install guide and CI configuration guide described in the semantic-release official document.

To manage version of toolset, we recommend you to have a package.json in your project root directory. Manage both of semantic-release and its plugins as devDependencies.

Refer the spotbugs-gradle-plugin project as a working example.

Configure @semantic-release/git

This plugin updates gradle.properties to bump up project version. If you want to keep the version in this file updated, configure @semantic-release/git to commit changes. You can configure your package.json like below:

  "release": {
    "plugins": [
      "gradle-semantic-release-plugin",
      [
        "@semantic-release/git",
        {
          "assets": [
            "gradle.properties"
          ]
        }
      ]
    ]
  },

FAQ

How it's different with the @tschulte/gradle-semantic-release-plugin?

That is a Gradle plugin implemented by Java. It can use Gradle's feature and ecosystem. However, it emulates semantic-release and cannot use other semantic-release plugin at the same time.

Our plugin is a semantic-release plugin. It can work with other plugin implemented on node.js, but it just invokes Gradle and cannot handle so complex requirements by own.

Copyright

Copyright (c) 2019-2023 Kengo TODA

gradle-semantic-release-plugin's People

Contributors

dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar kengotoda avatar semantic-release-bot avatar silthus avatar wojtekk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gradle-semantic-release-plugin's Issues

gradle.properties values with `:` in them break parsing

This is probably more of an issue with the promisified-properties library, but if a gradle.properties file has a value with a : character in it (such as a URL) it breaks the plugin.

For example, I updated the test/project/with-properties-file/gradle.properties file to look like this:

version = 0.1.2
some_url = https://lol.gov

and when running npm run test got the following error:

  1) Test for prepare step
       updateVersion() will update version in gradle.properties:
     Error:
-- PARSING FAILED --------------------------------------------------

> 1 | some_url = https://lol.gov
    |                 ^

Expected:

EOF

The property(ies) to update in gradle.properties should be configurable.

At the moment.... the must be a property version in the gradle.properties file in order for the plugin to work correctly.

We should be able to configure the name of the property to set.
For example... consider an android project with multiple build variants. Each build variant should have it's own version property configured meaning different build variant releases would have a different version property. See https://developer.android.com/studio/publish/versioning

Add option to skip publication or executing custom task

I don't want to publish an java artifact and just want the plugin to bump the project version in my case. I know this might sound dumb using this plugin then, but it was the quickest solution to me. I'm currently thinking about developing an own plugin that is capable of bumping versions stored in different file formats which would be a cleaner solution but might conflict with other plugin executions.

However, as of now I'm bypassing the publication by registering a dummy task.

task publish(type: DefaultTask) {
	group = 'publish'
	description = 'Dummy publish to pass the verification phase of the gradle-semantic-release-plugin'
}

I wonder what you think about adding an option that would simply skip the publication. As of writing this, another option came to my mind: Maybe it would be nice to add an option that one can specify the task that should be executed for publication. Here is a quick example:

{
  "release": {
    "branches": [
      "main"
    ],
    "plugins": [
      "@semantic-release/commit-analyzer",
      [
        "gradle-semantic-release-plugin",
        {
          "skipPublication": true,
          "publicationTask": "jib"
        }
      ]
    ]
  }
}

Release new version to support semantic-release v22

In #547 you updated semantic-release to v22. Since then, no new release has been published. I just encountered a conflict due to this: https://github.com/recap-utr/arg-services-java/actions/runs/6653570916/job/18079876725#step:5:119

For the meantime, I have downgraded to semantic-release v21, but would like to bump conventional-changelog-conventionalcommits to the latest version.

BTW: Thank you for maintaining this package, it makes my life a lot easier in Java projects!

Preserve comments in gradle.properties

When saving the new version in gradle.properties, the file is rewritten and any comments are stripped out as a result. Is it possible to only update the version property and leave the rest of the file intact?

Tests failing locally on master

Steps to reproduce:

  1. clone master of this repo.
  2. from a terminal in the directory run npm install
  3. Run npm test.
    EXPECT: A successful build

ACTUAL Result:

$ npm test

> [email protected] test ${projectParentDir}\gradle-semantic-release-plugin
> cross-env TS_NODE_FILES=true nyc mocha



  Test for gradle handling
    √ getCommand() return 'gradle' when there is no gradle wrapper
    √ getCommand() can find the wrapper script
    1) getTaskToPublish() return empty string when there is no task to publish
    2) getTaskToPublish() return 'publish' when there is maven-publish-plugin
    3) getTaskToPublish() return 'uploadArchives' when there is available legacy publishing method
    4) getTaskToPublish() return 'artifactoryDeploy' when there is available artifactory-plugin
    5) getTaskToPublish() return 'publishPlugins' when there is available plugin-publish-plugin
    6) getVersion() returns version defined in build.gradle
    7) getVersion() returns version defined in gradle.properties
    publishArtifact()
      8) runs 'publish' task
    buildOptions()
      √ returns an empty array
      √ adds project properties when specific there is envvar

  index
    √ prepare is a function
    √ publish is a function
    √ verifyConditions is a function

  Test for prepare step
    √ updateVersion() will update version in gradle.properties

  Test for prepare step without gradle.properties
    √ updateVersion() will create gradle.properties with specified version


  9 passing (1m)
  8 failing

  1) Test for gradle handling
       getTaskToPublish() return empty string when there is no task to publish:
     Error: spawn ./gradlew ENOENT
      at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
      at onErrorNT (internal/child_process.js:469:16)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

  2) Test for gradle handling
       getTaskToPublish() return 'publish' when there is maven-publish-plugin:
     Error: spawn ./gradlew ENOENT
      at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
      at onErrorNT (internal/child_process.js:469:16)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

  3) Test for gradle handling
       getTaskToPublish() return 'uploadArchives' when there is available legacy publishing method:
     Error: spawn ./gradlew ENOENT
      at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
      at onErrorNT (internal/child_process.js:469:16)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

  4) Test for gradle handling
       getTaskToPublish() return 'artifactoryDeploy' when there is available artifactory-plugin:
     Error: spawn ./gradlew ENOENT
      at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
      at onErrorNT (internal/child_process.js:469:16)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

  5) Test for gradle handling
       getTaskToPublish() return 'publishPlugins' when there is available plugin-publish-plugin:
     Error: spawn ./gradlew ENOENT
      at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
      at onErrorNT (internal/child_process.js:469:16)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

  6) Test for gradle handling
       getVersion() returns version defined in build.gradle:
     Error: spawn ./gradlew ENOENT
      at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
      at onErrorNT (internal/child_process.js:469:16)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

  7) Test for gradle handling
       getVersion() returns version defined in gradle.properties:
     Error: spawn ./gradlew ENOENT
      at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
      at onErrorNT (internal/child_process.js:469:16)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)

  8) Test for gradle handling
       publishArtifact()
         runs 'publish' task:
     Error: Timeout of 60000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (${projectParentDir}\gradle-semantic-release-plugin\test\src\gradle.test.ts)
      at listOnTimeout (internal/timers.js:549:17)
      at processTimers (internal/timers.js:492:7)



npm ERR! Test failed.  See above for more details.

Further details:
OS: Windows 10
Terminal: Git Bash
Node version: v12.18.1

Call artifactoryPublish instead of artifactoryDeploy

I am a little bit confused why you are calling artifactoryDeploy instead of artifactoryPublish in case of the jfrog artifactory plugins availability.

As far as I can see originally the deploy tasks finalizes the publish task, see:
https://github.com/jfrog/build-info/blob/master/build-info-extractor-gradle/src/main/groovy/org/jfrog/gradle/plugin/artifactory/task/ArtifactoryTask.java#L247-L253

If there is some reason why deploy is called it would then be nice to make the task configurable since I need to call publish to get the meta information on the artifacts correct.

output debug logs or more detailed error message

I currently have the problem that my release step always fails when I publish to Github. Locally it works however.

The problem is that the gradle-semantic-release-plugin does not output any detailed error messages in the Github Actions console. It just prints exit code 1.

It it possible to print the complete build and error output to the console?

Refer to this for the error: https://github.com/Silthus/sStats/runs/1363309356?check_suite_focus=true#step:7:219

Unsupported engine during npm update

When running npm update on a repo with this plugin it fails with the following error:

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '[email protected]',
npm WARN EBADENGINE   required: { node: '^16.14.0' },
npm WARN EBADENGINE   current: { node: 'v17.6.0', npm: '8.5.1' }
npm WARN EBADENGINE }

Does this not work with node v17.6.0 ?

Gradle publish command is not being overwritten.

Using the following config from https://github.com/KengoTODA/gradle-boilerplate/blob/main/package.json with slight modifications. Even the original doesn't work :

  "release": {
    "tagFormat": "${version}",
    "branches": [
      "fhd-auto-semantic"
    ],
    "plugins": [
      "@semantic-release/commit-analyzer",
      "@semantic-release/release-notes-generator",
      "@semantic-release/github",
      "@semantic-release/changelog",
      "gradle-semantic-release-plugin",
      [
        "@semantic-release/npm",
        {
          "npmPublish": false
        }
      ],
      [
        "@semantic-release/git",
        {
          "assets": [
            "gradle.properties",
            "CHANGELOG.md"
          ]
        }
      ],
      [
        "@semantic-release/exec",
        {
          "verifyConditionsCmd": "echo success...",
          "publishCmd": "./gradlew --no-daemon artifactoryPublish"
        }
      ]
    ]
  },

Semantic-release attempts to run artifactoryDeploy -q and fails with the following...

[9:11:23 PM] [semantic-release] [gradle-semantic-release-plugin] › ℹ  Two publishing plugins have found: Gradle Artifactory and Maven Publish.
Gradle Artifactory is used for release.
[9:11:23 PM] [semantic-release] [gradle-semantic-release-plugin] › ℹ  launching child process with options: artifactoryDeploy -q

[9:11:25 PM] [semantic-release] › ✖  Failed step "publish" of plugin "gradle-semantic-release-plugin"
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'F'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'a'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'i'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'l'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'e'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'd'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 't'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'o'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'p'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'u'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'b'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'l'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'i'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 's'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'h'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ':'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'G'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'r'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'a'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'd'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'l'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'e'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'f'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'a'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'i'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'l'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'e'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'd'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'w'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'i'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 't'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'h'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 's'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 't'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'a'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 't'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'u'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 's'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'c'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'o'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'd'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: 'e'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: ' '
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: '1'
[9:11:25 PM] [semantic-release] › ✖  An error occurred while running semantic-release: '.'
'Failed to publish: Gradle failed with status code 1.'npm ERR! code ELIFECYCLE

I would expect the publish command to run my specified command, no? How can I debug this error more?

To add, the release part works just fine. The version in gradle.properties is incremented as it should.

Plugin breaks when running semantic-release via GitHub action codfish/semantic-release-action

It works when I run npx semantic-release but fails when I use the codfish/semantic-release-action action instead:

[7:24:58 PM] [semantic-release] › ℹ  Running semantic-release version 15.13.24
[7:24:59 PM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/npm"
[7:24:59 PM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "gradle-semantic-release-plugin"
[7:24:59 PM] [semantic-release] › ✔  Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"
[7:24:59 PM] [semantic-release] › ✔  Loaded plugin "prepare" from "@semantic-release/npm"
[7:24:59 PM] [semantic-release] › ✔  Loaded plugin "prepare" from "gradle-semantic-release-plugin"
[7:24:59 PM] [semantic-release] › ✔  Loaded plugin "publish" from "@semantic-release/npm"
[7:24:59 PM] [semantic-release] › ✔  Loaded plugin "publish" from "gradle-semantic-release-plugin"
[7:24:59 PM] [semantic-release] › ✔  Run automated release from branch master
[7:25:01 PM] [semantic-release] › ✔  Allowed to push to the Git repository
[7:25:01 PM] [semantic-release] › ℹ  Start step "verifyConditions" of plugin "@semantic-release/npm"
[7:25:01 PM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/npm"
[7:25:01 PM] [semantic-release] › ℹ  Start step "verifyConditions" of plugin "gradle-semantic-release-plugin"
[7:25:01 PM] [semantic-release] › ✖  Failed step "verifyConditions" of plugin "gradle-semantic-release-plugin"
[7:25:01 PM] [semantic-release] › ✖  An error occurred while running semantic-release: { Error: Unexpected error: Gradle failed with status code 1
    at ChildProcess.child.on (/github/workspace/node_modules/gradle-semantic-release-plugin/lib/gradle.js:95:28)
    at ChildProcess.emit (events.js:198:13)
    at maybeClose (internal/child_process.js:982:16)
    at Socket.stream.socket.on (internal/child_process.js:389:11)
    at Socket.emit (events.js:198:13)
    at Pipe._handle.close (net.js:607:12) pluginName: 'gradle-semantic-release-plugin' }
##[error]AggregateError: 
    Error: Unexpected error: Gradle failed with status code 1
        at ChildProcess.child.on (/github/workspace/node_modules/gradle-semantic-release-plugin/lib/gradle.js:95:28)

I had a quick look at the source code but it wasn't immediately obvious to me why it fails.

See error: https://github.com/relaycorp/relaynet-jvm/runs/477029471

Workaround: relaycorp/awala-jvm@469cb81

Build subproject

May be a duplicate of #477.
May be unrelated to gradle-semantic-release-plugin

Issue description

I want to upload release assets generated under a subproject's build directory. For that I use semantic-release/github and specify the asset path. No asset is being uploaded, with the assumption being, that gradle-semantic-release-plugin does not build the subproject.

Additional context

Run: https://github.com/ReVanced/revanced-cli/actions/runs/6267425917/job/17020455373
Release (missing assets): https://github.com/ReVanced/revanced-cli/releases/tag/v4.0.0-dev.3
releaserc file: https://github.com/ReVanced/revanced-cli/blob/05c8a25a189778da363d4b757abf0d0745b332ca/.releaserc#L19-L28
Subproject: https://github.com/ReVanced/revanced-cli/tree/05c8a25a189778da363d4b757abf0d0745b332ca/revanced-cli

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this 💪.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


No npm token specified.

An npm token must be created and set in the NPM_TOKEN environment variable on your CI environment.

Please make sure to create an npm token and to set it in the NPM_TOKEN environment variable on your CI environment. The token must allow to publish to the registry https://registry.npmjs.org/.


Good luck with your project ✨

Your semantic-release bot 📦🚀

Ready?

Is this module ready ?

Hi @KengoTODA and happy new year 🐷!

I am looking to use semantic-release with my gradle project, and I can't use tschulte/gradle-semantic-release-plugin because of gradle-semantic-release-plugin/issues/#6, an issue that happen with Gitlab-CI.

Is this plugin :

Also, I have checked the source and there is no reference to -SNAPSHOT version. I'd like to build one from dev, it would be nice if this plugin could also optionally push the snapshot version on the development branch.

Testing

  • Your Gradle project should manage its version by gradle.properties (not by build.gradle nor build.gradle.kts).
  • Your Gradle project should have an executable Gradle wrapper script at the project root directory.
  • Your CI environment should run on Linux environment that can run ./gradlew.
  • Your Gradle project should use Maven Publish Plugin or Legacy publishing to publish artifact.

I have tested and:

[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The commit should not trigger a release
[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analyzing commit: fix(test): test semantic-release
[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The release type for the commit is patch
[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analyzing commit: chore(Release): [skip ci] new version commit:  'api-1.0.17-SNAPSHOT'.
[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The commit should not trigger a release
[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analyzing commit: chore(Release): [skip ci] pre tag commit:  'api-1.0.16'.
[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The commit should not trigger a release
[6:24:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analysis of 4 commits complete: patch release
[6:24:42 AM] [semantic-release] › ✔  Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[6:24:43 AM] [semantic-release] › ℹ  The next release version is 1.0.17
[6:24:43 AM] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:24:43 AM] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:24:43 AM] [semantic-release] › ℹ  Start step "prepare" of plugin "gradle-semantic-release-plugin"
[6:24:46 AM] [semantic-release] › ✔  Completed step "prepare" of plugin "gradle-semantic-release-plugin"
[6:24:46 AM] [semantic-release] › ℹ  Start step "prepare" of plugin "@semantic-release/changelog"
[6:24:46 AM] [semantic-release] [@semantic-release/changelog] › ℹ  Update /mnt/mesos/sandbox/builds/kopaxgroup/api/CHANGELOG.md
[6:24:46 AM] [semantic-release] › ✔  Completed step "prepare" of plugin "@semantic-release/changelog"
[6:24:46 AM] [semantic-release] › ℹ  Start step "prepare" of plugin "@semantic-release/git"
[6:24:46 AM] [semantic-release] [@semantic-release/git] › ℹ  Found 1 file(s) to commit
[6:24:49 AM] [semantic-release] [@semantic-release/git] › ℹ  Prepared Git release: v1.0.17
[6:24:49 AM] [semantic-release] › ✔  Completed step "prepare" of plugin "@semantic-release/git"
[6:24:49 AM] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:24:49 AM] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:24:50 AM] [semantic-release] › ✔  Created tag v1.0.17
[6:24:50 AM] [semantic-release] › ℹ  Start step "publish" of plugin "gradle-semantic-release-plugin"
[6:24:54 AM] [semantic-release] › ✔  Completed step "publish" of plugin "gradle-semantic-release-plugin"
[6:24:54 AM] [semantic-release] › ℹ  Start step "publish" of plugin "@semantic-release/gitlab"
[6:24:55 AM] [semantic-release] [@semantic-release/gitlab] › ℹ  Published GitLab release: v1.0.17
[6:24:55 AM] [semantic-release] › ✔  Completed step "publish" of plugin "@semantic-release/gitlab"
[6:24:55 AM] [semantic-release] › ✔  Published release 1.0.17

After looking at the commited+push change within the prepare step, there is just the CHANGELOG.md was updated.

Thanks a lot for sharing this oss.

The automated release is failing 🚨

🚨 The automated release from the master branch failed. 🚨

I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this 💪.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here is some links that can help you:

If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.


Cannot push to the Git repository.

semantic-release cannot push the version tag to the branch master on the remote Git repository with URL https://x-access-token:[secure]@github.com/KengoTODA/gradle-semantic-release-plugin.git.

This can be caused by:


Good luck with your project ✨

Your semantic-release bot 📦🚀

Support multi-project builds

I have a repo with several projects that I publish independently. I am using semantic-release-plus for its support for filtering commits to a specific path, to only publish each project when it actually has changes. The one snag is that I want to run semantic-release-plus from the subproject directory, so that only that project will be published. However, that doesn't work since the gradlew script is in the root project directory, so it is not found.

I can make a PR for this, but was curious on thoughts on how best to allow this. I see several options:

  1. Allow running from the subproject directory by looking for ../gradlew if ./gradlew is not found.
  2. Allow running from the root project directory by adding an option to set the -p flag to gradle, to scope the tasks to that subproject only.

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.