54 lines
1.9 KiB
YAML
54 lines
1.9 KiB
YAML
# This workflow is useful if you want to automate the process of:
|
|
#
|
|
# a) Creating a new prelease when you push a new tag with a "v" prefix (version).
|
|
#
|
|
# This type of prerelease is meant to be used for production: alpha, beta, rc, etc. types of releases.
|
|
# After the prerelease is created, you need to make your changes on the release page at the relevant
|
|
# Github page and publish your release.
|
|
#
|
|
# b) Creating/updating the "latest" prerelease when you push to your default branch.
|
|
#
|
|
# This type of prelease is useful to make your bleeding-edge binaries available to advanced users.
|
|
#
|
|
# The workflow will not run if there is no tag pushed with a "v" prefix and no change pushed to your
|
|
# default branch.
|
|
on: push
|
|
|
|
jobs:
|
|
might_release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Prepare Release Variables
|
|
id: vars
|
|
uses: ignite-hq/cli/actions/release/vars@develop
|
|
|
|
- name: Issue Release Assets
|
|
uses: ignite-hq/cli/actions/cli@develop
|
|
if: ${{ steps.vars.outputs.should_release == 'true' }}
|
|
with:
|
|
args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 -t darwin:arm64
|
|
|
|
- name: Delete the "latest" Release
|
|
uses: dev-drprasad/delete-tag-and-release@v0.2.0
|
|
if: ${{ steps.vars.outputs.is_release_type_latest == 'true' }}
|
|
with:
|
|
tag_name: ${{ steps.vars.outputs.tag_name }}
|
|
delete_release: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Publish the Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: ${{ steps.vars.outputs.should_release == 'true' }}
|
|
with:
|
|
tag_name: ${{ steps.vars.outputs.tag_name }}
|
|
files: release/*
|
|
prerelease: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|