forked from micrometer-metrics/micrometer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yml
150 lines (142 loc) · 3.93 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
version: 2.1
executors:
circle-jdk-executor:
working_directory: ~/micrometer
environment:
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
resource_class: medium+
docker:
- image: cimg/openjdk:21.0.2
circle-jdk17-executor:
working_directory: ~/micrometer
environment:
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
resource_class: medium+
docker:
- image: cimg/openjdk:17.0.10
circle-jdk11-executor:
working_directory: ~/micrometer
environment:
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
resource_class: medium+
docker:
- image: cimg/openjdk:11.0.22
machine-executor:
working_directory: ~/micrometer
machine:
image: ubuntu-2204:2024.01.1
commands:
gradlew-build:
description: 'Run a Gradle build using the wrapper'
parameters:
command:
type: string
default: 'build'
steps:
- checkout
- restore_cache:
key: gradle-dependencies-{{ .Branch }}-{{ checksum "build.gradle" }}-{{ checksum ".circleci/config.yml" }}
- run:
name: downloadDependencies
command: ./gradlew downloadDependencies --console=plain
- save_cache:
key: gradle-dependencies-{{ .Branch }}-{{ checksum "build.gradle" }}-{{ checksum ".circleci/config.yml" }}
paths:
- ~/.gradle
- run:
name: run gradle command
command: ./gradlew << parameters.command >>
- run:
name: collect test reports
when: always
command: |
mkdir -p ~/micrometer/test-results/junit/
find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} ~/micrometer/test-results/junit/ \;
- store_test_results:
path: ~/micrometer/test-results/
- store_artifacts:
path: ~/micrometer/test-results/
jobs:
build:
executor: circle-jdk-executor
steps:
- gradlew-build
- run: ./gradlew shenandoahTest
- run: ./gradlew zgcTest
- run: ./gradlew zgcGenerationalTest
build-jdk11:
executor: circle-jdk11-executor
steps:
- gradlew-build
build-jdk17:
executor: circle-jdk17-executor
steps:
- gradlew-build
docker-tests:
executor: machine-executor
steps:
- gradlew-build:
command: dockerTest
deploy:
executor: circle-jdk-executor
steps:
- checkout
- restore_cache:
key: gradle-dependencies-{{ .Branch }}-{{ checksum "build.gradle" }}-{{ checksum ".circleci/config.yml" }}
- run:
name: Deployment
command: sh ./gradle/deploy.sh
workflows:
version: 2
build_prs_deploy_snapshots:
jobs:
- build
- build-jdk11
- build-jdk17
- docker-tests
- deploy:
requires:
- build
- build-jdk11
- build-jdk17
- docker-tests
filters:
branches:
only:
- main
- /\d+\.\d+\.x/
build_deploy_releases:
jobs:
- build:
filters:
branches:
ignore: /.*/
tags:
only: /^v\d+\.\d+\.\d+(-(RC|M)\d+)?$/
- build-jdk11:
filters:
branches:
ignore: /.*/
tags:
only: /^v\d+\.\d+\.\d+(-(RC|M)\d+)?$/
- build-jdk17:
filters:
branches:
ignore: /.*/
tags:
only: /^v\d+\.\d+\.\d+(-(RC|M)\d+)?$/
- docker-tests:
filters:
branches:
ignore: /.*/
tags:
only: /^v\d+\.\d+\.\d+(-(RC|M)\d+)?$/
- deploy:
requires:
- build
- build-jdk11
- build-jdk17
- docker-tests
filters:
tags:
only: /^v\d+\.\d+\.\d+(-(RC|M)\d+)?$/