17 changed files with 0 additions and 660 deletions
@ -1,59 +0,0 @@ |
|||||||
== Spring Framework Concourse pipeline |
|
||||||
|
|
||||||
NOTE: CI is being migrated to GitHub Actions. |
|
||||||
|
|
||||||
The Spring Framework uses https://concourse-ci.org/[Concourse] for its CI build and other automated tasks. |
|
||||||
The Spring team has a dedicated Concourse instance available at https://ci.spring.io with a build pipeline |
|
||||||
for https://ci.spring.io/teams/spring-framework/pipelines/spring-framework-6.0.x[Spring Framework 6.0.x]. |
|
||||||
|
|
||||||
=== Setting up your development environment |
|
||||||
|
|
||||||
If you're part of the Spring Framework project on GitHub, you can get access to CI management features. |
|
||||||
First, you need to go to https://ci.spring.io and install the client CLI for your platform (see bottom right of the screen). |
|
||||||
|
|
||||||
You can then login with the instance using: |
|
||||||
|
|
||||||
[source] |
|
||||||
---- |
|
||||||
$ fly -t spring login -n spring-framework -c https://ci.spring.io |
|
||||||
---- |
|
||||||
|
|
||||||
Once logged in, you should get something like: |
|
||||||
|
|
||||||
[source] |
|
||||||
---- |
|
||||||
$ fly ts |
|
||||||
name url team expiry |
|
||||||
spring https://ci.spring.io spring-framework Wed, 25 Mar 2020 17:45:26 UTC |
|
||||||
---- |
|
||||||
|
|
||||||
=== Pipeline configuration and structure |
|
||||||
|
|
||||||
The build pipelines are described in `pipeline.yml` file. |
|
||||||
|
|
||||||
This file is listing Concourse resources, i.e. build inputs and outputs such as container images, artifact repositories, source repositories, notification services, etc. |
|
||||||
|
|
||||||
It also describes jobs (a job is a sequence of inputs, tasks and outputs); jobs are organized by groups. |
|
||||||
|
|
||||||
The `pipeline.yml` definition contains `((parameters))` which are loaded from the `parameters.yml` file or from our https://docs.cloudfoundry.org/credhub/[credhub instance]. |
|
||||||
|
|
||||||
You'll find in this folder the following resources: |
|
||||||
|
|
||||||
* `pipeline.yml` the build pipeline |
|
||||||
* `parameters.yml` the build parameters used for the pipeline |
|
||||||
* `images/` holds the container images definitions used in this pipeline |
|
||||||
* `scripts/` holds the build scripts that ship within the CI container images |
|
||||||
* `tasks` contains the task definitions used in the main `pipeline.yml` |
|
||||||
|
|
||||||
=== Updating the build pipeline |
|
||||||
|
|
||||||
Updating files on the repository is not enough to update the build pipeline, as changes need to be applied. |
|
||||||
|
|
||||||
The pipeline can be deployed using the following command: |
|
||||||
|
|
||||||
[source] |
|
||||||
---- |
|
||||||
$ fly -t spring set-pipeline -p spring-framework-6.0.x -c ci/pipeline.yml -l ci/parameters.yml |
|
||||||
---- |
|
||||||
|
|
||||||
NOTE: This assumes that you have credhub integration configured with the appropriate secrets. |
|
||||||
@ -1,29 +0,0 @@ |
|||||||
changelog: |
|
||||||
repository: spring-projects/spring-framework |
|
||||||
sections: |
|
||||||
- title: ":star: New Features" |
|
||||||
labels: |
|
||||||
- "type: enhancement" |
|
||||||
- title: ":lady_beetle: Bug Fixes" |
|
||||||
labels: |
|
||||||
- "type: bug" |
|
||||||
- "type: regression" |
|
||||||
- title: ":notebook_with_decorative_cover: Documentation" |
|
||||||
labels: |
|
||||||
- "type: documentation" |
|
||||||
- title: ":hammer: Dependency Upgrades" |
|
||||||
sort: "title" |
|
||||||
labels: |
|
||||||
- "type: dependency-upgrade" |
|
||||||
contributors: |
|
||||||
exclude: |
|
||||||
names: |
|
||||||
- "bclozel" |
|
||||||
- "github-actions[bot]" |
|
||||||
- "jhoeller" |
|
||||||
- "poutsma" |
|
||||||
- "rstoyanchev" |
|
||||||
- "sbrannen" |
|
||||||
- "sdeleuze" |
|
||||||
- "simonbasle" |
|
||||||
- "snicoll" |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
logging: |
|
||||||
level: |
|
||||||
io.spring.concourse: DEBUG |
|
||||||
spring: |
|
||||||
main: |
|
||||||
banner-mode: off |
|
||||||
sonatype: |
|
||||||
exclude: |
|
||||||
- 'build-info\.json' |
|
||||||
- '.*\.zip' |
|
||||||
@ -1,21 +0,0 @@ |
|||||||
== CI Images |
|
||||||
|
|
||||||
These images are used by CI to run the actual builds. |
|
||||||
|
|
||||||
To build the image locally run the following from this directory: |
|
||||||
|
|
||||||
---- |
|
||||||
$ docker build --no-cache -f <image-folder>/Dockerfile . |
|
||||||
---- |
|
||||||
|
|
||||||
For example |
|
||||||
|
|
||||||
---- |
|
||||||
$ docker build --no-cache -f spring-framework-ci-image/Dockerfile . |
|
||||||
---- |
|
||||||
|
|
||||||
To test run: |
|
||||||
|
|
||||||
---- |
|
||||||
$ docker run -it --entrypoint /bin/bash <SHA> |
|
||||||
---- |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
FROM ubuntu:jammy-20240125 |
|
||||||
|
|
||||||
ADD setup.sh /setup.sh |
|
||||||
ADD get-jdk-url.sh /get-jdk-url.sh |
|
||||||
RUN ./setup.sh |
|
||||||
|
|
||||||
ENV JAVA_HOME /opt/openjdk/java17 |
|
||||||
ENV JDK17 /opt/openjdk/java17 |
|
||||||
|
|
||||||
ENV PATH $JAVA_HOME/bin:$PATH |
|
||||||
@ -1,11 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
set -e |
|
||||||
|
|
||||||
case "$1" in |
|
||||||
java17) |
|
||||||
echo "https://github.com/bell-sw/Liberica/releases/download/17.0.10%2B13/bellsoft-jdk17.0.10+13-linux-amd64.tar.gz" |
|
||||||
;; |
|
||||||
*) |
|
||||||
echo $"Unknown java version" |
|
||||||
exit 1 |
|
||||||
esac |
|
||||||
@ -1,40 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
set -ex |
|
||||||
|
|
||||||
########################################################### |
|
||||||
# UTILS |
|
||||||
########################################################### |
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive |
|
||||||
apt-get update |
|
||||||
apt-get install --no-install-recommends -y tzdata ca-certificates net-tools libxml2-utils git curl libudev1 libxml2-utils iptables iproute2 jq fontconfig |
|
||||||
ln -fs /usr/share/zoneinfo/UTC /etc/localtime |
|
||||||
dpkg-reconfigure --frontend noninteractive tzdata |
|
||||||
rm -rf /var/lib/apt/lists/* |
|
||||||
|
|
||||||
curl https://raw.githubusercontent.com/spring-io/concourse-java-scripts/v0.0.4/concourse-java.sh > /opt/concourse-java.sh |
|
||||||
|
|
||||||
########################################################### |
|
||||||
# JAVA |
|
||||||
########################################################### |
|
||||||
|
|
||||||
mkdir -p /opt/openjdk |
|
||||||
pushd /opt/openjdk > /dev/null |
|
||||||
for jdk in java17 |
|
||||||
do |
|
||||||
JDK_URL=$( /get-jdk-url.sh $jdk ) |
|
||||||
mkdir $jdk |
|
||||||
pushd $jdk > /dev/null |
|
||||||
curl -L ${JDK_URL} | tar zx --strip-components=1 |
|
||||||
test -f bin/java |
|
||||||
test -f bin/javac |
|
||||||
popd > /dev/null |
|
||||||
done |
|
||||||
popd |
|
||||||
|
|
||||||
########################################################### |
|
||||||
# GRADLE ENTERPRISE |
|
||||||
########################################################### |
|
||||||
cd / |
|
||||||
mkdir ~/.gradle |
|
||||||
echo 'systemProp.user.name=concourse' > ~/.gradle/gradle.properties |
|
||||||
@ -1,10 +0,0 @@ |
|||||||
github-repo: "https://github.com/spring-projects/spring-framework.git" |
|
||||||
github-repo-name: "spring-projects/spring-framework" |
|
||||||
sonatype-staging-profile: "org.springframework" |
|
||||||
docker-hub-organization: "springci" |
|
||||||
artifactory-server: "https://repo.spring.io" |
|
||||||
branch: "6.0.x" |
|
||||||
milestone: "6.0.x" |
|
||||||
build-name: "spring-framework" |
|
||||||
pipeline-name: "spring-framework" |
|
||||||
concourse-url: "https://ci.spring.io" |
|
||||||
@ -1,295 +0,0 @@ |
|||||||
anchors: |
|
||||||
git-repo-resource-source: &git-repo-resource-source |
|
||||||
uri: ((github-repo)) |
|
||||||
username: ((github-username)) |
|
||||||
password: ((github-ci-release-token)) |
|
||||||
branch: ((branch)) |
|
||||||
gradle-enterprise-task-params: &gradle-enterprise-task-params |
|
||||||
DEVELOCITY_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) |
|
||||||
sonatype-task-params: &sonatype-task-params |
|
||||||
SONATYPE_USERNAME: ((s01-user-token)) |
|
||||||
SONATYPE_PASSWORD: ((s01-user-token-password)) |
|
||||||
SONATYPE_URL: ((sonatype-url)) |
|
||||||
SONATYPE_STAGING_PROFILE: ((sonatype-staging-profile)) |
|
||||||
artifactory-task-params: &artifactory-task-params |
|
||||||
ARTIFACTORY_SERVER: ((artifactory-server)) |
|
||||||
ARTIFACTORY_USERNAME: ((artifactory-username)) |
|
||||||
ARTIFACTORY_PASSWORD: ((artifactory-password)) |
|
||||||
build-project-task-params: &build-project-task-params |
|
||||||
BRANCH: ((branch)) |
|
||||||
<<: *gradle-enterprise-task-params |
|
||||||
docker-resource-source: &docker-resource-source |
|
||||||
username: ((docker-hub-username)) |
|
||||||
password: ((docker-hub-password)) |
|
||||||
changelog-task-params: &changelog-task-params |
|
||||||
name: generated-changelog/tag |
|
||||||
tag: generated-changelog/tag |
|
||||||
body: generated-changelog/changelog.md |
|
||||||
github-task-params: &github-task-params |
|
||||||
GITHUB_USERNAME: ((github-username)) |
|
||||||
GITHUB_TOKEN: ((github-ci-release-token)) |
|
||||||
|
|
||||||
resource_types: |
|
||||||
- name: registry-image |
|
||||||
type: registry-image |
|
||||||
source: |
|
||||||
<<: *docker-resource-source |
|
||||||
repository: concourse/registry-image-resource |
|
||||||
tag: 1.8.0 |
|
||||||
- name: artifactory-resource |
|
||||||
type: registry-image |
|
||||||
source: |
|
||||||
<<: *docker-resource-source |
|
||||||
repository: springio/artifactory-resource |
|
||||||
tag: 0.0.18 |
|
||||||
- name: github-release |
|
||||||
type: registry-image |
|
||||||
source: |
|
||||||
<<: *docker-resource-source |
|
||||||
repository: concourse/github-release-resource |
|
||||||
tag: 1.8.0 |
|
||||||
- name: github-status-resource |
|
||||||
type: registry-image |
|
||||||
source: |
|
||||||
<<: *docker-resource-source |
|
||||||
repository: dpb587/github-status-resource |
|
||||||
tag: master |
|
||||||
resources: |
|
||||||
- name: git-repo |
|
||||||
type: git |
|
||||||
icon: github |
|
||||||
source: |
|
||||||
<<: *git-repo-resource-source |
|
||||||
- name: ci-images-git-repo |
|
||||||
type: git |
|
||||||
icon: github |
|
||||||
source: |
|
||||||
uri: ((github-repo)) |
|
||||||
branch: ((branch)) |
|
||||||
paths: ["ci/images/*"] |
|
||||||
- name: ci-image |
|
||||||
type: registry-image |
|
||||||
icon: docker |
|
||||||
source: |
|
||||||
<<: *docker-resource-source |
|
||||||
repository: ((docker-hub-organization))/spring-framework-ci |
|
||||||
tag: ((milestone)) |
|
||||||
- name: artifactory-repo |
|
||||||
type: artifactory-resource |
|
||||||
icon: package-variant |
|
||||||
source: |
|
||||||
uri: ((artifactory-server)) |
|
||||||
username: ((artifactory-username)) |
|
||||||
password: ((artifactory-password)) |
|
||||||
build_name: ((build-name)) |
|
||||||
- name: github-pre-release |
|
||||||
type: github-release |
|
||||||
icon: briefcase-download-outline |
|
||||||
source: |
|
||||||
owner: spring-projects |
|
||||||
repository: spring-framework |
|
||||||
access_token: ((github-ci-release-token)) |
|
||||||
pre_release: true |
|
||||||
release: false |
|
||||||
- name: github-release |
|
||||||
type: github-release |
|
||||||
icon: briefcase-download |
|
||||||
source: |
|
||||||
owner: spring-projects |
|
||||||
repository: spring-framework |
|
||||||
access_token: ((github-ci-release-token)) |
|
||||||
pre_release: false |
|
||||||
jobs: |
|
||||||
- name: build-ci-images |
|
||||||
plan: |
|
||||||
- get: git-repo |
|
||||||
- get: ci-images-git-repo |
|
||||||
trigger: true |
|
||||||
- task: build-ci-image |
|
||||||
privileged: true |
|
||||||
file: git-repo/ci/tasks/build-ci-image.yml |
|
||||||
output_mapping: |
|
||||||
image: ci-image |
|
||||||
vars: |
|
||||||
ci-image-name: ci-image |
|
||||||
<<: *docker-resource-source |
|
||||||
- put: ci-image |
|
||||||
params: |
|
||||||
image: ci-image/image.tar |
|
||||||
- name: stage-milestone |
|
||||||
serial: true |
|
||||||
plan: |
|
||||||
- get: ci-image |
|
||||||
- get: git-repo |
|
||||||
trigger: false |
|
||||||
- task: stage |
|
||||||
image: ci-image |
|
||||||
file: git-repo/ci/tasks/stage-version.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: M |
|
||||||
<<: *gradle-enterprise-task-params |
|
||||||
- put: artifactory-repo |
|
||||||
params: &artifactory-params |
|
||||||
signing_key: ((signing-key)) |
|
||||||
signing_passphrase: ((signing-passphrase)) |
|
||||||
repo: libs-staging-local |
|
||||||
folder: distribution-repository |
|
||||||
build_uri: "https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}" |
|
||||||
build_number: "${BUILD_PIPELINE_NAME}-${BUILD_JOB_NAME}-${BUILD_NAME}" |
|
||||||
disable_checksum_uploads: true |
|
||||||
threads: 8 |
|
||||||
artifact_set: |
|
||||||
- include: |
|
||||||
- "/**/framework-docs-*.zip" |
|
||||||
properties: |
|
||||||
"zip.name": "spring-framework" |
|
||||||
"zip.displayname": "Spring Framework" |
|
||||||
"zip.deployed": "false" |
|
||||||
- include: |
|
||||||
- "/**/framework-docs-*-docs.zip" |
|
||||||
properties: |
|
||||||
"zip.type": "docs" |
|
||||||
- include: |
|
||||||
- "/**/framework-docs-*-dist.zip" |
|
||||||
properties: |
|
||||||
"zip.type": "dist" |
|
||||||
- include: |
|
||||||
- "/**/framework-docs-*-schema.zip" |
|
||||||
properties: |
|
||||||
"zip.type": "schema" |
|
||||||
- put: git-repo |
|
||||||
params: |
|
||||||
repository: stage-git-repo |
|
||||||
- name: promote-milestone |
|
||||||
serial: true |
|
||||||
plan: |
|
||||||
- get: ci-image |
|
||||||
- get: git-repo |
|
||||||
trigger: false |
|
||||||
- get: artifactory-repo |
|
||||||
trigger: false |
|
||||||
passed: [stage-milestone] |
|
||||||
params: |
|
||||||
download_artifacts: false |
|
||||||
save_build_info: true |
|
||||||
- task: promote |
|
||||||
file: git-repo/ci/tasks/promote-version.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: M |
|
||||||
<<: *artifactory-task-params |
|
||||||
- task: generate-changelog |
|
||||||
file: git-repo/ci/tasks/generate-changelog.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: M |
|
||||||
<<: *github-task-params |
|
||||||
<<: *docker-resource-source |
|
||||||
- put: github-pre-release |
|
||||||
params: |
|
||||||
<<: *changelog-task-params |
|
||||||
- name: stage-rc |
|
||||||
serial: true |
|
||||||
plan: |
|
||||||
- get: ci-image |
|
||||||
- get: git-repo |
|
||||||
trigger: false |
|
||||||
- task: stage |
|
||||||
image: ci-image |
|
||||||
file: git-repo/ci/tasks/stage-version.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: RC |
|
||||||
<<: *gradle-enterprise-task-params |
|
||||||
- put: artifactory-repo |
|
||||||
params: |
|
||||||
<<: *artifactory-params |
|
||||||
- put: git-repo |
|
||||||
params: |
|
||||||
repository: stage-git-repo |
|
||||||
- name: promote-rc |
|
||||||
serial: true |
|
||||||
plan: |
|
||||||
- get: ci-image |
|
||||||
- get: git-repo |
|
||||||
trigger: false |
|
||||||
- get: artifactory-repo |
|
||||||
trigger: false |
|
||||||
passed: [stage-rc] |
|
||||||
params: |
|
||||||
download_artifacts: false |
|
||||||
save_build_info: true |
|
||||||
- task: promote |
|
||||||
file: git-repo/ci/tasks/promote-version.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: RC |
|
||||||
<<: *docker-resource-source |
|
||||||
<<: *artifactory-task-params |
|
||||||
- task: generate-changelog |
|
||||||
file: git-repo/ci/tasks/generate-changelog.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: RC |
|
||||||
<<: *github-task-params |
|
||||||
- put: github-pre-release |
|
||||||
params: |
|
||||||
<<: *changelog-task-params |
|
||||||
- name: stage-release |
|
||||||
serial: true |
|
||||||
plan: |
|
||||||
- get: ci-image |
|
||||||
- get: git-repo |
|
||||||
trigger: false |
|
||||||
- task: stage |
|
||||||
image: ci-image |
|
||||||
file: git-repo/ci/tasks/stage-version.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: RELEASE |
|
||||||
<<: *gradle-enterprise-task-params |
|
||||||
- put: artifactory-repo |
|
||||||
params: |
|
||||||
<<: *artifactory-params |
|
||||||
- put: git-repo |
|
||||||
params: |
|
||||||
repository: stage-git-repo |
|
||||||
- name: promote-release |
|
||||||
serial: true |
|
||||||
plan: |
|
||||||
- get: ci-image |
|
||||||
- get: git-repo |
|
||||||
trigger: false |
|
||||||
- get: artifactory-repo |
|
||||||
trigger: false |
|
||||||
passed: [stage-release] |
|
||||||
params: |
|
||||||
download_artifacts: true |
|
||||||
save_build_info: true |
|
||||||
- task: promote |
|
||||||
file: git-repo/ci/tasks/promote-version.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: RELEASE |
|
||||||
<<: *docker-resource-source |
|
||||||
<<: *artifactory-task-params |
|
||||||
<<: *sonatype-task-params |
|
||||||
- name: create-github-release |
|
||||||
serial: true |
|
||||||
plan: |
|
||||||
- get: ci-image |
|
||||||
- get: git-repo |
|
||||||
- get: artifactory-repo |
|
||||||
trigger: true |
|
||||||
passed: [promote-release] |
|
||||||
params: |
|
||||||
download_artifacts: false |
|
||||||
save_build_info: true |
|
||||||
- task: generate-changelog |
|
||||||
file: git-repo/ci/tasks/generate-changelog.yml |
|
||||||
params: |
|
||||||
RELEASE_TYPE: RELEASE |
|
||||||
<<: *docker-resource-source |
|
||||||
<<: *github-task-params |
|
||||||
- put: github-release |
|
||||||
params: |
|
||||||
<<: *changelog-task-params |
|
||||||
|
|
||||||
groups: |
|
||||||
- name: "releases" |
|
||||||
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release", "create-github-release"] |
|
||||||
- name: "ci-images" |
|
||||||
jobs: ["build-ci-images"] |
|
||||||
@ -1,2 +0,0 @@ |
|||||||
source /opt/concourse-java.sh |
|
||||||
setup_symlinks |
|
||||||
@ -1,12 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
set -e |
|
||||||
|
|
||||||
CONFIG_DIR=git-repo/ci/config |
|
||||||
version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' ) |
|
||||||
|
|
||||||
java -jar /github-changelog-generator.jar \ |
|
||||||
--spring.config.location=${CONFIG_DIR}/changelog-generator.yml \ |
|
||||||
${version} generated-changelog/changelog.md |
|
||||||
|
|
||||||
echo ${version} > generated-changelog/version |
|
||||||
echo v${version} > generated-changelog/tag |
|
||||||
@ -1,17 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
|
|
||||||
CONFIG_DIR=git-repo/ci/config |
|
||||||
|
|
||||||
version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' ) |
|
||||||
export BUILD_INFO_LOCATION=$(pwd)/artifactory-repo/build-info.json |
|
||||||
|
|
||||||
java -jar /concourse-release-scripts.jar \ |
|
||||||
--spring.config.location=${CONFIG_DIR}/release-scripts.yml \ |
|
||||||
publishToCentral $RELEASE_TYPE $BUILD_INFO_LOCATION artifactory-repo || { exit 1; } |
|
||||||
|
|
||||||
java -jar /concourse-release-scripts.jar \ |
|
||||||
--spring.config.location=${CONFIG_DIR}/release-scripts.yml \ |
|
||||||
promote $RELEASE_TYPE $BUILD_INFO_LOCATION || { exit 1; } |
|
||||||
|
|
||||||
echo "Promotion complete" |
|
||||||
echo $version > version/version |
|
||||||
@ -1,50 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
set -e |
|
||||||
|
|
||||||
source $(dirname $0)/common.sh |
|
||||||
repository=$(pwd)/distribution-repository |
|
||||||
|
|
||||||
pushd git-repo > /dev/null |
|
||||||
git fetch --tags --all > /dev/null |
|
||||||
popd > /dev/null |
|
||||||
|
|
||||||
git clone git-repo stage-git-repo > /dev/null |
|
||||||
|
|
||||||
pushd stage-git-repo > /dev/null |
|
||||||
|
|
||||||
snapshotVersion=$( awk -F '=' '$1 == "version" { print $2 }' gradle.properties ) |
|
||||||
if [[ $RELEASE_TYPE = "M" ]]; then |
|
||||||
stageVersion=$( get_next_milestone_release $snapshotVersion) |
|
||||||
nextVersion=$snapshotVersion |
|
||||||
elif [[ $RELEASE_TYPE = "RC" ]]; then |
|
||||||
stageVersion=$( get_next_rc_release $snapshotVersion) |
|
||||||
nextVersion=$snapshotVersion |
|
||||||
elif [[ $RELEASE_TYPE = "RELEASE" ]]; then |
|
||||||
stageVersion=$( get_next_release $snapshotVersion) |
|
||||||
nextVersion=$( bump_version_number $snapshotVersion) |
|
||||||
else |
|
||||||
echo "Unknown release type $RELEASE_TYPE" >&2; exit 1; |
|
||||||
fi |
|
||||||
|
|
||||||
echo "Staging $stageVersion (next version will be $nextVersion)" |
|
||||||
sed -i "s/version=$snapshotVersion/version=$stageVersion/" gradle.properties |
|
||||||
|
|
||||||
git config user.name "Spring Builds" > /dev/null |
|
||||||
git config user.email "spring-builds@users.noreply.github.com" > /dev/null |
|
||||||
git add gradle.properties > /dev/null |
|
||||||
git commit -m"Release v$stageVersion" > /dev/null |
|
||||||
git tag -a "v$stageVersion" -m"Release v$stageVersion" > /dev/null |
|
||||||
|
|
||||||
./gradlew --no-daemon --max-workers=4 -PdeploymentRepository=${repository} build publishAllPublicationsToDeploymentRepository |
|
||||||
|
|
||||||
git reset --hard HEAD^ > /dev/null |
|
||||||
if [[ $nextVersion != $snapshotVersion ]]; then |
|
||||||
echo "Setting next development version (v$nextVersion)" |
|
||||||
sed -i "s/version=$snapshotVersion/version=$nextVersion/" gradle.properties |
|
||||||
git add gradle.properties > /dev/null |
|
||||||
git commit -m"Next development version (v$nextVersion)" > /dev/null |
|
||||||
fi; |
|
||||||
|
|
||||||
echo "Staging Complete" |
|
||||||
|
|
||||||
popd > /dev/null |
|
||||||
@ -1,30 +0,0 @@ |
|||||||
--- |
|
||||||
platform: linux |
|
||||||
image_resource: |
|
||||||
type: registry-image |
|
||||||
source: |
|
||||||
repository: concourse/oci-build-task |
|
||||||
tag: 0.10.0 |
|
||||||
username: ((docker-hub-username)) |
|
||||||
password: ((docker-hub-password)) |
|
||||||
inputs: |
|
||||||
- name: ci-images-git-repo |
|
||||||
outputs: |
|
||||||
- name: image |
|
||||||
caches: |
|
||||||
- path: ci-image-cache |
|
||||||
params: |
|
||||||
CONTEXT: ci-images-git-repo/ci/images |
|
||||||
DOCKERFILE: ci-images-git-repo/ci/images/ci-image/Dockerfile |
|
||||||
DOCKER_HUB_AUTH: ((docker-hub-auth)) |
|
||||||
run: |
|
||||||
path: /bin/sh |
|
||||||
args: |
|
||||||
- "-c" |
|
||||||
- | |
|
||||||
mkdir -p /root/.docker |
|
||||||
cat > /root/.docker/config.json <<EOF |
|
||||||
{ "auths": { "https://index.docker.io/v1/": { "auth": "$DOCKER_HUB_AUTH" }}} |
|
||||||
EOF |
|
||||||
build |
|
||||||
|
|
||||||
@ -1,22 +0,0 @@ |
|||||||
--- |
|
||||||
platform: linux |
|
||||||
image_resource: |
|
||||||
type: registry-image |
|
||||||
source: |
|
||||||
repository: springio/github-changelog-generator |
|
||||||
tag: '0.0.8' |
|
||||||
username: ((docker-hub-username)) |
|
||||||
password: ((docker-hub-password)) |
|
||||||
inputs: |
|
||||||
- name: git-repo |
|
||||||
- name: artifactory-repo |
|
||||||
outputs: |
|
||||||
- name: generated-changelog |
|
||||||
params: |
|
||||||
GITHUB_ORGANIZATION: |
|
||||||
GITHUB_REPO: |
|
||||||
GITHUB_USERNAME: |
|
||||||
GITHUB_TOKEN: |
|
||||||
RELEASE_TYPE: |
|
||||||
run: |
|
||||||
path: git-repo/ci/scripts/generate-changelog.sh |
|
||||||
@ -1,25 +0,0 @@ |
|||||||
--- |
|
||||||
platform: linux |
|
||||||
image_resource: |
|
||||||
type: registry-image |
|
||||||
source: |
|
||||||
repository: springio/concourse-release-scripts |
|
||||||
tag: '0.4.0' |
|
||||||
username: ((docker-hub-username)) |
|
||||||
password: ((docker-hub-password)) |
|
||||||
inputs: |
|
||||||
- name: git-repo |
|
||||||
- name: artifactory-repo |
|
||||||
outputs: |
|
||||||
- name: version |
|
||||||
params: |
|
||||||
RELEASE_TYPE: |
|
||||||
ARTIFACTORY_SERVER: |
|
||||||
ARTIFACTORY_USERNAME: |
|
||||||
ARTIFACTORY_PASSWORD: |
|
||||||
SONATYPE_USER: |
|
||||||
SONATYPE_PASSWORD: |
|
||||||
SONATYPE_URL: |
|
||||||
SONATYPE_STAGING_PROFILE: |
|
||||||
run: |
|
||||||
path: git-repo/ci/scripts/promote-version.sh |
|
||||||
@ -1,17 +0,0 @@ |
|||||||
--- |
|
||||||
platform: linux |
|
||||||
inputs: |
|
||||||
- name: git-repo |
|
||||||
outputs: |
|
||||||
- name: stage-git-repo |
|
||||||
- name: distribution-repository |
|
||||||
params: |
|
||||||
RELEASE_TYPE: |
|
||||||
CI: true |
|
||||||
GRADLE_ENTERPRISE_CACHE_USERNAME: |
|
||||||
GRADLE_ENTERPRISE_CACHE_PASSWORD: |
|
||||||
GRADLE_ENTERPRISE_URL: https://ge.spring.io |
|
||||||
caches: |
|
||||||
- path: gradle |
|
||||||
run: |
|
||||||
path: git-repo/ci/scripts/stage-version.sh |
|
||||||
Loading…
Reference in new issue