Skip to content

Commit 6f2453a

Browse files
authored
Moving pipelines to shepherd (#869)
1 parent 8df3e33 commit 6f2453a

File tree

6 files changed

+151
-100
lines changed

6 files changed

+151
-100
lines changed

.editorconfig

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
[*]
2-
charset=utf-8
3-
end_of_line=lf
4-
insert_final_newline=true
5-
indent_style=tab
6-
indent_size=4
2+
charset = utf-8
3+
end_of_line = lf
4+
insert_final_newline = true
5+
indent_style = tab
6+
indent_size = 4
77

8-
[*.{yml,yaml,sh}]
9-
indent_style=space
10-
indent_size=2
8+
[{spec,*.yml,*.yaml,Kilnfile,Kilnfile.lock}]
9+
indent_style = space
10+
indent_size = 2
11+
ij_yaml_keep_indents_on_empty_lines = false
12+
ij_yaml_keep_line_breaks = true
13+
14+
[*.sh]
15+
indent_size = 2
16+
indent_style = space
17+
18+
[{.asciidoctorconfig,*.ad,*.adoc,*.asciidoc}]
19+
ij_asciidoc_formatting_enabled = true
20+
ij_asciidoc_one_sentence_per_line = true
1121

1222
[*.java]
1323
ij_java_class_count_to_use_import_on_demand = 100
14-
ij_java_imports_layout = jakarta.**,|,java.**,|,*,|,org.springframework.**,|,$*
24+
ij_java_imports_layout = jakarta.**, |, java.**, |, *, |, org.springframework.**, |, $*
1525
ij_java_names_count_to_use_import_on_demand = 100

ci/pipeline.yml

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,22 +98,24 @@ jobs:
9898
- get: git-repo
9999
passed: [build]
100100
trigger: true
101-
- put: toolsmith-env
102-
inputs: []
101+
- put: cf-environment
103102
params:
104-
action: claim
103+
action: create
104+
duration: 6h
105+
resource: cf-environment
106+
timeout: 6h
105107
- task: acceptance-tests
106108
file: git-repo/ci/tasks/acceptance-tests.yml
107109
vars:
108110
ci-image-tag: ((ci-image-tag))
109111
on_success:
110112
in_parallel:
111113
- *slack-success-notification
112-
- put: toolsmith-env
114+
- put: cf-environment
113115
params:
114-
action: unclaim
115-
env_file: toolsmith-env/metadata
116-
inputs: [toolsmith-env]
116+
action: release
117+
resource: cf-environment
118+
117119
on_failure:
118120
*slack-failure-notification
119121
on_error:
@@ -244,11 +246,11 @@ resource_types:
244246
repository: ((dockerhub-mirror-registry))/cfcommunity/slack-notification-resource
245247
tag: latest
246248

247-
- name: pcf-pool
249+
- name: shepherd
248250
type: registry-image
249251
source:
250-
repository: ((dockerhub-mirror-registry))/cftoolsmiths/toolsmiths-envs-resource
251-
tag: latest
252+
repository: ((shepherd-image-repository))/shepherd-268822/shepherd2/concourse-resource
253+
tag: v1
252254

253255
resources:
254256
- name: nightly
@@ -323,13 +325,17 @@ resources:
323325
source:
324326
url: ((scs-slack-webhook))
325327

326-
- name: toolsmith-env
327-
type: pcf-pool
328-
icon: pool
328+
- name: cf-environment
329+
type: shepherd
329330
source:
330-
api_token: ((toolsmith-api-token))
331-
hostname: environments.toolsmiths.cf-app.com
332-
pool_name: cf-deployment
331+
url: https://v2.shepherd.run
332+
service-account-key: ((shepherd-service-account-key))
333+
lease:
334+
namespace: spring-cloud-app-broker
335+
pool:
336+
namespace: official
337+
name: cfd
338+
compatibility-mode: environments-app
333339

334340
groups:
335341
- name: "build"

ci/pr-pipeline.yml

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,14 @@ jobs:
3535
plan:
3636
- in_parallel:
3737
- get: pull-request
38-
passed: [build]
38+
passed: [ build ]
3939
trigger: true
40-
- put: toolsmith-env
41-
inputs: []
40+
- put: cf-environment
4241
params:
43-
action: claim
42+
action: create
43+
duration: 6h
44+
resource: cf-environment
45+
timeout: 6h
4446
- task: acceptance-tests
4547
file: pull-request/ci/tasks/acceptance-tests.yml
4648
vars:
@@ -50,11 +52,10 @@ jobs:
5052
on_success:
5153
in_parallel:
5254
- *slack-success-notification
53-
- put: toolsmith-env
55+
- put: cf-environment
5456
params:
55-
action: unclaim
56-
env_file: toolsmith-env/metadata
57-
inputs: [ toolsmith-env ]
57+
action: release
58+
resource: cf-environment
5859
on_failure: *slack-failure-notification
5960
on_error: *slack-failure-notification
6061

@@ -71,11 +72,11 @@ resource_types:
7172
repository: ((dockerhub-mirror-registry))/cfcommunity/slack-notification-resource
7273
tag: latest
7374

74-
- name: pcf-pool
75+
- name: shepherd
7576
type: registry-image
7677
source:
77-
repository: ((dockerhub-mirror-registry))/cftoolsmiths/toolsmiths-envs-resource
78-
tag: latest
78+
repository: ((shepherd-image-repository))/shepherd-268822/shepherd2/concourse-resource
79+
tag: v1
7980

8081
resources:
8182
- name: pull-request
@@ -95,10 +96,14 @@ resources:
9596
source:
9697
url: ((scs-slack-webhook))
9798

98-
- name: toolsmith-env
99-
type: pcf-pool
100-
icon: pool
99+
- name: cf-environment
100+
type: shepherd
101101
source:
102-
api_token: ((toolsmith-api-token))
103-
hostname: environments.toolsmiths.cf-app.com
104-
pool_name: cf-deployment
102+
url: https://v2.shepherd.run
103+
service-account-key: ((shepherd-service-account-key))
104+
lease:
105+
namespace: spring-cloud-app-broker
106+
pool:
107+
namespace: official
108+
name: cfd
109+
compatibility-mode: environments-app

ci/scripts/acceptance-tests.sh

Lines changed: 28 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,38 @@
22

33
set -euo pipefail
44

5-
readonly TOOLSMITH_ENV_INPUT="${TOOLSMITH_ENV_INPUT:?must be set}"
6-
readonly DEFAULT_ORG="${DEFAULT_ORG:?must be set}"
7-
readonly DEFAULT_SPACE="${DEFAULT_SPACE:?must be set}"
8-
readonly SKIP_SSL_VALIDATION="${SKIP_SSL_VALIDATION:?must be set}"
9-
readonly ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE="${ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE:-true}"
10-
readonly DEPLOYMENT_DIRECTORY="$(mktemp -d)"
11-
12-
declare API_HOST
13-
readonly API_PORT=443
14-
readonly USERNAME="admin"
15-
declare PASSWORD
5+
readonly METADATA_FILE="${METADATA_FILE:?must be set}"
6+
7+
declare CF_API_HOST
8+
readonly CF_USERNAME="admin"
9+
declare CF_PASSWORD
10+
1611
readonly CLIENT_ID="admin"
1712
declare CLIENT_SECRET
1813

14+
readonly DEFAULT_ORG="test"
15+
readonly DEFAULT_SPACE="development"
16+
17+
DEPLOYMENT_DIRECTORY="$(mktemp -d)"
18+
readonly DEPLOYMENT_DIRECTORY
19+
1920
discover_environment() {
2021
local env_name
21-
env_name=$(cat "$TOOLSMITH_ENV_INPUT/name")
22+
env_name=$(jq -r .name <"${METADATA_FILE}")
2223

23-
eval "$(bbl print-env --metadata-file "$TOOLSMITH_ENV_INPUT/metadata")"
24+
eval "$(bbl print-env --metadata-file "${METADATA_FILE}")"
2425

25-
API_HOST="$(jq -r .cf.api_url <"$TOOLSMITH_ENV_INPUT/metadata")"
26-
PASSWORD="$(credhub get -n "/bosh-${env_name}/cf/cf_admin_password" -q)"
26+
CF_API_HOST="$(jq -r .cf.api_url <"${METADATA_FILE}")"
27+
CF_PASSWORD="$(credhub get -n "/bosh-${env_name}/cf/cf_admin_password" -q)"
2728
CLIENT_SECRET="$(credhub get -n "/bosh-${env_name}/cf/uaa_admin_client_secret" -q)"
2829
}
2930

3031
prepare_cf_deployment() {
31-
pushd "$DEPLOYMENT_DIRECTORY" > /dev/null
32+
pushd "$DEPLOYMENT_DIRECTORY" >/dev/null
3233

33-
bosh --deployment cf manifest > manifest.yml
34+
bosh --deployment cf manifest >manifest.yml
3435

35-
cat << EOF > ops.yml
36+
cat <<EOF >ops.yml
3637
- type: replace
3738
path: /instance_groups/name=diego-cell/vm_type
3839
value: large
@@ -46,18 +47,13 @@ EOF
4647

4748
bosh --non-interactive --deployment cf deploy --ops-file ops.yml manifest.yml
4849

49-
popd > /dev/null
50+
popd >/dev/null
5051
}
5152

5253
prepare_cf() {
5354
local -r test_instances_org="$DEFAULT_ORG-instances"
5455

55-
local skip_ssl_validation=""
56-
if [ "$SKIP_SSL_VALIDATION" = "true" ]; then
57-
skip_ssl_validation="--skip-ssl-validation"
58-
fi
59-
60-
cf login -a "$API_HOST" -u "$USERNAME" -p "$PASSWORD" -o system "$skip_ssl_validation"
56+
cf login -a "$CF_API_HOST" -u "$CF_USERNAME" -p "$CF_PASSWORD" -o system --skip-ssl-validation
6157

6258
cf create-org "$DEFAULT_ORG"
6359
cf create-space "$DEFAULT_SPACE" -o "$DEFAULT_ORG"
@@ -67,27 +63,26 @@ prepare_cf() {
6763
}
6864

6965
run_tests() {
70-
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_API_HOST="${API_HOST}"
71-
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_API_PORT="${API_PORT}"
72-
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_USERNAME="${USERNAME}"
73-
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_PASSWORD="${PASSWORD}"
66+
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_API_HOST="${CF_API_HOST}"
67+
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_API_PORT=443
68+
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_USERNAME="${CF_USERNAME}"
69+
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_PASSWORD="${CF_PASSWORD}"
7470
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_CLIENT_ID="${CLIENT_ID}"
7571
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_CLIENT_SECRET="${CLIENT_SECRET}"
7672
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_DEFAULT_ORG="${DEFAULT_ORG}"
7773
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_DEFAULT_SPACE="${DEFAULT_SPACE}"
78-
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_SKIP_SSL_VALIDATION="${SKIP_SSL_VALIDATION}"
74+
export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_SKIP_SSL_VALIDATION=true
7975
export TESTS_BROKERAPPPATH=build/libs/spring-cloud-app-broker-acceptance-tests.jar
8076
./gradlew -PacceptanceTests \
81-
-PonlyShowStandardStreamsOnTestFailure="${ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE}" \
77+
-PonlyShowStandardStreamsOnTestFailure=true \
8278
:spring-cloud-app-broker-acceptance-tests:test
8379
}
8480

8581
main() {
8682
discover_environment
8783

88-
echo "Running tests against $API_HOST"
84+
echo "Running tests against ${CF_API_HOST}"
8985
echo
90-
9186
prepare_cf_deployment
9287
prepare_cf
9388

ci/tasks/acceptance-tests.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,9 @@ image_resource:
99
tag: ((ci-image-tag))
1010
inputs:
1111
- name: git-repo
12-
- name: toolsmith-env
12+
- name: cf-environment
1313
run:
1414
path: ci/scripts/acceptance-tests.sh
1515
dir: git-repo
1616
params:
17-
TOOLSMITH_ENV_INPUT: ../toolsmith-env
18-
DEFAULT_ORG: ((acceptance-test-default-org))
19-
DEFAULT_SPACE: ((acceptance-test-default-space))
20-
SKIP_SSL_VALIDATION: ((acceptance-test-skip-ssl-validation))
21-
ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE: true
17+
METADATA_FILE: ../cf-environment/metadata

0 commit comments

Comments
 (0)