Trigger docs build on updates to '/antora' in main #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Deploy Snapshot | |
on: | |
push: | |
branches: | |
- main | |
permissions: | |
actions: write | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
build-and-deploy-snapshot: | |
name: Build and Deploy Snapshot | |
runs-on: ubuntu22-8-32 | |
if: ${{ github.repository == 'spring-projects/spring-boot' }} | |
steps: | |
- name: Set Up Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'liberica' | |
java-version: 17 | |
- name: Check Out | |
uses: actions/checkout@v4 | |
- name: Set Up Gradle | |
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 | |
with: | |
cache-read-only: false | |
- name: Configure Gradle Properties | |
shell: bash | |
run: | | |
mkdir -p $HOME/.gradle | |
echo 'systemProp.user.name=spring-builds+github' >> $HOME/.gradle/gradle.properties | |
echo 'systemProp.org.gradle.internal.launcher.welcomeMessageEnabled=false' >> $HOME/.gradle/gradle.properties | |
echo 'org.gradle.daemon=false' >> $HOME/.gradle/gradle.properties | |
- name: Read Version From gradle.properties | |
id: read-version | |
shell: bash | |
run: | | |
version=$(sed -n 's/version=\(.*\)/\1/p' gradle.properties) | |
echo "Version is $version" | |
echo "version=$version" >> $GITHUB_OUTPUT | |
- name: Build and Publish | |
id: build | |
env: | |
CI: 'true' | |
GRADLE_ENTERPRISE_URL: 'https://ge.spring.io' | |
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }} | |
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }} | |
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} | |
run: ./gradlew -PdeploymentRepository=$(pwd)/deployment-repository build publishAllPublicationsToDeploymentRepository | |
- name: Deploy | |
uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1 | |
with: | |
uri: 'https://repo.spring.io' | |
username: ${{ secrets.ARTIFACTORY_USERNAME }} | |
password: ${{ secrets.ARTIFACTORY_PASSWORD }} | |
build-name: 'spring-boot-3.3.x' | |
repository: 'libs-snapshot-local' | |
folder: 'deployment-repository' | |
signing-key: ${{ secrets.GPG_PRIVATE_KEY }} | |
signing-passphrase: ${{ secrets.GPG_PASSPHRASE }} | |
artifact-properties: | | |
/**/spring-boot-docs-*.zip::zip.type=docs,zip.deployed=false | |
- name: Trigger Docs Build Workflow | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: gh workflow run deploy-docs.yml -r docs-build -f build-refname=${{ github.ref_name }} -f build-version=${{ steps.read-version.outputs.version }} | |
- name: Send Notification | |
uses: ./.github/actions/send-notification | |
if: always() | |
with: | |
webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }} | |
status: ${{ job.status }} | |
build-scan-url: ${{ steps.build.outputs.build-scan-url }} | |
run-name: ${{ format('{0} | Linux | Java 17', github.ref_name) }} | |
outputs: | |
version: ${{ steps.read-version.outputs.version }} | |
run-verification-tests: | |
name: Verify ${{ needs.build-and-deploy-snapshot.outputs.version }} | |
runs-on: ubuntu-latest | |
needs: build-and-deploy-snapshot | |
steps: | |
- name: Check Out Release Verification Tests | |
uses: actions/checkout@v4 | |
with: | |
repository: spring-projects/spring-boot-release-verification | |
ref: 'main' | |
token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} | |
- name: Check Out Send Notification Action | |
uses: actions/checkout@v4 | |
with: | |
path: spring-boot | |
sparse-checkout: .github/actions/send-notification | |
- name: Set Up Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'liberica' | |
java-version: 17 | |
- name: Set Up Gradle | |
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 | |
with: | |
cache-read-only: false | |
- name: Configure Gradle Properties | |
shell: bash | |
run: | | |
mkdir -p $HOME/.gradle | |
echo 'org.gradle.daemon=false' >> $HOME/.gradle/gradle.properties | |
- name: Run Release Verification Tests | |
env: | |
RVT_VERSION: ${{ needs.build-and-deploy-snapshot.outputs.version }} | |
RVT_RELEASE_TYPE: oss | |
run: ./gradlew spring-boot-release-verification-tests:test | |
- name: Upload Build Reports on Failure | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: build-reports | |
path: '**/build/reports/' | |
- name: Send Notification | |
uses: ./spring-boot/.github/actions/send-notification | |
if: always() | |
with: | |
webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }} | |
status: ${{ job.status }} | |
run-name: ${{ format('{0} | Verification | {1}', github.ref_name, needs.build-and-deploy-snapshot.outputs.version) }} |