Update CI process to create GitHub releases with release notes
Closes gh-10928
This commit is contained in:
parent
bab5d252a2
commit
aa0005b1e1
|
@ -28,7 +28,12 @@ jobs:
|
||||||
- id: continue
|
- id: continue
|
||||||
name: Determine if should continue
|
name: Determine if should continue
|
||||||
if: env.RUN_JOBS == 'true'
|
if: env.RUN_JOBS == 'true'
|
||||||
run: echo "::set-output name=runjobs::true"
|
run: |
|
||||||
|
# Run jobs if in upstream repository
|
||||||
|
echo "::set-output name=runjobs::true"
|
||||||
|
# Extract version from gradle.properties
|
||||||
|
version=$(cat gradle.properties | grep "version=" | awk -F'=' '{print $2}')
|
||||||
|
echo "::set-output name=project_version::$version"
|
||||||
build_jdk_17:
|
build_jdk_17:
|
||||||
name: Build JDK 17
|
name: Build JDK 17
|
||||||
needs: [prerequisites]
|
needs: [prerequisites]
|
||||||
|
@ -196,9 +201,57 @@ jobs:
|
||||||
DOCS_USERNAME: ${{ secrets.DOCS_USERNAME }}
|
DOCS_USERNAME: ${{ secrets.DOCS_USERNAME }}
|
||||||
DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }}
|
DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }}
|
||||||
DOCS_HOST: ${{ secrets.DOCS_HOST }}
|
DOCS_HOST: ${{ secrets.DOCS_HOST }}
|
||||||
|
create_release:
|
||||||
|
name: Create GitHub Release
|
||||||
|
needs: [prerequisites, deploy_artifacts, deploy_docs, deploy_schema]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 90
|
||||||
|
if: ${{ !endsWith(needs.prerequisites.outputs.project_version, '-SNAPSHOT') }}
|
||||||
|
env:
|
||||||
|
REPO: ${{ github.repository }}
|
||||||
|
BRANCH: ${{ github.ref_name }}
|
||||||
|
TOKEN: ${{ github.token }}
|
||||||
|
VERSION: ${{ needs.prerequisites.outputs.project_version }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up JDK
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: '17'
|
||||||
|
- name: Setup gradle user name
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.gradle
|
||||||
|
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
|
||||||
|
- name: Wait for Artifactory Artifacts
|
||||||
|
if: ${{ contains(needs.prerequisites.outputs.project_version, '-RC') || contains(needs.prerequisites.outputs.project_version, '-M') }}
|
||||||
|
run: |
|
||||||
|
echo "Wait for artifacts of $REPO@$VERSION to appear on Artifactory."
|
||||||
|
until curl -f -s https://repo.spring.io/artifactory/milestone/org/springframework/security/spring-security-core/$VERSION/ > /dev/null
|
||||||
|
do
|
||||||
|
sleep 30
|
||||||
|
echo "."
|
||||||
|
done
|
||||||
|
echo "Artifacts for $REPO@$VERSION have been released to Artifactory."
|
||||||
|
- name: Wait for Maven Central Artifacts
|
||||||
|
if: ${{ !contains(needs.prerequisites.outputs.project_version, '-RC') && !contains(needs.prerequisites.outputs.project_version, '-M') }}
|
||||||
|
run: |
|
||||||
|
echo "Wait for artifacts of $REPO@$VERSION to appear on Maven Central."
|
||||||
|
until curl -f -s https://repo1.maven.org/maven2/org/springframework/security/spring-security-core/$VERSION/ > /dev/null
|
||||||
|
do
|
||||||
|
sleep 30
|
||||||
|
echo "."
|
||||||
|
done
|
||||||
|
echo "Artifacts for $REPO@$VERSION have been released to Maven Central."
|
||||||
|
- name: Create GitHub Release
|
||||||
|
run: |
|
||||||
|
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
|
||||||
|
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
|
||||||
|
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
|
||||||
|
echo "Tagging and publishing $REPO@$VERSION release on GitHub."
|
||||||
|
./gradlew createGitHubRelease -PnextVersion=$VERSION -Pbranch=$BRANCH -PcreateRelease=true -PgitHubAccessToken=$TOKEN
|
||||||
notify_result:
|
notify_result:
|
||||||
name: Check for failures
|
name: Check for failures
|
||||||
needs: [build_jdk_17, snapshot_tests, check_samples, check_tangles, deploy_artifacts, deploy_docs, deploy_schema]
|
needs: [build_jdk_17, snapshot_tests, check_samples, check_tangles, deploy_artifacts, deploy_docs, deploy_schema, create_release]
|
||||||
if: failure()
|
if: failure()
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
Loading…
Reference in New Issue