Skip to content

Commit 44de6e4

Browse files
committed
Restore CircleCI configuration
1 parent 196f282 commit 44de6e4

File tree

2 files changed

+178
-0
lines changed

2 files changed

+178
-0
lines changed

.circleci/config.yml

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
#
2+
# Copyright 2012-2020 The Feign Authors
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5+
# in compliance with the License. You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software distributed under the License
10+
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11+
# or implied. See the License for the specific language governing permissions and limitations under
12+
# the License.
13+
#
14+
15+
# common executors
16+
executors:
17+
java:
18+
docker:
19+
- image: velo/toolchains-4-ci-builds:with-21
20+
21+
# common commands
22+
commands:
23+
resolve-dependencies:
24+
description: 'Download and prepare all dependencies'
25+
steps:
26+
- run:
27+
name: 'Resolving Dependencies'
28+
command: |
29+
./mvnw -ntp dependency:resolve-plugins go-offline:resolve-dependencies -DskipTests=true -B
30+
verify-formatting:
31+
steps:
32+
- run:
33+
name: 'Verify formatting'
34+
command: |
35+
scripts/no-git-changes.sh
36+
configure-gpg:
37+
steps:
38+
- run:
39+
name: 'Configure GPG keys'
40+
command: |
41+
echo -e "$GPG_KEY" | gpg --batch --no-tty --import --yes
42+
nexus-deploy:
43+
steps:
44+
- run:
45+
name: 'Deploy Core Modules Sonatype'
46+
command: |
47+
./mvnw -ntp -nsu -s .circleci/settings.xml -P release -pl -:feign-benchmark -DskipTests=true deploy
48+
49+
# our job defaults
50+
defaults: &defaults
51+
working_directory: ~/feign
52+
environment:
53+
# Customize the JVM maximum heap limit
54+
MAVEN_OPTS: -Xmx3200m
55+
56+
# branch filters
57+
master-only: &master-only
58+
branches:
59+
only: master
60+
61+
tags-only: &tags-only
62+
branches:
63+
ignore: /.*/
64+
tags:
65+
only: /.*/
66+
67+
all-branches: &all-branches
68+
branches:
69+
ignore: master
70+
tags:
71+
ignore: /.*/
72+
73+
version: 2.1
74+
75+
jobs:
76+
test:
77+
executor:
78+
name: java
79+
<<: *defaults
80+
steps:
81+
- checkout
82+
- restore_cache:
83+
keys:
84+
- feign-dependencies-v2-{{ checksum "pom.xml" }}
85+
- feign-dependencies-v2-
86+
- resolve-dependencies
87+
- save_cache:
88+
paths:
89+
- ~/.m2/repository
90+
key: feign-dependencies-v2-{{ checksum "pom.xml" }}
91+
- run:
92+
name: 'Test'
93+
command: |
94+
./mvnw -ntp -B verify
95+
- verify-formatting
96+
97+
deploy:
98+
executor:
99+
name: java
100+
<<: *defaults
101+
steps:
102+
- checkout
103+
- restore_cache:
104+
keys:
105+
- feign-dependencies-v2-{{ checksum "pom.xml" }}
106+
- feign-dependencies-v2-
107+
- resolve-dependencies
108+
- configure-gpg
109+
- nexus-deploy
110+
111+
workflows:
112+
version: 2
113+
build:
114+
jobs:
115+
- test:
116+
name: 'pr-build'
117+
filters:
118+
<<: *all-branches
119+
120+
snapshot:
121+
jobs:
122+
- test:
123+
name: 'snapshot'
124+
filters:
125+
<<: *master-only
126+
- deploy:
127+
name: 'deploy snapshot'
128+
requires:
129+
- 'snapshot'
130+
context: Sonatype
131+
filters:
132+
<<: *master-only
133+
134+
release:
135+
jobs:
136+
- deploy:
137+
name: 'release to maven central'
138+
context: Sonatype
139+
filters:
140+
<<: *tags-only

.circleci/settings.xml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<!--
2+
3+
Copyright 2012-2019 The Feign Authors
4+
5+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
6+
in compliance with the License. You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software distributed under the License
11+
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12+
or implied. See the License for the specific language governing permissions and limitations under
13+
the License.
14+
15+
-->
16+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
17+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
19+
http://maven.apache.org/xsd/settings-1.0.0.xsd">
20+
<servers>
21+
<server>
22+
<id>ossrh</id>
23+
<username>${env.SONATYPE_USER}</username>
24+
<password>${env.SONATYPE_PASSWORD}</password>
25+
</server>
26+
</servers>
27+
<profiles>
28+
<profile>
29+
<id>ossrh</id>
30+
<activation>
31+
<activeByDefault>true</activeByDefault>
32+
</activation>
33+
<properties>
34+
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
35+
</properties>
36+
</profile>
37+
</profiles>
38+
</settings>

0 commit comments

Comments
 (0)