Migrate to GHAs

This commit is contained in:
Artem Bilan
2023-12-01 12:11:59 -05:00
parent 74537d31f2
commit d14b1f3765
8 changed files with 99 additions and 142 deletions

View File

@@ -1,24 +0,0 @@
name: Central Sync Close
on:
workflow_dispatch:
inputs:
stagedRepositoryId:
description: "Staged repository id"
required: true
permissions: {}
jobs:
build:
runs-on: ubuntu-latest
steps:
# Request close promotion repo
- uses: jvalkeal/nexus-sync@v0
with:
url: ${{ secrets.OSSRH_URL }}
username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
staging-profile-name: ${{ secrets.OSSRH_STAGING_PROFILE_NAME }}
staging-repo-id: ${{ github.event.inputs.stagedRepositoryId }}
close: true

View File

@@ -1,61 +0,0 @@
name: Central Sync Create
on:
workflow_dispatch:
inputs:
buildName:
description: "Artifactory build name"
required: true
buildNumber:
description: "Artifactory build number"
required: true
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
build:
runs-on: ubuntu-latest
steps:
# to get spec file in .github
- uses: actions/checkout@v2
# Setup jfrog cli
- uses: jfrog/setup-jfrog-cli@v1
with:
version: 1.51.1
env:
JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
# Extract build id from input
- name: Extract Build Id
run: |
echo JFROG_CLI_BUILD_NAME="${{ github.event.inputs.buildName }}" >> $GITHUB_ENV
echo JFROG_CLI_BUILD_NUMBER=${{ github.event.inputs.buildNumber }} >> $GITHUB_ENV
# Download released files
- name: Download Release Files
run: |
jfrog rt download \
--spec .github/release-files-spec.json \
--spec-vars "buildname=$JFROG_CLI_BUILD_NAME;buildnumber=$JFROG_CLI_BUILD_NUMBER"
# Create checksums, signatures and create staging repo on central and upload
- uses: jvalkeal/nexus-sync@v0
id: nexus
with:
url: ${{ secrets.OSSRH_URL }}
username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
staging-profile-name: ${{ secrets.OSSRH_STAGING_PROFILE_NAME }}
create: true
upload: true
generate-checksums: true
pgp-sign: true
pgp-sign-passphrase: ${{ secrets.GPG_PASSPHRASE }}
pgp-sign-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
# Print staging repo id
- name: Print Staging Repo Id
run: echo ${{ steps.nexus.outputs.staged-repository-id }}

View File

@@ -1,24 +0,0 @@
name: Central Sync Release
on:
workflow_dispatch:
inputs:
stagedRepositoryId:
description: "Staged repository id"
required: true
permissions: {}
jobs:
build:
runs-on: ubuntu-latest
steps:
# Request release promotion repo
- uses: jvalkeal/nexus-sync@v0
with:
url: ${{ secrets.OSSRH_URL }}
username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
staging-profile-name: ${{ secrets.OSSRH_STAGING_PROFILE_NAME }}
staging-repo-id: ${{ github.event.inputs.stagedRepositoryId }}
release: true

16
.github/workflows/ci-snapshot.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: CI SNAPSHOT
on:
workflow_dispatch:
push:
branches:
- main
jobs:
build-snapshot:
uses: artembilan/spring-github-workflows/.github/workflows/spring-artifactory-gradle-snapshot.yml@main
secrets:
GRADLE_ENTERPRISE_CACHE_USER: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }}
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}

View File

@@ -1,33 +0,0 @@
name: Pull Request build
on:
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Run Gradle
uses: burrunan/gradle-cache-action@v1
env:
GRADLE_ENTERPRISE_URL: https://ge.spring.io/
with:
arguments: check api
- name: Capture Test Results
if: failure()
uses: actions/upload-artifact@v2
with:
name: test-results
path: '*/build/reports/tests/**/*.*'
retention-days: 3

10
.github/workflows/pr-build.yml vendored Normal file
View File

@@ -0,0 +1,10 @@
name: Pull Request Build
on:
pull_request:
branches:
- main
jobs:
build-pull-request:
uses: artembilan/spring-github-workflows/.github/workflows/spring-gradle-pull-request-build.yml@main

26
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: Release
on:
workflow_dispatch:
run-name: Release current version for branch ${{ github.ref_name }}
jobs:
release:
permissions:
actions: write
uses: artembilan/spring-github-workflows/.github/workflows/spring-artifactory-gradle-release.yml@main
secrets:
GH_ACTIONS_REPO_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
GRADLE_ENTERPRISE_CACHE_USER: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }}
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
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 }}
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

@@ -0,0 +1,47 @@
name: Verify Staged Artifacts
on:
workflow_dispatch:
inputs:
releaseVersion:
description: 'Release version like 5.0.0-M1, 5.1.0-RC1, 5.2.0 etc.'
required: true
type: string
jobs:
verify-staged-with-samples:
runs-on: ubuntu-latest
steps:
- name: Checkout Samples Repo
uses: actions/checkout@v4
with:
repository: spring-projects/spring-integration
show-progress: false
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- uses: jfrog/setup-jfrog-cli@v3
env:
JF_ENV_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
- name: Configure JFrog Cli
run: jf gradlec --repo-resolve libs-staging-local
- name: Verify Spring Integration Kafka against staged release
run: |
sed -i "1,/springKafkaVersion.*/s/springKafkaVersion.*/springKafkaVersion='${{ inputs.releaseVersion }}'/" build.gradle
jf gradle :spring-integration-kafka:check
- name: Capture Test Results
if: failure()
uses: actions/upload-artifact@v3
with:
name: test-results
path: '**/target/surefire-reports/**/*.*'
retention-days: 1