GithubHelp home page GithubHelp logo

auto-releases's Introduction

auto-releases GitHub Action

Author: pypestream

Automate your releases with the auto-releases GitHub Action. Seamlessly generate releases/pre-releases with semantic versioning and notify your Slack channels in real-time.

Features:

  1. Semantic Versioning: Determine versions automatically from commit messages.
  2. Releases/Pre-releases: Decide the type of release based on branches such as 'next' and 'latest'.
  3. Slack Notifications: Send out updates about the release notes to specified Slack channels.
  4. Customizable: Set your preferences with an array of customizable inputs.

๐Ÿš€ Example Usage

name: Release Workflow
on:
  push:
    branches:
      - next
      - latest

jobs:
  auto_release:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Use auto-releases
        uses: pypestream/auto-releases@next
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          slack-token: ${{ secrets.SLACK_TOKEN }}
          slack-channels: "next, releases"
          notify-on-pre-release: true
          dry-run: false
          release-branch: "latest"
          main-branch: "next"

๐Ÿ”ง Inputs

  • github-token: Token for GitHub. Default is the provided GitHub token.
  • slack-token: Required. Token to send release notes to Slack.
  • slack-channels: Required. Slack channels for release notes. Multiple channels can be separated by commas.
  • notify-on-pre-release: Notify on pre-releases? Default is true.
  • dry-run: Check the action without actual execution. Default is FALSE.
  • release-branch: Release branch name. Default is release.
  • main-branch: Main branch name. Default is next.

๐Ÿ“ค Outputs

  • new-tag: The new tag created.
  • latestTagWithoutPreReleases: The most recent tag without pre-release.
  • latestTagWithPreReleases: The most recent tag with pre-release.
  • releaseType: one of pre-release, full-release.

auto-releases's People

Contributors

sqaisar avatar schupryna avatar dependabot[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.