From 54110793130b6d42d091f132b716692443bd3b61 Mon Sep 17 00:00:00 2001 From: Dennis Wendland Date: Tue, 12 Jul 2022 10:14:48 +0200 Subject: [PATCH] Adding release pipelines --- .github/workflows/pre-release.yml | 57 +++++++++++++++++++++++++++++++ .github/workflows/release.yml | 49 ++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 .github/workflows/pre-release.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml new file mode 100644 index 0000000..9daa760 --- /dev/null +++ b/.github/workflows/pre-release.yml @@ -0,0 +1,57 @@ +name: Pre-Release + +on: + pull_request: + types: + - opened + - synchronize + - reopened + - labeled + - unlabeled + +jobs: + + generate-version: + runs-on: ubuntu-latest + + outputs: + version: ${{ steps.out.outputs.version }} + plain-version: ${{ steps.out.outputs.plain-version }} + + steps: + - uses: actions/checkout@v2 + + - id: bump + uses: zwaldowski/match-label-action@v1 + with: + allowed: major,minor,patch + + - uses: zwaldowski/semver-release-action@v2 + with: + dry_run: true + bump: ${{ steps.bump.outputs.match }} + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Get PR Number + id: pr_number + run: echo "::set-output name=nr::$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')" + + - name: Set version output + id: out + run: | + echo "::set-output name=version::$(echo ${VERSION}-PRE-${{ steps.pr_number.outputs.nr }})" + echo "::set-output name=plain-version::$(echo ${VERSION})" + git-release: + needs: ["generate-version"] + runs-on: ubuntu-latest + + steps: + + - uses: actions/checkout@v2 + + - uses: "marvinpinto/action-automatic-releases@latest" + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + automatic_release_tag: ${{ needs.generate-version.outputs.version }} + prerelease: true + title: ${{ needs.generate-version.outputs.version }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..1d6f60f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: Release + +on: + push: + branches: + - main + +jobs: + + + generate-version: + runs-on: ubuntu-latest + + outputs: + version: ${{ steps.out.outputs.version }} + + steps: + - uses: actions/checkout@v2 + + - id: pr + uses: actions-ecosystem/action-get-merged-pull-request@v1.0.1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + + - uses: zwaldowski/semver-release-action@v2 + with: + dry_run: true + bump: ${{ steps.pr.outputs.labels }} + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Set version output + id: out + run: echo "::set-output name=version::$(echo ${VERSION})" + + + git-release: + needs: ["generate-version"] + runs-on: ubuntu-latest + + steps: + + - uses: actions/checkout@v2 + + - uses: "marvinpinto/action-automatic-releases@latest" + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + automatic_release_tag: ${{ needs.generate-version.outputs.version }} + title: ${{ needs.generate-version.outputs.version }} + prerelease: false