Skip to content
This repository was archived by the owner on Jul 23, 2024. It is now read-only.

Commit 4e94236

Browse files
author
kale
authored
Merge pull request #255 from klaytn/release/v1.6.3
[Master] release/v1.6.3 QA Sign-off
2 parents 8b55936 + 9b9c838 commit 4e94236

File tree

122 files changed

+10378
-365
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+10378
-365
lines changed

.circleci/config.yml

Lines changed: 130 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 2
1+
version: 2.1
22

33
defaults: &defaults
44
working_directory: ~/circleci-caver-java-major
@@ -16,6 +16,22 @@ android_machine_ubuntu: &android_machine_ubuntu
1616
image: android:202102-01
1717
resource_class: large
1818

19+
commands:
20+
notify-success:
21+
steps:
22+
- run:
23+
name: "notify slack when job success"
24+
command : |
25+
curl --data '{"text": "✅ Job *'$CIRCLE_JOB'* succeeded on *'$CIRCLE_BRANCH''$CIRCLE_TAG'*. Please see '$CIRCLE_BUILD_URL' for details."}' "$SLACK_WEBHOOK_URL"
26+
when: on_success
27+
notify-failure:
28+
steps:
29+
- run:
30+
name: "notify slack when job fail"
31+
command : |
32+
curl --data '{"text": "❌ Job *'$CIRCLE_JOB'* failed on *'$CIRCLE_BRANCH''$CIRCLE_TAG'*. Please see '$CIRCLE_BUILD_URL' for details."}' "$SLACK_WEBHOOK_URL"
33+
when: on_fail
34+
1935
setup_android_test_files: &setup_android_test_files
2036
run:
2137
name: "Setup android instrumented test environment"
@@ -67,28 +83,69 @@ start_test_network: &start_test_network
6783
6884
build_test: &build_test
6985
run:
70-
name: "Build and test"
86+
name: "Build"
7187
command: |
7288
./gradlew clean
73-
./gradlew build --debug -x :android_instrumented_test:build
89+
./gradlew build --debug -x test
7490
7591
build_test_android: &build_test_android
7692
run:
77-
name: "Build without unit tests and do instrumented test on Android Emulator"
78-
no_output_timeout: 20m
93+
name: "Build android"
7994
command: |
8095
./gradlew clean
81-
./gradlew build --debug -x :android_instrumented_test:build -x test
82-
./gradlew connectedDebugAndroidTest --debug --stacktrace
96+
./gradlew build --debug -x test
97+
98+
include_android_instrumented_test_as_subproject: &include_android_instrumented_test_as_subproject
99+
run:
100+
name: "Insert phrase `include 'android_instrumented_test'` at the end of the `settings.gradle`."
101+
command: |
102+
sed -i -e '$ainclude '\''android_instrumented_test'\''' settings.gradle
103+
104+
check_android_version: &check_android_version
105+
run:
106+
name: "Change to Android version"
107+
command: |
108+
version=$(.circleci/version.sh)
109+
sed -i "s/version '.*'/version '${version}-android'/" build.gradle
110+
sed -i "s/java.util.concurrent.CompletableFuture/java8.util.concurrent.CompletableFuture/" core/src/test/java/com/klaytn/caver/legacy/scenario/FastTransactionManagerIT.java
111+
112+
if [ -z "$CIRCLE_TAG" ]; then
113+
echo "this is not RC version"
114+
else
115+
echo "trigger CIRCLE_TAG $CIRCLE_TAG"
116+
sed -i "s/version '.*'/version '${CIRCLE_TAG:1}-android'/" build.gradle
117+
sed -i "s/java.util.concurrent.CompletableFuture/java8.util.concurrent.CompletableFuture/" core/src/test/java/com/klaytn/caver/legacy/scenario/FastTransactionManagerIT.java
118+
fi
119+
120+
awk '/version '\''/' build.gradle
121+
awk '/ext.web3jVersion = '\''/' build.gradle
83122
84123
jobs:
85-
build:
124+
docs_test:
125+
<<: *machine_ubuntu
126+
steps:
127+
- checkout
128+
- run:
129+
name: "Docs Test"
130+
command: ./gradlew javadoc
131+
132+
unit_test:
86133
<<: *machine_ubuntu
87134
steps:
88135
- checkout
89136
- *pull_klaytn_image
90137
- *start_test_network
91138
- *check_test_network
139+
- run:
140+
name: "Test"
141+
command: ./gradlew clean test --debug
142+
- store_test_results:
143+
path: core/build/test-results/test
144+
145+
build_test:
146+
<<: *machine_ubuntu
147+
steps:
148+
- checkout
92149
- run:
93150
name: "Check rc version"
94151
command: |
@@ -99,40 +156,17 @@ jobs:
99156
awk '/version '\''/' build.gradle
100157
fi
101158
- *build_test
102-
- store_test_results:
103-
path: core/build/test-results/test
104-
- persist_to_workspace:
105-
root: ~/
106-
paths:
107-
- circleci-caver-java-major/*
108159

109-
android_build:
160+
unit_test_android:
110161
<<: *android_machine_ubuntu
111162
steps:
112163
- checkout
164+
- *include_android_instrumented_test_as_subproject
113165
- *setup_android_test_files
114166
- *pull_klaytn_image
115167
- *start_test_network
116168
- *check_test_network
117-
- run:
118-
name: "Change to Android version"
119-
command: |
120-
version=$(.circleci/version.sh)
121-
sed -i "s/version '.*'/version '${version}-android'/" build.gradle
122-
sed -i "s/ext.web3jVersion = '.*'/ext.web3jVersion = '$web3j_version-android'/" build.gradle
123-
sed -i "s/java.util.concurrent.CompletableFuture/java8.util.concurrent.CompletableFuture/" core/src/test/java/com/klaytn/caver/legacy/scenario/FastTransactionManagerIT.java
124-
125-
if [ -z "$CIRCLE_TAG" ]; then
126-
echo "this is not RC version"
127-
else
128-
echo "trigger CIRCLE_TAG $CIRCLE_TAG"
129-
sed -i "s/version '.*'/version '${CIRCLE_TAG:1}-android'/" build.gradle
130-
sed -i "s/ext.web3jVersion = '.*'/ext.web3jVersion = '$web3j_version-android'/" build.gradle
131-
sed -i "s/java.util.concurrent.CompletableFuture/java8.util.concurrent.CompletableFuture/" core/src/test/java/com/klaytn/caver/legacy/scenario/FastTransactionManagerIT.java
132-
fi
133-
134-
awk '/version '\''/' build.gradle
135-
awk '/ext.web3jVersion = '\''/' build.gradle
169+
- *check_android_version
136170
- run:
137171
name: Create avd
138172
command: |
@@ -155,13 +189,22 @@ jobs:
155189
adb shell settings put global transition_animation_scale 0.0
156190
adb shell settings put global animator_duration_scale 0.0
157191
- *adb_logging
158-
- *build_test_android
192+
- run:
193+
name: Run instrumented test on android emulator
194+
no_output_timeout: 20m
195+
command: ./gradlew connectedDebugAndroidTest --debug --stacktrace
159196
- store_test_results:
160197
path: android_instrumented_test/build/outputs/androidTest-results/connected
161-
- persist_to_workspace:
162-
root: ~/
163-
paths:
164-
- circleci-caver-java-android/*
198+
- store_artifacts:
199+
path: ~/circleci-caver-java-android/
200+
destination: adb.log
201+
202+
build_test_android:
203+
<<: *android_machine_ubuntu
204+
steps:
205+
- checkout
206+
- *check_android_version
207+
- *build_test_android
165208

166209
tag_verify:
167210
<<: *defaults
@@ -258,12 +301,7 @@ jobs:
258301
major_publish:
259302
<<: *machine_ubuntu
260303
steps:
261-
# - attach_workspace:
262-
# at: ~/
263304
- checkout
264-
- *pull_klaytn_image
265-
- *start_test_network
266-
- *check_test_network
267305
- run:
268306
name: "Check rc version"
269307
command: |
@@ -277,75 +315,71 @@ jobs:
277315
name: "Publish major version"
278316
command: |
279317
version=v$(.circleci/version.sh)
280-
281318
echo "Publishing a major release! version=$version"
282-
./gradlew clean build --debug -x :android_instrumented_test:build
283319
./gradlew clean publish --stacktrace --debug
284320
./gradlew closeAndReleaseRepository --stacktrace --debug
285-
321+
- notify-failure
322+
- notify-success
286323

287324
android_publish:
288325
<<: *android_machine_ubuntu
289326
steps:
290-
- attach_workspace:
291-
at: ~/
292327
- checkout
293-
- *pull_klaytn_image
294-
- *start_test_network
295-
- *check_test_network
328+
- *check_android_version
296329
- run:
297330
name: "Publish android version"
298331
command: |
299-
version=$(.circleci/version.sh)
300-
sed -i "s/version '.*'/version '${version}-android'/" build.gradle
301-
sed -i "s/ext.web3jVersion = '.*'/ext.web3jVersion = '$web3j_version-android'/" build.gradle
302-
sed -i "s/java.util.concurrent.CompletableFuture/java8.util.concurrent.CompletableFuture/" core/src/test/java/com/klaytn/caver/legacy/scenario/FastTransactionManagerIT.java
303-
304-
if [ -z "$CIRCLE_TAG" ]; then
305-
echo "this is not RC version"
306-
else
307-
echo "trigger CIRCLE_TAG $CIRCLE_TAG"
308-
sed -i "s/version '.*'/version '${CIRCLE_TAG:1}-android'/" build.gradle
309-
sed -i "s/ext.web3jVersion = '.*'/ext.web3jVersion = '$web3j_version-android'/" build.gradle
310-
sed -i "s/java.util.concurrent.CompletableFuture/java8.util.concurrent.CompletableFuture/" core/src/test/java/com/klaytn/caver/legacy/scenario/FastTransactionManagerIT.java
311-
fi
312-
313332
version=v$(.circleci/version.sh)
314333
echo "Publishing a major android release! version=$version"
315-
./gradlew clean build --stacktrace --debug
316334
./gradlew clean publish --stacktrace --debug
317335
./gradlew closeAndReleaseRepository --stacktrace --debug
336+
- notify-failure
337+
- notify-success
338+
339+
stage_defaults:
340+
default: &stage_default
341+
filters:
342+
tags:
343+
only:
344+
- /^v[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+.*/
345+
- /^v[0-9]+\.[0-9]+\.[0-9]+.*/
346+
branches:
347+
ignore:
348+
- /release\/.*/
349+
- master
350+
tests: &test_steps
351+
requires:
352+
- tag_verify
353+
- tagger_verify
354+
- unit_test
355+
- unit_test_android
356+
- build_test
357+
- build_test_android
358+
- docs_test
359+
publish: &stage_publish
360+
filters:
361+
tags:
362+
only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/
363+
branches:
364+
ignore: /.*/
318365

319366
workflows:
320367
version: 2
321368
workflow_build_deploy:
322369
jobs:
323-
- build:
324-
filters:
325-
branches:
326-
ignore:
327-
- /release\/.*/
328-
- master
329-
# tags:
330-
# only: /^v[0-9]+\.[0-9]+\.[0-9]+/
331-
# only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/
332-
333-
- android_build:
334-
filters:
335-
branches:
336-
ignore:
337-
- /release\/.*/
338-
- master
339-
# tags:
340-
# only: /^v[0-9]+\.[0-9]+\.[0-9]+/
341-
# only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/
370+
- docs_test:
371+
<<: *stage_default
372+
- unit_test:
373+
<<: *stage_default
374+
- unit_test_android:
375+
<<: *stage_default
376+
- build_test:
377+
<<: *stage_default
378+
- build_test_android:
379+
<<: *stage_default
342380

343381
- tag_verify:
344-
filters:
345-
tags:
346-
only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/
347-
branches:
348-
ignore: /.*/
382+
<<: *stage_publish
349383

350384
- tagger_verify:
351385
filters:
@@ -357,7 +391,6 @@ workflows:
357391
- release_PR:
358392
requires:
359393
- major_publish
360-
- android_publish
361394
filters:
362395
tags:
363396
only: /^v[0-9]+\.[0-9]+\.[0-9]+-rc.*/
@@ -370,25 +403,11 @@ workflows:
370403
only: master
371404

372405
- android_publish:
373-
requires:
374-
- tag_verify
375-
- tagger_verify
376-
# requires:
377-
# - android_build
378-
filters:
379-
tags:
380-
#only: /^v[0-9]+\.[0-9]+\.[0-9]+/
381-
only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/
382-
branches:
383-
ignore: /.*/
406+
<<: *test_steps
407+
<<: *stage_publish
384408

385409
- major_publish:
410+
<<: *test_steps
411+
<<: *stage_publish
386412
requires:
387-
# - build
388-
- android_publish
389-
filters:
390-
tags:
391-
#only: /^v[0-9]+\.[0-9]+\.[0-9]+/
392-
only: /^v[0-9]+\.[0-9]+\.[0-9]+.*/
393-
branches:
394-
ignore: /.*/
413+
- android_publish

.circleci/images/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ services:
3131
--rpccorsdomain "*" \
3232
--datadir "/klaytn" \
3333
--port "32323" \
34-
--rpcapi "db,klay,net,web3,miner,personal,txpool,debug,admin,istanbul" \
34+
--rpcapi "db,klay,net,web3,miner,personal,txpool,debug,admin,istanbul,governance" \
3535
--ws \
3636
--wsaddr "0.0.0.0" \
3737
--wsport "8552" \

.circleci/setup_android_instrumented_test.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ mkdir -p $ANDROID_TEST_CAVER_DIR
1616
# 1. Copy unit test files of core to re-use without re-writing same test-cases just for instrumented test.
1717
cp -r $CORE_TEST_CAVER_DIR/base $ANDROID_TEST_CAVER_DIR/
1818
cp -r $CORE_TEST_CAVER_DIR/common $ANDROID_TEST_CAVER_DIR/
19+
cp -r $CORE_TEST_DIR/resources $ANDROID_TEST_DIR/
1920

2021
# 2. To make instrumented test works, we need to replace some contents.
2122
find $ANDROID_TEST_CAVER_DIR -type f -name '*.java' | xargs sed -i 's/package com.klaytn.caver/package com.klaytn.caver.android_instrumented_test/g'

0 commit comments

Comments
 (0)