From 5b555789f4fba596f2936d5ad17802dfbc8b2b64 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Mon, 6 Nov 2023 16:41:51 -0500 Subject: [PATCH] Extract `artifactory-init.gradle` * Modify GHA workflows to copy `artifactory-init.gradle` as Gradle init script * Use fully-qualified names for reusable workflows making workflow callers as generic --- .github/artifactory-init.gradle | 17 ++++++++++++++ .github/workflows/ci-snapshot.yml | 2 +- .github/workflows/pr-build.yml | 2 +- .github/workflows/promote-ga-to-central.yml | 2 +- .github/workflows/promote-milestone.yml | 2 +- .github/workflows/release-staging.yml | 2 +- ...ing-artifactory-gradle-release-staging.yml | 14 +++++++++--- .../spring-artifactory-gradle-snapshot.yml | 12 ++++++++-- publish-maven.gradle | 22 ------------------- 9 files changed, 43 insertions(+), 32 deletions(-) create mode 100644 .github/artifactory-init.gradle diff --git a/.github/artifactory-init.gradle b/.github/artifactory-init.gradle new file mode 100644 index 0000000..103a6bd --- /dev/null +++ b/.github/artifactory-init.gradle @@ -0,0 +1,17 @@ +artifactory { + publish { + defaults { + def zipArtifactProps = + ['zip.name': 'spring-integration-aws', + 'zip.displayname': 'Spring Integration Aws', + 'zip.deployed': 'false'] + properties { + mavenJava zipArtifactProps, '*:*:*:*@zip' + mavenJava 'zip.type': 'docs', '*:*:*:docs@zip' + mavenJava 'zip.type': 'dist', '*:*:*:dist@zip' + } + + publications('mavenJava') + } + } +} \ No newline at end of file diff --git a/.github/workflows/ci-snapshot.yml b/.github/workflows/ci-snapshot.yml index 348e21d..13a2819 100644 --- a/.github/workflows/ci-snapshot.yml +++ b/.github/workflows/ci-snapshot.yml @@ -8,5 +8,5 @@ on: jobs: build_snapshot: - uses: ./.github/workflows/spring-artifactory-gradle-snapshot.yml + uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-gradle-snapshot.yml@main secrets: inherit \ No newline at end of file diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 18d2b4d..bc96288 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -7,4 +7,4 @@ on: jobs: build: - uses: ./.github/workflows/spring-gradle-pull-request-build.yml + uses: spring-projects/spring-integration-aws/.github/workflows/spring-gradle-pull-request-build.yml@main diff --git a/.github/workflows/promote-ga-to-central.yml b/.github/workflows/promote-ga-to-central.yml index c96c891..5ebfe12 100644 --- a/.github/workflows/promote-ga-to-central.yml +++ b/.github/workflows/promote-ga-to-central.yml @@ -12,7 +12,7 @@ on: jobs: release_to_central: - uses: ./.github/workflows/spring-artifactory-promote-central.yml + uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-promote-central.yml@main with: buildName: ${{ inputs.buildName }} buildNumber: ${{ inputs.buildNumber }} diff --git a/.github/workflows/promote-milestone.yml b/.github/workflows/promote-milestone.yml index d81e4c5..1ee3b98 100644 --- a/.github/workflows/promote-milestone.yml +++ b/.github/workflows/promote-milestone.yml @@ -12,7 +12,7 @@ on: jobs: promote_milestone: - uses: ./.github/workflows/spring-artifactory-promote-milestone.yml + uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-promote-milestone.yml@main with: buildName: ${{ inputs.buildName }} buildNumber: ${{ inputs.buildNumber }} diff --git a/.github/workflows/release-staging.yml b/.github/workflows/release-staging.yml index 779f154..569dae5 100644 --- a/.github/workflows/release-staging.yml +++ b/.github/workflows/release-staging.yml @@ -11,7 +11,7 @@ run-name: Release version ${{ inputs.releaseVersion }} jobs: staging: - uses: ./.github/workflows/spring-artifactory-gradle-release-staging.yml + uses: spring-projects/spring-integration-aws/.github/workflows/spring-artifactory-gradle-release-staging.yml@main with: releaseVersion: ${{ inputs.releaseVersion }} 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 b729e73..a694abd 100644 --- a/.github/workflows/spring-artifactory-gradle-release-staging.yml +++ b/.github/workflows/spring-artifactory-gradle-release-staging.yml @@ -23,13 +23,21 @@ jobs: runs-on: ubuntu-latest steps: + - name: Set up Gradle + uses: spring-io/spring-gradle-build-action@v2 + + - name: Checkout Common Repo + uses: actions/checkout@v3 + with: + repository: spring-projects/spring-integration-aws + + - name: Copy the artifactory-init.gradle + run: cp .github/artifactory-init.gradle $GRADLE_USER_HOME/init.d + - uses: actions/checkout@v3 with: token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} - - name: Set up Gradle - uses: spring-io/spring-gradle-build-action@v2 - - uses: jfrog/setup-jfrog-cli@v3 with: version: 2.50.4 diff --git a/.github/workflows/spring-artifactory-gradle-snapshot.yml b/.github/workflows/spring-artifactory-gradle-snapshot.yml index a28bda5..988c8da 100644 --- a/.github/workflows/spring-artifactory-gradle-snapshot.yml +++ b/.github/workflows/spring-artifactory-gradle-snapshot.yml @@ -20,11 +20,19 @@ jobs: name: CI Build SNAPSHOT for ${{ github.ref_name }} steps: - - uses: actions/checkout@v3 - - name: Set up Gradle uses: spring-io/spring-gradle-build-action@v2 + - name: Checkout Common Repo + uses: actions/checkout@v3 + with: + repository: spring-projects/spring-integration-aws + + - name: Copy the artifactory-init.gradle + run: cp .github/artifactory-init.gradle $GRADLE_USER_HOME/init.d + + - uses: actions/checkout@v3 + - uses: jfrog/setup-jfrog-cli@v3 with: version: 2.50.4 diff --git a/publish-maven.gradle b/publish-maven.gradle index 52d158f..5ef1422 100644 --- a/publish-maven.gradle +++ b/publish-maven.gradle @@ -52,26 +52,4 @@ publishing { } } } -} - -if (isCI) { - artifactory { - publish { - defaults { - def zipArtifactProps = - ['zip.name': 'spring-integration-aws', - 'zip.displayname': 'Spring Integration Aws', - 'zip.deployed': 'false'] - properties { - mavenJava zipArtifactProps, '*:*:*:*@zip' - mavenJava 'zip.type': 'docs', '*:*:*:docs@zip' - mavenJava 'zip.type': 'dist', '*:*:*:dist@zip' - } - } - } - } - - tasks.named('artifactoryPublish') { - publications(publishing.publications.mavenJava) - } } \ No newline at end of file