mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-17 16:39:29 +00:00
78 lines
3.7 KiB
YAML
78 lines
3.7 KiB
YAML
name: Build and Deploy Snapshot
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
jobs:
|
|
build-and-deploy-snapshot:
|
|
name: Build and Deploy Snapshot
|
|
if: ${{ github.repository == 'spring-projects/spring-framework' || github.repository == 'spring-projects/spring-framework-commercial' }}
|
|
runs-on: ${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }}
|
|
timeout-minutes: 60
|
|
steps:
|
|
- name: Check Out Code
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
- name: Build and Publish
|
|
id: build-and-publish
|
|
uses: ./.github/actions/build
|
|
with:
|
|
commercial-release-repository-url: ${{ vars.COMMERCIAL_RELEASE_REPO_URL }}
|
|
commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_PASSWORD }}
|
|
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_USERNAME }}
|
|
commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
|
|
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
publish: true
|
|
- name: Deploy
|
|
uses: spring-io/artifactory-deploy-action@926d7f7cc810569395346bf3a4d91b380b3e355b # v0.0.4
|
|
with:
|
|
artifact-properties: |
|
|
/**/framework-api-*.zip::zip.name=spring-framework,zip.deployed=false
|
|
/**/framework-api-*-docs.zip::zip.type=docs
|
|
/**/framework-api-*-schema.zip::zip.type=schema
|
|
build-name: ${{ vars.COMMERCIAL && format('spring-framework-commercial-{0}', '7.1.x') || format('spring-framework-{0}', '7.1.x') }}
|
|
folder: 'deployment-repository'
|
|
project: ${{ vars.COMMERCIAL && 'spring' }}
|
|
repository: ${{ vars.COMMERCIAL && 'spring-enterprise-maven-dev-local' || 'libs-snapshot-local' }}
|
|
uri: ${{ vars.COMMERCIAL_DEPLOY_REPO_URL || 'https://repo.spring.io' }}
|
|
username: ${{ vars.COMMERCIAL && secrets.COMMERCIAL_ARTIFACTORY_USERNAME || secrets.ARTIFACTORY_USERNAME }}
|
|
password: ${{ vars.COMMERCIAL && secrets.COMMERCIAL_ARTIFACTORY_PASSWORD || secrets.ARTIFACTORY_PASSWORD }}
|
|
signing-key: ${{ secrets.GPG_PRIVATE_KEY }}
|
|
signing-passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
|
- name: Send Notification
|
|
if: always()
|
|
uses: ./.github/actions/send-notification
|
|
with:
|
|
build-scan-url: ${{ steps.build-and-publish.outputs.build-scan-url }}
|
|
run-name: ${{ format('{0} | Linux | Java 25', github.ref_name) }}
|
|
status: ${{ job.status }}
|
|
webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}
|
|
outputs:
|
|
version: ${{ steps.build-and-publish.outputs.version }}
|
|
trigger-docs-build:
|
|
name: Trigger Docs Build
|
|
needs: build-and-deploy-snapshot
|
|
if: ${{ !vars.COMMERCIAL }} # remove when commercial support
|
|
permissions:
|
|
actions: write
|
|
runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
|
|
steps:
|
|
- name: Run Deploy Docs Workflow
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: gh workflow run deploy-docs.yml --repo ${{ github.repository }} -r docs-build -f build-refname=${{ github.ref_name }}
|
|
verify:
|
|
name: Verify
|
|
needs: build-and-deploy-snapshot
|
|
uses: ./.github/workflows/verify.yml
|
|
secrets:
|
|
commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_PASSWORD }}
|
|
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_USERNAME }}
|
|
google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }}
|
|
opensource-repository-password: ${{ secrets.ARTIFACTORY_PASSWORD }}
|
|
opensource-repository-username: ${{ secrets.ARTIFACTORY_USERNAME }}
|
|
token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
|
|
with:
|
|
version: ${{ needs.build-and-deploy-snapshot.outputs.version }}
|