Giter Site home page Giter Site logo

marfacot / plugin-ready-release-go Goto Github PK

View Code? Open in Web Editor NEW

This project forked from woodpecker-ci/plugin-ready-release-go

0.0 0.0 0.0 268 KB

Automatically creates release pull-request which when merged will trigger a release

License: MIT License

TypeScript 99.20% Dockerfile 0.80%

plugin-ready-release-go's Introduction

Ready release go ๐Ÿš€

This plugin can be executed on every push to your release branch (e.g. main) and will create a new release pull-request with all of your custom adjustments like an updated changelog as preparation for the next release. After you have merged the "release"-pull-request with all your desired changes, a new release / tag will be created for you.

Usage

Woodpecker CI

Create a new workflow like .woodpecker/release-helper.yml:

when:
  event: push
  branch: ${CI_REPO_DEFAULT_BRANCH}

steps:
  release-helper:
    image: woodpeckerci/plugin-ready-release-go:<version>
    settings:
      git_email: [email protected]
      github_token:
        from_secret: GITHUB_TOKEN
      # release_branch: 'custom-release-branch' # default: main
      # pull_request_branch_prefix: 'next-release/'
      # debug: true

Workflow

  1. Setup ready-release-go on your repository by adding a config file and a workflow file
  2. On every push to your default branch a pull-request will be created and updated
  3. You can review the pull-request and merge it when you are ready
  4. The plugin will create a new release

Internal workflow

  • get latest release => tag
  • get all commits since commit of last tag
  • get all prs of those commits (if they have a pr associated)
  • get all labels of those prs
  • get next version based on labels of PRs
  • get changelog based on labels of PRs

Roadmap

  • Automatically create release pull-request
  • Automatically update release pull-request
  • Create a release / tag after "release"-pull-request got merged
  • Handle -rc versions
  • Support first release (no previous tags)
  • Support defining next version manually (can be done by changing the version on the release pull-request title / commit message)
  • Support more forges:
    • Gitea
    • Gitlab

Credits

This plugin is heavily inspired by release-drafter and shipjs. Thanks for the great work! Compared to the mentioned tools ready-release-go is not requiring a npm package and can be used with any kind of programming language, changelog tool and commit style.

plugin-ready-release-go's People

Contributors

anbraten avatar renovate[bot] avatar qwerty287 avatar woodpecker-bot avatar pat-s avatar pre-commit-ci[bot] avatar

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.