All Projects → marvinpinto → Action Automatic Releases

marvinpinto / Action Automatic Releases

Licence: mit
READONLY: Auto-generated mirror for https://github.com/marvinpinto/actions/tree/master/packages/automatic-releases

Projects that are alternatives of or similar to Action Automatic Releases

github-create-release-action
Create a GitHub release from a Tag
Stars: ✭ 33 (-74.02%)
Mutual labels:  ci, release-automation
Android Snapshot Publisher
Gradle plugin to deploy Android Snapshot Versions
Stars: ✭ 145 (+14.17%)
Mutual labels:  release-automation, ci
generate-changelog
generates changelog from git based on jira tickets
Stars: ✭ 18 (-85.83%)
Mutual labels:  ci, release-automation
actions
A Collection of GitHub Actions
Stars: ✭ 91 (-28.35%)
Mutual labels:  ci, release-automation
action-snapcraft
🐦 GitHub Action for setting up Snapcraft
Stars: ✭ 34 (-73.23%)
Mutual labels:  ci, release-automation
changie
Automated changelog tool for preparing releases with lots of customization options
Stars: ✭ 180 (+41.73%)
Mutual labels:  ci, release-automation
Action Electron Builder
:electron: GitHub Action for building and releasing Electron apps
Stars: ✭ 317 (+149.61%)
Mutual labels:  release-automation, ci
Lxc Ci
LXC continuous integration and build scripts
Stars: ✭ 110 (-13.39%)
Mutual labels:  ci
Cypress Example Docker Circle
Cypress + Docker + CircleCI = ❤️
Stars: ✭ 119 (-6.3%)
Mutual labels:  ci
Go Gitlab Client
A Go gitlab API client & powerful CLI written in Go
Stars: ✭ 107 (-15.75%)
Mutual labels:  ci
Terraform Multienv
A template for maintaining a multiple environments infrastructure with Terraform. This template includes a CI/CD process, that applies the infrastructure in an AWS account.
Stars: ✭ 107 (-15.75%)
Mutual labels:  ci
Flint
Fast and configurable filesystem (file and directory names) linter
Stars: ✭ 115 (-9.45%)
Mutual labels:  ci
Ci Matters
Integration (comparison) of different continuous integration services on Android project
Stars: ✭ 119 (-6.3%)
Mutual labels:  ci
Moderncppci
This is an example of doing a Modern C++ project with CI
Stars: ✭ 109 (-14.17%)
Mutual labels:  ci
Setup Scala
GitHub Action to install any version of Java (GraalVM, Java 8, Java 11, Java 14, ...) via Jabba. Works for any JVM language including Java, Scala and Kotlin.
Stars: ✭ 123 (-3.15%)
Mutual labels:  ci
Gitlab Dashboard
📺 TV dashboard for a global view on Gitlab Pipelines
Stars: ✭ 107 (-15.75%)
Mutual labels:  ci
Dcind
Docker image with Docker Compose. Useful as a base image for integration tests in Concourse CI.
Stars: ✭ 128 (+0.79%)
Mutual labels:  ci
Rspecq
Optimally distribute and run RSpec suites among parallel workers; for faster CI builds
Stars: ✭ 122 (-3.94%)
Mutual labels:  ci
Git Changelog Lib
Library for parsing and generating a changelog, or releasenotes, from a GIT repository
Stars: ✭ 117 (-7.87%)
Mutual labels:  release-automation
Mirrorgate
MirrorGate DevOps Dashboard
Stars: ✭ 117 (-7.87%)
Mutual labels:  ci

GitHub Automatic Releases

This action simplifies the GitHub release process by automatically uploading assets, generating changelogs, handling pre-releases, and so on.

Contents

  1. Usage Examples
  2. Supported Parameters
  3. Event Triggers
  4. Versioning
  5. How to get help
  6. License

NOTE: The marvinpinto/action-automatic-releases repository is an automatically generated mirror of the marvinpinto/actions monorepo containing this and other actions. Please file issues and pull requests over there.

Usage Examples

Automatically generate a pre-release when changes land on master

This example workflow will kick in as soon as changes land on master. After running the steps to build and test your project:

  1. It will create (or replace) a git tag called latest.
  2. Generate a changelog from all the commits between this, and the previous latest tag.
  3. Generate a new release associated with the latest tag (removing any previous associated releases).
  4. Update this new release with the specified title (e.g. Development Build).
  5. Upload LICENSE.txt and any jar files as release assets.
  6. Mark this release as a pre-release.

You can see a working example of this workflow over at marvinpinto/actions.

---
name: "pre-release"

on:
  push:
    branches:
      - "master"

jobs:
  pre-release:
    name: "Pre Release"
    runs-on: "ubuntu-latest"

    steps:
      # ...
      - name: "Build & test"
        run: |
          echo "done!"

      - uses: "marvinpinto/[email protected]"
        with:
          repo_token: "${{ secrets.GITHUB_TOKEN }}"
          automatic_release_tag: "latest"
          prerelease: true
          title: "Development Build"
          files: |
            LICENSE.txt
            *.jar

Create a new GitHub release when tags are pushed to the repository

Similar to the previous example, this workflow will kick in as soon as new tags are pushed to GitHub. After building & testing your project:

  1. Generate a changelog from all the commits between this and the previous semver-looking tag.
  2. Generate a new release and associate it with this tag.
  3. Upload LICENSE.txt and any jar files as release assets.

Once again there's an example of this over at marvinpinto/actions.

---
name: "tagged-release"

on:
  push:
    tags:
      - "v*"

jobs:
  tagged-release:
    name: "Tagged Release"
    runs-on: "ubuntu-latest"

    steps:
      # ...
      - name: "Build & test"
        run: |
          echo "done!"

      - uses: "marvinpinto/[email protected]"
        with:
          repo_token: "${{ secrets.GITHUB_TOKEN }}"
          prerelease: false
          files: |
            LICENSE.txt
            *.jar

Supported Parameters

Parameter Description Default
repo_token** GitHub Action token, e.g. "${{ secrets.GITHUB_TOKEN }}". null
draft Mark this release as a draft? false
prerelease Mark this release as a pre-release? true
automatic_release_tag Tag name to use for automatic releases, e.g latest. null
title Release title; defaults to the tag name if none specified. Tag Name
files Files to upload as part of the release assets. null

Notes:

  • Parameters denoted with ** are required.
  • The files parameter supports multi-line glob patterns, see repository examples.

Event Triggers

The GitHub Actions framework allows you to trigger this (and other) actions on many combinations of events. For example, you could create specific pre-releases for release candidate tags (e.g *-rc*), generate releases as changes land on master (example above), nightly releases, and much more. Read through Workflow syntax for GitHub Actions for ideas and advanced examples.

Versioning

Every commit that lands on master for this project triggers an automatic build as well as a tagged release called latest. If you don't wish to live on the bleeding edge you may use a stable release instead. See releases for the available versions.

- uses: "marvinpinto/[email protected]<VERSION>"

How to get help

The main README for this project has a bunch of information related to debugging & submitting issues. If you're still stuck, try and get a hold of me on keybase and I will do my best to help you out.

License

The source code for this project is released under the MIT License. This project is not associated with GitHub.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].