Migrate 3.0.x to Commercial repository

This commit is contained in:
Artem Bilan
2024-05-23 14:57:24 -04:00
parent f695d86bce
commit 9e4907bf61
11 changed files with 174 additions and 50 deletions

53
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,53 @@
version: 2
registries:
spring-commercial:
type: maven-repository
url: https://repo.spring.vmware.com/artifactory/spring-commercial
username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
password: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}
updates:
- package-ecosystem: gradle
directory: /
schedule:
interval: weekly
day: saturday
ignore:
- dependency-name: '*'
update-types:
- version-update:semver-major
- version-update:semver-minor
open-pull-requests-limit: 10
labels:
- 'type: dependency-upgrade'
groups:
development-dependencies:
update-types:
- patch
patterns:
- com.gradle.enterprise
- com.github.spotbugs
- io.spring.*
- org.ajoberstar.grgit
- org.antora
- io.micrometer:micrometer-docs-generator
- com.willowtreeapps.assertk:assertk-jvm
- org.hibernate.validator:hibernate-validator
- org.apache.httpcomponents.client5:httpclient5
- org.awaitility:awaitility
- org.xerial.snappy:snappy-java
- org.lz4:lz4-java
- com.github.luben:zstd-jni
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: saturday
labels:
- 'type: task'
groups:
development-dependencies:
patterns:
- '*'

12
.github/workflows/auto-cherry-pick.yml vendored Normal file
View File

@@ -0,0 +1,12 @@
name: Auto Cherry-Pick
on:
push:
branches:
- '*.x'
jobs:
cherry-pick-commit:
uses: spring-io/spring-github-workflows/.github/workflows/spring-cherry-pick.yml@main
secrets:
GH_ACTIONS_REPO_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}

View File

@@ -2,15 +2,22 @@ name: CI SNAPSHOT
on:
workflow_dispatch:
push:
branches:
- main
- '*.x'
concurrency:
group: group-snapshot-for-${{ github.ref }}
cancel-in-progress: true
jobs:
build-snapshot:
uses: spring-io/spring-github-workflows/.github/workflows/spring-artifactory-gradle-snapshot.yml@main
with:
artifactoryUrl: https://repo.spring.vmware.com
targetRepository: spring-commercial-snapshot-local
artifactoryProjectKey: spring
secrets:
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
ARTIFACTORY_USERNAME: ${{ secrets.COMMERCIAL_ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.COMMERCIAL_ARTIFACTORY_PASSWORD }}

View File

@@ -0,0 +1,28 @@
name: Distribute Release to Spring Enterprise
on:
workflow_dispatch:
inputs:
releaseVersion:
description: 'The release version of the artifacts to distribute'
required: true
buildName:
description: 'The Artifactory Build Name'
required: true
buildNumber:
description: 'The Artifactory Build Number'
required: true
jobs:
distribute-release-to-spring-enterprise:
uses: spring-io/spring-github-workflows/.github/workflows/spring-enterprise-release-bundle.yml@main
with:
artifactoryUrl: https://usw1.packages.broadcom.com
bundleName: TNZ-${{ github.event.repository.name }}
releaseVersion: ${{ inputs.releaseVersion }}
buildName: ${{ inputs.buildName }}
buildNumber: ${{ inputs.buildNumber }}
secrets:
ARTIFACTORY_USERNAME: ${{ secrets.COMMERCIAL_ARTIFACTORY_USW1_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.COMMERCIAL_ARTIFACTORY_USW1_PASSWORD }}

View File

@@ -3,7 +3,6 @@ name: Merge Dependabot PR
on:
pull_request:
branches:
- main
- '*.x'
run-name: Merge Dependabot PR ${{ github.ref_name }}

View File

@@ -3,9 +3,11 @@ name: Pull Request Build
on:
pull_request:
branches:
- main
- '*.x'
jobs:
build-pull-request:
uses: spring-io/spring-github-workflows/.github/workflows/spring-gradle-pull-request-build.yml@main
secrets:
ARTIFACTORY_USERNAME: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }}

View File

@@ -13,16 +13,16 @@ jobs:
issues: write
uses: spring-io/spring-github-workflows/.github/workflows/spring-artifactory-gradle-release.yml@main
with:
artifactoryUrl: https://repo.spring.vmware.com
stagingRepository: spring-commercial-staging-local
targetReleaseRepository: spring-commercial-release-local
artifactoryProjectKey: spring
secrets:
GH_ACTIONS_REPO_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
OSSRH_URL: ${{ secrets.OSSRH_URL }}
OSSRH_S01_TOKEN_USERNAME: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
OSSRH_S01_TOKEN_PASSWORD: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
OSSRH_STAGING_PROFILE_NAME: ${{ secrets.OSSRH_STAGING_PROFILE_NAME }}
JF_ARTIFACTORY_SPRING: ${{ secrets.COMMERCIAL_JF_ARTIFACTORY_SPRING }}
ARTIFACTORY_USERNAME: ${{ secrets.COMMERCIAL_ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.COMMERCIAL_ARTIFACTORY_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
SPRING_RELEASE_SLACK_WEBHOOK_URL: ${{ secrets.SPRING_RELEASE_SLACK_WEBHOOK_URL }}

View File

@@ -8,48 +8,40 @@ on:
required: true
type: string
env:
ARTIFACTORY_USERNAME: ${{ secrets.COMMERCIAL_ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.COMMERCIAL_ARTIFACTORY_PASSWORD }}
jobs:
verify-staged-with-samples:
runs-on: ubuntu-latest
steps:
- name: Start RabbitMQ
uses: namoshek/rabbitmq-github-action@v1
with:
ports: '5672:5672 15672:15672 5552:5552'
plugins: rabbitmq_stream,rabbitmq_management
- name: Checkout Samples Repo
uses: actions/checkout@v4
with:
repository: spring-projects/spring-amqp-samples
ref: ${{ github.ref_name }}
repository: spring-projects/spring-integration-commercial
ref: 6.1.x
show-progress: false
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: 'maven'
- name: Set up Gradle
uses: spring-io/spring-gradle-build-action@v2
- uses: jfrog/setup-jfrog-cli@v4
env:
JF_ENV_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
- name: Configure JFrog Cli
run: jf mvnc --repo-resolve-releases=libs-release-staging --repo-resolve-snapshots=snapshot
- name: Verify samples against staged release
- name: Prepare Spring Integration project against Staging
run: |
mvn versions:set -DnewVersion=${{ inputs.releaseVersion }} -DgenerateBackupPoms=false -DprocessAllModules=true -B -ntp
jf mvn verify -B -ntp
printf "allprojects {
repositories {
maven {
url 'https://repo.spring.vmware.com/artifactory/spring-commercial-staging-local'
credentials {
username = '$ARTIFACTORY_USERNAME'
password = '$ARTIFACTORY_PASSWORD'
}
}
}
}" > staging-repo-init.gradle
sed -i "1,/springAmqpVersion.*/s/springAmqpVersion.*/springAmqpVersion='${{ inputs.releaseVersion }}'/" build.gradle
- name: Capture Test Results
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-results
path: '**/target/surefire-reports/**/*.*'
retention-days: 1
- name: Verify Spring Integration AMQP module against staged release
run: gradle :spring-integration-amqp:check --init-script staging-repo-init.gradle

View File

@@ -125,10 +125,12 @@ ext {
] as String[]
}
apply from: 'publish-maven.gradle'
apply from: 'commercial-settings.gradle'
configure(javaProjects) { subproject ->
apply plugin: 'java-library'
apply plugin: 'java'
apply from: "${rootProject.projectDir}/gradle/publish-maven.gradle"
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'project-report'
@@ -362,7 +364,6 @@ project('spring-amqp-bom') {
description = 'Spring for RabbitMQ (Bill of Materials)'
apply plugin: 'java-platform'
apply from: "${rootDir}/gradle/publish-maven.gradle"
dependencies {
constraints {
@@ -785,8 +786,6 @@ task dist(dependsOn: assemble) {
description = 'Builds -dist, -docs and -schema distribution archives.'
}
apply from: "${rootProject.projectDir}/gradle/publish-maven.gradle"
publishing {
publications {
mavenJava(MavenPublication) {

View File

@@ -0,0 +1,32 @@
def artifactoryUsername = System.getenv('ARTIFACTORY_USERNAME')
def artifactoryPassword = System.getenv('ARTIFACTORY_PASSWORD')
allprojects {
repositories {
if (isCI) {
maven {
url 'https://repo.spring.vmware.com/artifactory/spring-commercial'
credentials {
username = artifactoryUsername
password = artifactoryPassword
}
}
if (version.endsWith('SNAPSHOT')) {
maven {
url 'https://repo.spring.vmware.com/artifactory/spring-commercial-snapshot-local'
credentials {
username = artifactoryUsername
password = artifactoryPassword
}
}
}
} else {
maven { url 'https://repo.spring.io/spring-commercial-remote' }
if (version.endsWith('SNAPSHOT')) {
maven { url 'https://repo.spring.io/spring-commercial-snapshot-remote' }
}
}
}
}