Skip to content

Commit 796ecb8

Browse files
committed
New Tests
1 parent d98d838 commit 796ecb8

File tree

1 file changed

+148
-0
lines changed

1 file changed

+148
-0
lines changed

.github/workflows/test.yml

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,151 @@ jobs:
7070
with:
7171
name: changed_images
7272
path: ${{ runner.temp }}/changed_images.json
73+
StyleCheck:
74+
needs: DockerHubPush
75+
runs-on: [self-hosted, style-checker]
76+
if: ${{ success() || failure() }}
77+
steps:
78+
- name: Set envs
79+
run: |
80+
cat >> "$GITHUB_ENV" << 'EOF'
81+
TEMP_PATH=${{ runner.temp }}/style_check
82+
EOF
83+
- name: Download changed images
84+
# even if artifact does not exist, e.g. on `do not test` label or failed Docker job
85+
continue-on-error: true
86+
uses: actions/download-artifact@v2
87+
with:
88+
name: changed_images
89+
path: ${{ env.TEMP_PATH }}
90+
- name: Clear repository
91+
run: |
92+
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
93+
- name: Check out repository code
94+
uses: actions/checkout@v2
95+
- name: Style Check
96+
run: |
97+
cd "$GITHUB_WORKSPACE/tests/ci"
98+
python3 style_check.py
99+
- name: Cleanup
100+
if: always()
101+
run: |
102+
# shellcheck disable=SC2046
103+
docker kill $(docker ps -q) ||:
104+
# shellcheck disable=SC2046
105+
docker rm -f $(docker ps -a -q) ||:
106+
sudo rm -fr "$TEMP_PATH"
107+
CompatibilityCheck:
108+
needs: [BuilderDebRelease]
109+
runs-on: [self-hosted, style-checker]
110+
steps:
111+
- name: Set envs
112+
run: |
113+
cat >> "$GITHUB_ENV" << 'EOF'
114+
TEMP_PATH=${{runner.temp}}/compatibility_check
115+
REPO_COPY=${{runner.temp}}/compatibility_check/ClickHouse
116+
REPORTS_PATH=${{runner.temp}}/reports_dir
117+
EOF
118+
- name: Clear repository
119+
run: |
120+
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
121+
- name: Check out repository code
122+
uses: actions/checkout@v2
123+
- name: Download json reports
124+
uses: actions/download-artifact@v2
125+
with:
126+
path: ${{ env.REPORTS_PATH }}
127+
- name: CompatibilityCheck
128+
run: |
129+
sudo rm -fr "$TEMP_PATH"
130+
mkdir -p "$TEMP_PATH"
131+
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
132+
cd "$REPO_COPY/tests/ci" && python3 compatibility_check.py
133+
- name: Cleanup
134+
if: always()
135+
run: |
136+
# shellcheck disable=SC2046
137+
docker kill $(docker ps -q) ||:
138+
# shellcheck disable=SC2046
139+
docker rm -f $(docker ps -a -q) ||:
140+
sudo rm -fr "$TEMP_PATH"
141+
BuilderDebSplitted:
142+
needs: [DockerHubPush]
143+
runs-on: [self-hosted, builder]
144+
steps:
145+
- name: Set envs
146+
run: |
147+
cat >> "$GITHUB_ENV" << 'EOF'
148+
TEMP_PATH=${{runner.temp}}/build_check
149+
IMAGES_PATH=${{runner.temp}}/images_path
150+
REPO_COPY=${{runner.temp}}/build_check/ClickHouse
151+
CACHES_PATH=${{runner.temp}}/../ccaches
152+
CHECK_NAME=ClickHouse build check (actions)
153+
BUILD_NAME=binary_splitted
154+
EOF
155+
- name: Download changed images
156+
uses: actions/download-artifact@v2
157+
with:
158+
name: changed_images
159+
path: ${{ env.IMAGES_PATH }}
160+
- name: Clear repository
161+
run: |
162+
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
163+
- name: Check out repository code
164+
uses: actions/checkout@v2
165+
- name: Build
166+
run: |
167+
git -C "$GITHUB_WORKSPACE" submodule sync --recursive
168+
git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10
169+
sudo rm -fr "$TEMP_PATH"
170+
mkdir -p "$TEMP_PATH"
171+
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
172+
cd "$REPO_COPY/tests/ci" && python3 build_check.py "$CHECK_NAME" "$BUILD_NAME"
173+
- name: Upload build URLs to artifacts
174+
if: ${{ success() || failure() }}
175+
uses: actions/upload-artifact@v2
176+
with:
177+
name: ${{ env.BUILD_URLS }}
178+
path: ${{ env.TEMP_PATH }}/${{ env.BUILD_URLS }}.json
179+
- name: Cleanup
180+
if: always()
181+
run: |
182+
# shellcheck disable=SC2046
183+
docker kill $(docker ps -q) ||:
184+
# shellcheck disable=SC2046
185+
docker rm -f $(docker ps -a -q) ||:
186+
sudo rm -fr "$TEMP_PATH" "$CACHES_PATH"
187+
SplitBuildSmokeTest:
188+
needs: [BuilderDebSplitted]
189+
runs-on: [self-hosted, style-checker]
190+
steps:
191+
- name: Set envs
192+
run: |
193+
cat >> "$GITHUB_ENV" << 'EOF'
194+
TEMP_PATH=${{runner.temp}}/split_build_check
195+
REPO_COPY=${{runner.temp}}/split_build_check/ClickHouse
196+
REPORTS_PATH=${{runner.temp}}/reports_dir
197+
EOF
198+
- name: Clear repository
199+
run: |
200+
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
201+
- name: Check out repository code
202+
uses: actions/checkout@v2
203+
- name: Download json reports
204+
uses: actions/download-artifact@v2
205+
with:
206+
path: ${{ env.REPORTS_PATH }}
207+
- name: Split build check
208+
run: |
209+
sudo rm -fr "$TEMP_PATH"
210+
mkdir -p "$TEMP_PATH"
211+
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
212+
cd "$REPO_COPY/tests/ci" && python3 split_build_smoke_check.py
213+
- name: Cleanup
214+
if: always()
215+
run: |
216+
# shellcheck disable=SC2046
217+
docker kill $(docker ps -q) ||:
218+
# shellcheck disable=SC2046
219+
docker rm -f $(docker ps -a -q) ||:
220+
sudo rm -fr "$TEMP_PATH"

0 commit comments

Comments
 (0)