From 748dbc9f9660b2943e8cfce65ec17132e322c5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= Date: Wed, 6 Mar 2024 08:18:36 +0100 Subject: [PATCH] *: Run TestCompareReservedWordsWithMySQL in CI (#48859) ref pingcap/tidb#48856 --- build/image/README.md | 5 ++++- build/image/parser_test | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 build/image/parser_test diff --git a/build/image/README.md b/build/image/README.md index b109968354940..60eb82cbbdb80 100644 --- a/build/image/README.md +++ b/build/image/README.md @@ -1,7 +1,10 @@ ## CI Image -Here is the Dockerfile for the CI image. +Here are the Dockerfiles for the CI images. - ```base``` is the base image with golang, development tools and so on. - ```centos7_jenkins``` is the production image with CI environment tool in tidb repo. it is based on ```base```. - ```.ci_bazel``` is the global default bazel config. it tell bazel where to get cache. +- ```parser_test``` is the image for running parser tests that require MySQL 8.x. + +Note that `parser_test` requires `CAP_SYS_NICE` to run. Either use `docker --cap-add=sys_nice` or add `SYS_NICE` to the capabilities under the `securityContext` when using Kubernetes. diff --git a/build/image/parser_test b/build/image/parser_test new file mode 100644 index 0000000000000..4fcb559ab865f --- /dev/null +++ b/build/image/parser_test @@ -0,0 +1,30 @@ +# Copyright 2024 PingCAP, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM rockylinux:9 + +ENV GOLANG_VERSION 1.21.6 +ENV ARCH amd64 +ENV GOLANG_DOWNLOAD_URL https://dl.google.com/go/go$GOLANG_VERSION.linux-$ARCH.tar.gz +ENV GOPATH /home/prow/go +ENV GOROOT /usr/local/go +ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH + +ADD run.sh /bin +RUN chmod 700 /bin/run.sh +RUN dnf update -y +RUN dnf install -y git mysql-server +RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \ + && tar -C /usr/local -xzf golang.tar.gz \ + && rm golang.tar.gz