@@ -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