Browse Source

Add commercial repository references to CI

See gh-42333
pull/42868/head
Phillip Webb 1 year ago
parent
commit
03d795f9bc
  1. 22
      .github/actions/build/action.yml
  2. 10
      .github/workflows/build-and-deploy-snapshot.yml
  3. 4
      .github/workflows/ci.yml
  4. 4
      .github/workflows/release.yml
  5. 14
      .github/workflows/verify.yml

22
.github/actions/build/action.yml

@ -24,6 +24,18 @@ inputs:
develocity-access-key: develocity-access-key:
required: false required: false
description: 'The access key for authentication with ge.spring.io' description: 'The access key for authentication with ge.spring.io'
commercial-repository-username:
required: false
description: 'Username for authentication with the commercial repository'
commercial-repository-password:
required: false
description: 'Password for authentication with the commercial repository'
commercial-release-repository-url:
required: false
description: 'URL of the release repository'
commercial-snapshot-repository-url:
required: false
description: 'URL of the snapshot repository'
outputs: outputs:
build-scan-url: build-scan-url:
description: 'The URL, if any, of the build scan produced by the build' description: 'The URL, if any, of the build scan produced by the build'
@ -46,11 +58,21 @@ runs:
id: build id: build
if: ${{ inputs.publish == 'false' }} if: ${{ inputs.publish == 'false' }}
shell: bash shell: bash
env:
COMMERCIAL_REPO_USERNAME: ${{ inputs.commercial-repository-username }}
COMMERCIAL_REPO_PASSWORD: ${{ inputs.commercial-repository-password }}
COMMERCIAL_RELEASE_REPO_URL: ${{ inputs.commercial-release-repository-url }}
COMMERCIAL_SNAPSHOT_REPO_URL: ${{ inputs.commercial-snapshot-repository-url }}
run: ./gradlew build run: ./gradlew build
- name: Publish - name: Publish
id: publish id: publish
if: ${{ inputs.publish == 'true' }} if: ${{ inputs.publish == 'true' }}
shell: bash shell: bash
env:
COMMERCIAL_REPO_USERNAME: ${{ inputs.commercial-repository-username }}
COMMERCIAL_REPO_PASSWORD: ${{ inputs.commercial-repository-password }}
COMMERCIAL_RELEASE_REPO_URL: ${{ inputs.commercial-release-repository-url }}
COMMERCIAL_SNAPSHOT_REPO_URL: ${{ inputs.commercial-snapshot-repository-url }}
run: ./gradlew -PdeploymentRepository=$(pwd)/deployment-repository ${{ !startsWith(github.event.head_commit.message, 'Next development version') && 'build' || '' }} publishAllPublicationsToDeploymentRepository run: ./gradlew -PdeploymentRepository=$(pwd)/deployment-repository ${{ !startsWith(github.event.head_commit.message, 'Next development version') && 'build' || '' }} publishAllPublicationsToDeploymentRepository
- name: Read Version From gradle.properties - name: Read Version From gradle.properties
id: read-version id: read-version

10
.github/workflows/build-and-deploy-snapshot.yml

@ -19,6 +19,10 @@ jobs:
with: with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
publish: true publish: true
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}
commercial-release-repository-url: ${{ vars.COMMERCIAL_RELEASE_REPO_URL }}
commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
- name: Deploy - name: Deploy
uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1 uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1
with: with:
@ -48,8 +52,10 @@ jobs:
uses: ./.github/workflows/verify.yml uses: ./.github/workflows/verify.yml
secrets: secrets:
google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }} google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}
repository-password: ${{ secrets.ARTIFACTORY_PASSWORD }} opensource-repository-password: ${{ secrets.ARTIFACTORY_PASSWORD }}
repository-username: ${{ secrets.ARTIFACTORY_USERNAME }} opensource-repository-username: ${{ secrets.ARTIFACTORY_USERNAME }}
commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
with: with:
version: ${{ needs.build-and-deploy-snapshot.outputs.version }} version: ${{ needs.build-and-deploy-snapshot.outputs.version }}

4
.github/workflows/ci.yml

@ -50,6 +50,10 @@ jobs:
java-toolchain: ${{ matrix.java.toolchain }} java-toolchain: ${{ matrix.java.toolchain }}
java-distribution: ${{ matrix.java.distribution }} java-distribution: ${{ matrix.java.distribution }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}
commercial-release-repository-url: ${{ vars.COMMERCIAL_RELEASE_REPO_URL }}
commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
- name: Send Notification - name: Send Notification
uses: ./.github/actions/send-notification uses: ./.github/actions/send-notification
if: always() if: always()

4
.github/workflows/release.yml

@ -19,6 +19,10 @@ jobs:
with: with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
publish: true publish: true
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}
commercial-release-repository-url: ${{ vars.COMMERCIAL_RELEASE_REPO_URL }}
commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
- name: Stage Release - name: Stage Release
uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1 uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1
with: with:

14
.github/workflows/verify.yml

@ -10,9 +10,13 @@ on:
default: false default: false
type: boolean type: boolean
secrets: secrets:
repository-username: opensource-repository-username:
required: false required: false
repository-password: opensource-repository-password:
required: false
commercial-repository-username:
required: false
commercial-repository-password:
required: false required: false
google-chat-webhook-url: google-chat-webhook-url:
required: true required: true
@ -55,8 +59,10 @@ jobs:
RVT_VERSION: ${{ inputs.version }} RVT_VERSION: ${{ inputs.version }}
RVT_RELEASE_TYPE: oss RVT_RELEASE_TYPE: oss
RVT_STAGING: ${{ inputs.staging }} RVT_STAGING: ${{ inputs.staging }}
RVT_OSS_REPOSITORY_USERNAME: ${{ secrets.repository-username }} RVT_OSS_REPOSITORY_USERNAME: ${{ secrets.opensource-repository-username }}
RVT_OSS_REPOSITORY_PASSWORD: ${{ secrets.repository-password }} RVT_OSS_REPOSITORY_PASSWORD: ${{ secrets.opensource-repository-password }}
RVT_COMMERCIAL_REPOSITORY_USERNAME: ${{ secrets.commercial-repository-username }}
RVT_COMMERCIAL_REPOSITORY_PASSWORD: ${{ secrets.commercial-repository-password }}
run: ./gradlew spring-boot-release-verification-tests:test run: ./gradlew spring-boot-release-verification-tests:test
- name: Upload Build Reports on Failure - name: Upload Build Reports on Failure
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4

Loading…
Cancel
Save