diff --git a/.github/workflows/finalize.yml b/.github/workflows/finalize.yml new file mode 100644 index 0000000..d8c92de --- /dev/null +++ b/.github/workflows/finalize.yml @@ -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 \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 43dfab3..1c2d0f3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 \ No newline at end of file diff --git a/.github/workflows/spring-artifactory-gradle-release-staging.yml b/.github/workflows/spring-artifactory-gradle-release-staging.yml index f623e4b..b434e48 100644 --- a/.github/workflows/spring-artifactory-gradle-release-staging.yml +++ b/.github/workflows/spring-artifactory-gradle-release-staging.yml @@ -10,7 +10,6 @@ on: gradleTasks: description: 'Additional Gradle tasks. The `build` and `artifactoryPublish` are included.' required: false - default: 'dist' type: string outputs: diff --git a/.github/workflows/spring-artifactory-release.yml b/.github/workflows/spring-artifactory-release.yml index bc67efe..d56052f 100644 --- a/.github/workflows/spring-artifactory-release.yml +++ b/.github/workflows/spring-artifactory-release.yml @@ -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: diff --git a/.github/workflows/spring-stage-release.yml b/.github/workflows/spring-stage-release.yml index d976db6..b4703a2 100644 --- a/.github/workflows/spring-stage-release.yml +++ b/.github/workflows/spring-stage-release.yml @@ -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 }}