From d0c4d2e5586aefe0570d286590c77259d7ab6d15 Mon Sep 17 00:00:00 2001 From: stilobique Date: Tue, 1 Feb 2022 15:21:58 +0100 Subject: [PATCH] Split pull request config to be more modulable --- .github/workflows/generate_release.yml | 23 +++++++++ .../{init_release.yml => initialyse_data.yml} | 51 ++++++++++--------- .github/workflows/pr_main.yml | 12 ++++- 3 files changed, 61 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/generate_release.yml rename .github/workflows/{init_release.yml => initialyse_data.yml} (70%) diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate_release.yml new file mode 100644 index 0000000..044f1b1 --- /dev/null +++ b/.github/workflows/generate_release.yml @@ -0,0 +1,23 @@ +name: Create base release + +on: + workflow_call: + inputs: + bump_version: + description: 'The bump release' + type: string + required: true + default: 'false' + +jobs: + init-release-data: + name: Generate data about the release + runs-on: ubuntu-latest + steps: + - name: Setup a new Semantic Version + id: new_semantic_setup + uses: zwaldowski/semver-release-action@v2 + with: + bump: ${{ inputs.bump_version }} + github_token: ${{ secrets.GITHUB_TOKEN }} + dry_run: true diff --git a/.github/workflows/init_release.yml b/.github/workflows/initialyse_data.yml similarity index 70% rename from .github/workflows/init_release.yml rename to .github/workflows/initialyse_data.yml index b0dbcfb..5f53b77 100644 --- a/.github/workflows/init_release.yml +++ b/.github/workflows/initialyse_data.yml @@ -6,6 +6,10 @@ on: jobs: init-release-data: + # Generate some output : + # - Tag number + # - Release draft type + name: Initialize all data about the package runs-on: ubuntu-latest outputs: @@ -24,31 +28,7 @@ jobs: else echo "::set-output name=type::patch" fi - - echo "debug event : ${{ github.event.pull_request.opened == true }}" - echo "debug event : ${{ github.event.pull_request.opened == 'true' }}" - echo "debug event : ${{ github.event.pull_request.opened }}" - echo "debug event : ${{ github.event.action == 'opened' }}" - - name: Setup a new Semantic Version - id: new_semantic_setup - if: ${{ github.event.action == 'opened' }} - uses: zwaldowski/semver-release-action@v2 - with: - bump: ${{ steps.bump_setup.outputs.type }} - github_token: ${{ secrets.GITHUB_TOKEN }} - dry_run: true - - - name: Prepare the release - uses: ncipollo/release-action@v1.8.10 - with: - token: ${{ secrets.GITHUB_TOKEN }} - prerelease: true - tag: 'v${{ steps.new_semantic_setup.outputs.version }}' - - # Config the release number - # - get tag with sync PR - # - publish the release if the PR is closed - name: Get the Semantic tag Version id: get_semantic_setup uses: oprypin/find-latest-tag@v1.1.0 @@ -58,6 +38,15 @@ jobs: prefix: 'v' token: ${{ secrets.GITHUB_TOKEN }} + - name: Increment if a new release are needed to generated + if: ${{ github.event.action == 'opened' }} + id: new_semantic_setup + uses: zwaldowski/semver-release-action@v2 + with: + bump: ${{ inputs.num_version }} + github_token: ${{ secrets.GITHUB_TOKEN }} + dry_run: true + - name: From all use case, get the Tag version id: semantic_setup run: | @@ -65,7 +54,21 @@ jobs: if [ "${{ github.event.action }}" == "closed" ]; then echo "::set-output name=version::${tag:1}" echo "::set-output name=draft::false" + elif [ "${{ github.event.action }}" == "opened" ]; then + echo "::set-output name=version::${{ new_semantic_setup.outputs.version }}" + echo "::set-output name=draft::true" else echo "::set-output name=version::${tag:1}" echo "::set-output name=draft::true" fi + + - name: Debug all Data + run: | + echo "Show version Type" + echo ${{ outputs.version_type }} + echo "Show version number" + echo ${{ outputs.version_number }} + echo "Show version draft" + echo ${{ outputs.version_draft }} + echo "Show version name" + echo ${{ outputs.version_name }} diff --git a/.github/workflows/pr_main.yml b/.github/workflows/pr_main.yml index 539d7ca..b26d210 100644 --- a/.github/workflows/pr_main.yml +++ b/.github/workflows/pr_main.yml @@ -12,12 +12,22 @@ on: jobs: init-release-data: name: Initialize all data about the package - uses: Moderlab-Production/BlenderTemplate/.github/workflows/init_release.yml@main + uses: Moderlab-Production/BlenderTemplate/.github/workflows/initialyse_data.yml@main + + prepare-first-release: + name: Make the pre-release + needs: + - init-release-data + if: ${{ github.event.action == 'opened' }} + uses: Moderlab-Production/BlenderTemplate/.github/workflows/generate_release.yml@main + with: + bump_version: ${{ needs.init-release-data.outputs.version_type }} unit-test: uses: Moderlab-Production/BlenderTemplate/.github/workflows/unit_test.yml@main release-package: + name: Generate archive package needs: - init-release-data uses: Moderlab-Production/BlenderTemplate/.github/workflows/package.yml@main