Fix conditional jobs

* Add and propagate `buildToolArgs` to the release workflows
* Add temporary workflow to finalize release
This commit is contained in:
Artem Bilan
2023-11-15 12:29:34 -05:00
parent a9ea78d69a
commit 7b41d75f9f
5 changed files with 35 additions and 5 deletions

17
.github/workflows/finalize.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: Finalize Release
on:
workflow_dispatch:
inputs:
milestone:
description: 'Milestone title like 3.0.0-M1, 3.1.0-RC1, 3.2.0 etc.'
required: true
type: string
jobs:
release:
uses: spring-projects/spring-integration-aws/.github/workflows/spring-finalize-release.yml@main
with:
milestone: ${{ inputs.milestone }}
repositoryTeam: artembilan
secrets: inherit

View File

@@ -13,5 +13,6 @@ jobs:
uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-release.yml@main
with:
releaseVersion: ${{ inputs.releaseVersion }}
buildToolArgs: dist
repositoryTeam: artembilan,garyrussell
secrets: inherit

View File

@@ -10,7 +10,6 @@ on:
gradleTasks:
description: 'Additional Gradle tasks. The `build` and `artifactoryPublish` are included.'
required: false
default: 'dist'
type: string
outputs:

View File

@@ -7,6 +7,10 @@ on:
description: 'Release version like 3.0.0-M1, 3.1.0-RC1, 3.2.0 etc.'
required: true
type: string
buildToolArgs:
description: 'Additional Maven or Gradle command arguments: tasks, goals, plugins etc. The `install` for Maven is included. The `build` and `artifactoryPublish` for Gradle are included.'
required: false
type: string
repositoryTeam:
description: 'Comma-separate GitHub user names for repository team members to exclude from contributors'
required: false
@@ -19,6 +23,7 @@ jobs:
uses: spring-projects/spring-integration-aws/.github/workflows/spring-stage-release.yml@main
with:
releaseVersion: ${{ inputs.releaseVersion }}
buildToolArgs: ${{ inputs.buildToolArgs }}
secrets: inherit
verify-staged:
@@ -29,8 +34,8 @@ jobs:
secrets: inherit
promote-milestone:
if: ${{ contains(inputs.releaseVersion, '-M') || contains(inputs.releaseVersion, '-RC') }}
needs: [staging, verify-staged]
if: ${{ (contains(inputs.releaseVersion, '-M') || contains(inputs.releaseVersion, '-RC')) }}
uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-promote-milestone.yml@main
with:
buildName: ${{ needs.staging.outputs.buildName }}
@@ -38,8 +43,8 @@ jobs:
secrets: inherit
promote-ga:
if: ${{ ! contains(inputs.releaseVersion, '-') }}
needs: [staging, verify-staged]
if: ${{ !contains(inputs.releaseVersion, '-') }}
uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-promote-central.yml@main
with:
buildName: ${{ needs.staging.outputs.buildName }}
@@ -47,6 +52,7 @@ jobs:
secrets: inherit
finalize:
if: ${{ !(failure() || cancelled()) }}
needs: [promote-milestone, promote-ga]
uses: spring-projects/spring-integration-aws/.github/workflows/spring-finalize-release.yml@main
with:

View File

@@ -7,14 +7,18 @@ on:
description: 'Release version like 3.0.0-M1, 3.1.0-RC1, 3.2.0 etc.'
required: true
type: string
buildToolArgs:
description: 'Additional Maven or Gradle command arguments: tasks, goals, plugins etc. The `install` for Maven is included. The `build` and `artifactoryPublish` for Gradle are included.'
required: false
type: string
outputs:
buildName:
description: 'Artifactory Build Name'
value: ${{ jobs.staging-with-gradle.outputs.buildName }}
value: ${{ jobs.build-info.outputs.buildName }}
buildNumber:
description: 'Artifactory Build Number'
value: ${{ jobs.staging-with-gradle.outputs.buildNumber }}
value: ${{ jobs.build-info.outputs.buildNumber }}
jobs:
@@ -44,6 +48,7 @@ jobs:
uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-gradle-release-staging.yml@main
with:
releaseVersion: ${{ inputs.releaseVersion }}
gradleTasks: ${{ inputs.buildToolArgs }}
secrets: inherit
@@ -53,10 +58,12 @@ jobs:
uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-maven-release-staging.yml@main
with:
releaseVersion: ${{ inputs.releaseVersion }}
mavenArgs: ${{ inputs.buildToolArgs }}
secrets: inherit
build-info:
needs: [staging-with-gradle, staging-with-maven]
if: ${{ !(failure() || cancelled()) }}
runs-on: ubuntu-latest
outputs:
buildName: ${{ steps.output-build-info.outputs.buildName }}