Git Product home page Git Product logo

maven-version-bump-action's Introduction

Maven Version Bump Action

A simple GitHub Actions to bump the version of Maven projects.

When triggered, this action will look at the commit message of HEAD~1 and determine if it contains one of #major, #minor, or #patch (in that order of precedence). If true, it will use Maven to bump your pom's version.

You can override this default behavior by setting a release type, setting type will override the above commit message check.

For example, a #minor update to version 1.3.9 will result in the version changing to 1.4.0. The change will then be committed.

Sample Usage

name: Clojure Version Bump

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - name: Checkout Latest Commit
      uses: actions/checkout@v2

    - name: Bump Version
      id: bump
      uses: nnichols/maven-version-bump-action@v3
      with:
        github-token: ${{ secrets.github_token }}

    - name: Print Version
      run: "echo 'New Version: ${{steps.bump.outputs.version}}'"

Supported Arguments

  • github-token: The only required argument. Can either be the default token, as seen above, or a personal access token with write access to the repository
  • git-email: The email address each commit should be associated with. Defaults to a github provided noreply address
  • git-username: The GitHub username each commit should be associated with. Defaults to github-actions[bot]
  • type: This will overide the release type this can be minor, patch or major. if not set will use comments.
  • pom-path: The path within your directory the pom.xml you intended to change is located.

Outputs

  • version - The after-bump version. Will return the old version if bump was not necessary.

Licensing

Copyright © 2021-2022 Nick Nichols

Distributed under the MIT License

maven-version-bump-action's People

Contributors

amenocal avatar jonnysamps avatar nnichols avatar radicaldrew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

maven-version-bump-action's Issues

Incorrect Version: Parent Version is considered instead of artefact version

Incorrect Version

Description

My current artefact version is 1.0.1 whereas my spring-boot-starter-parent version is 2.4.2. The action is considering the current version of my artefact as 2.4.2 instead of 1.0.1

Expected Behavior

The action should consider the current version of my artefact as 1.0.1 instead of 2.4.2

Does not work for multi-module maven project

Bug Report

Describe the Bug

Does not work for multi-module maven project

Steps to Reproduce

Steps to reproduce the behavior:

  1. Create an multi-module maven project
  2. Execute this action for update the project version in github
  3. See error, only the root pom is updated

Expected Behavior

Make it work for multi-module maven project by updating all related poms

User Information

  • OS: Linux
  • Browser Firefox
  • Version 107.0

Possible Solution

maven-version-bump-action/version-bump.sh
modify
git add $POMPATH/pom.xml
to
git add pom.xml

The `set-output` command is deprecated and will be removed soon

Bug Report

Describe the Bug

When using the maven-version-bump-action, you get a warning on the command line that says that set-output is deprecated and should be replaced with the new GITHUB_STATE environment files.

Steps to Reproduce

Steps to reproduce the behavior:

  1. Use maven-version-bump-action@v4 as mentioned in the README
  2. Run your GitHub Actions job
  3. See warning inside the version bump section

Expected Behavior

A warning should not be seen

User Information

  • OS: MacOS
  • Browser FIrefox
  • Version 109.0

Additional Context

The issue can be mitigated by following the example here. I can implement it if this project is still being maintained and someone could approve my merge request.

Re-Write as a Babashka action

Feature Request

Problem Statement

This action has quickly accreted complexity from it's initial implementation, and is hard to test and verify in it's current state. To improve argument verification, iterability, and to test components of the application - I believe it is best to rewrite the action in Babashka.

Ideal Solution

Re-Write this action as a Babashka script

Alternative solutions

Implement bash tests or leverage awk/jq more

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.