Remove concourse configuration now that CI is using GitHub Actions
This commit is contained in:
parent
2bfff7fc37
commit
e15f123486
|
@ -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.1.x[Spring Framework 6.1.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.1.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,12 +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 JDK21 /opt/openjdk/java21
|
|
||||||
ENV JDK23 /opt/openjdk/java23
|
|
||||||
|
|
||||||
ENV PATH $JAVA_HOME/bin:$PATH
|
|
|
@ -1,17 +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"
|
|
||||||
;;
|
|
||||||
java21)
|
|
||||||
echo "https://github.com/bell-sw/Liberica/releases/download/21.0.2%2B14/bellsoft-jdk21.0.2+14-linux-amd64.tar.gz"
|
|
||||||
;;
|
|
||||||
java23)
|
|
||||||
echo "https://download.java.net/java/early_access/jdk23/17/GPL/openjdk-23-ea+17_linux-x64_bin.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 java21 java23
|
|
||||||
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.1.x"
|
|
||||||
milestone: "6.1.x"
|
|
||||||
build-name: "spring-framework"
|
|
||||||
pipeline-name: "spring-framework"
|
|
||||||
concourse-url: "https://ci.spring.io"
|
|
293
ci/pipeline.yml
293
ci/pipeline.yml
|
@ -1,293 +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-api-*.zip"
|
|
||||||
properties:
|
|
||||||
"zip.name": "spring-framework"
|
|
||||||
"zip.displayname": "Spring Framework"
|
|
||||||
"zip.deployed": "false"
|
|
||||||
- include:
|
|
||||||
- "/**/framework-api-*-docs.zip"
|
|
||||||
properties:
|
|
||||||
"zip.type": "docs"
|
|
||||||
- include:
|
|
||||||
- "/**/framework-api-*-schema.zip"
|
|
||||||
properties:
|
|
||||||
"zip.type": "schema"
|
|
||||||
get_params:
|
|
||||||
threads: 8
|
|
||||||
- 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,51 +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} -Porg.gradle.java.installations.fromEnv=JDK17,JDK21 \
|
|
||||||
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