Skip to content

build-prerelease

build-prerelease #60

name: build-prerelease
on:
workflow_dispatch:
inputs:
version:
description: 'The version tag to use in the form of x.x.x'
required: true
type: string
jobs:
create-tag:
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.create-tag.outputs.tag }}
steps:
- name: Create tag
run: echo ::set-output name=tag::${{ github.event.inputs.version }}-$GITHUB_RUN_NUMBER-prerelease
id: create-tag
- name: Tag repo v${{ steps.create-tag.outputs.tag }}
uses: richardsimko/update-tag@v1
with:
tag_name: v${{ steps.create-tag.outputs.tag }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
remove-tag-on-failure:
runs-on: ubuntu-latest
if: always()
needs: [create-tag, publish-prerelease]
steps:
- uses: technote-space/workflow-conclusion-action@v2
- name: Fetch Code
uses: actions/checkout@v3
if: env.WORKFLOW_CONCLUSION == 'failure'
- name: Remove Prerelease Tag
run: git push origin ':refs/tags/v${{ needs.create-tag.outputs.tag }}'
if: env.WORKFLOW_CONCLUSION == 'failure'
publish-prerelease:
uses: ./.github/workflows/publish-build.yml
with:
tag: ${{ needs.create-tag.outputs.tag }}
prerelease: true
secrets:
PACKAGE_USER: ${{ secrets.PACKAGE_USER }}
PACKAGE_PAT: ${{ secrets.PACKAGE_PAT }}
needs: [create-tag]