Skip to content

Commit ce969d4

Browse files
author
Baptiste Boussemart
committed
review: run all acceptances test on master
1 parent a1e6f35 commit ce969d4

File tree

2 files changed

+100
-8
lines changed

2 files changed

+100
-8
lines changed

.github/workflows/build.yml

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,110 @@ jobs:
4949
working-directory: ${{ env.WORKING_DIR }}
5050
run: |
5151
make test all
52+
docker-build:
53+
name: 'Build Docker image'
54+
runs-on: ubuntu-18.04
55+
steps:
56+
- name: 'Check out project files'
57+
uses: actions/checkout@v2
58+
- name: 'Build docker image'
59+
id: build
60+
run: |
61+
output_dir=${{ runner.temp }}/docker
62+
mkdir -p $output_dir
63+
docker build -t quorumengineering/quorum:pr .
64+
docker save quorumengineering/quorum:pr > quorum-pr.tar
65+
tar cfvz $output_dir/quorum-pr.tar.gz quorum-pr.tar
66+
echo "::set-output name=output_dir::$output_dir"
67+
- name: 'Upload workflow artifact - Docker image'
68+
uses: actions/upload-artifact@v1
69+
with:
70+
name: docker-image
71+
path: ${{ steps.build.outputs.output_dir }}
72+
acceptance-tests:
73+
name: Acceptance tests (${{ matrix.tag }})
74+
needs:
75+
- docker-build
76+
if: success()
77+
strategy:
78+
fail-fast: false
79+
matrix:
80+
# list of tag expression being executed in parallel
81+
# for PR, only selective tests are run.
82+
# More comprehensive suites are scheduled to run in master
83+
tag:
84+
- 'basic || basic-raft || (advanced && raft) || networks/typical::raft'
85+
- 'basic || basic-istanbul || (advanced && istanbul) || networks/typical::istanbul'
86+
- 'gcmode && block-sync && networks/template::raft-3plus1'
87+
- 'gcmode && block-sync && networks/template::istanbul-3plus1'
88+
- 'learner-peer-management || raftdnsenable && networks/template::raft-3plus1'
89+
- 'validator-management && networks/template::istanbul-3plus1'
90+
- 'basic || basic-raft || (advanced && raft) || networks/plugins::raft'
91+
- 'basic || basic-istanbul || (advanced && istanbul) || networks/plugins::istanbul'
92+
- 'basic || basic-raft || (advanced && raft) || networks/plugins::raft-account-plugin-hashicorp-vault'
93+
- 'basic || basic-istanbul || (advanced && istanbul) || networks/plugins::istanbul-account-plugin-hashicorp-vault'
94+
- 'basic-rpc-security || networks/plugins::raft-rpc-security'
95+
- 'basic-rpc-security || networks/plugins::istanbul-rpc-security'
96+
- 'migration && networks/template::raft-4nodes'
97+
- 'migration && networks/template::istanbul-4nodes'
98+
- 'migration && networks/template::raft-4nodes-ancientdb'
99+
- 'migration && networks/template::istanbul-4nodes-ancientdb'
100+
- 'permissions-v1 && networks/template::raft-3plus1'
101+
- 'permissions-v2 && networks/template::raft-3plus1'
102+
- 'privacy-enhancements-upgrade || networks/template::raft-4nodes-pe'
103+
- 'privacy-enhancements-upgrade || networks/template::istanbul-4nodes-pe'
104+
- 'multitenancy && networks/plugins::raft-multitenancy'
105+
- 'basic || basic-raft || (advanced && raft) || networks/typical::raft-simple-mps'
106+
- 'basic || basic-istanbul || (advanced && istanbul) || networks/typical::istanbul-simple-mps'
107+
- 'basic || networks/typical::raftmps'
108+
- 'basic || networks/typical::istanbulmps'
109+
- 'mps-upgrade-txtrace || networks/template::raft-4nodes-mps'
110+
- 'mps-upgrade-txtrace || networks/template::istanbul-4nodes-mps'
111+
- '(basic && !nosupport && !mps && !(spam && !raw) && !eth-api-signed && !privacy-enhancements-disabled && !graphql && !async && !extension && !storage-root && !personal-api-signed) || networks/typical-besu::ibft2'
112+
privacy-enhancements:
113+
- 'false'
114+
include:
115+
- tag: '(basic && !privacy-enhancements-disabled) || privacy-enhancements || basic-raft || (advanced && raft) || networks/typical::raft'
116+
privacy-enhancements: 'true'
117+
- tag: '(basic && !privacy-enhancements-disabled) || privacy-enhancements || basic-istanbul || (advanced && istanbul) || networks/typical::istanbul'
118+
privacy-enhancements: 'true'
119+
runs-on: ubuntu-18.04
120+
steps:
121+
- name: 'Download workflow artifact - Docker image'
122+
uses: actions/download-artifact@v1
123+
with:
124+
name: docker-image
125+
- name: 'Load Docker image'
126+
id: setup
127+
run: |
128+
tar xfvz docker-image/quorum-pr.tar.gz
129+
docker load --input quorum-pr.tar
130+
docker_env_file="${{ runner.temp }}/env.list"
131+
echo "TF_VAR_quorum_docker_image={ name = \"quorumengineering/quorum:pr\", local = true }" >> $docker_env_file
132+
echo "TF_VAR_privacy_enhancements={block=0, enabled=${{ matrix.privacy-enhancements}}}" >> $docker_env_file
133+
echo "::set-output name=outputDir::${{ runner.temp }}"
134+
echo "::set-output name=dockerEnvFile::$docker_env_file"
135+
- name: 'Run acceptance tests'
136+
run: |
137+
cat ${{ steps.setup.outputs.dockerEnvFile }}
138+
docker run --rm \
139+
--network host \
140+
-v /var/run/docker.sock:/var/run/docker.sock \
141+
-v ${{ steps.setup.outputs.outputDir }}:${{ steps.setup.outputs.outputDir }} \
142+
--env-file ${{ steps.setup.outputs.dockerEnvFile }} \
143+
quorumengineering/acctests:latest test \
144+
-Pauto \
145+
-Dauto.outputDir=${{ steps.setup.outputs.outputDir }} \
146+
-Dtags="${{ matrix.tag }}"
147+
- name: 'Debug'
148+
run: |
149+
docker images
150+
docker ps -a
52151
publish-docker:
53152
name: Publish Docker Image
54153
needs:
55154
- build
155+
- acceptance-tests
56156
runs-on: ubuntu-18.04
57157
steps:
58158
- name: 'Checkout'

.github/workflows/pr.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
name: Pull Request Check
22
on:
3-
push:
4-
paths-ignore:
5-
- 'docs/**'
6-
- '**.md'
7-
- 'mkdocs.yml'
8-
- '.gitignore'
9-
branches:
10-
- master
113
pull_request:
124
paths-ignore:
135
- 'docs/**'

0 commit comments

Comments
 (0)