Skip to content

Commit

Permalink
Add jepsen image for jepsen tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fauust authored and vladbogo committed Jun 21, 2024
1 parent 8dcc80a commit fb5d365
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 7 deletions.
19 changes: 12 additions & 7 deletions .github/workflows/bbw_build_container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ jobs:
include:
- dockerfile: centos.Dockerfile
image: almalinux:8
platforms: linux/amd64
platforms: linux/amd64, linux/arm64/v8
- dockerfile: centos.Dockerfile pip.Dockerfile
image: almalinux:9
platforms: linux/amd64
platforms: linux/amd64, linux/arm64/v8
- dockerfile: debian.Dockerfile
image: debian:11
branch: 10.11
Expand Down Expand Up @@ -98,10 +98,6 @@ jobs:
- dockerfile: centos7.Dockerfile pip.Dockerfile
image: centos:7
platforms: linux/amd64
- dockerfile: centos.Dockerfile
image: quay.io/centos/centos:stream8
tag: centosstream8
platforms: linux/amd64, linux/arm64/v8, linux/ppc64le
- dockerfile: centos.Dockerfile pip.Dockerfile
image: quay.io/centos/centos:stream9
tag: centosstream9
Expand All @@ -110,7 +106,7 @@ jobs:
# s390x)
# platforms: linux/amd64, linux/arm64/v8, linux/ppc64le, linux/s390x
- dockerfile: opensuse.Dockerfile pip.Dockerfile
image: opensuse/leap:15.3
image: opensuse/leap:15.5
tag: opensuse15
platforms: linux/amd64
- dockerfile: sles.Dockerfile pip.Dockerfile
Expand All @@ -123,6 +119,11 @@ jobs:
- dockerfile: centos.Dockerfile pip.Dockerfile
image: rockylinux:9
platforms: linux/amd64, linux/arm64/v8
- dockerfile: debian.Dockerfile jepsen-mysql.Dockerfile
image: ubuntu:22.04
branch: 10.11
platforms: linux/amd64
tag: ubuntu22.04-jepsen-mysql
env:
BUILD_RHEL: false
DEPLOY_IMAGES: false
Expand All @@ -149,6 +150,10 @@ jobs:
cd ${{ env.WORKDIR }}
cat ${{ matrix.dockerfile }} qpress.Dockerfile buildbot-worker.Dockerfile >$GITHUB_WORKSPACE/Dockerfile
cp -r qpress $GITHUB_WORKSPACE
- name: opensuse extra
if: matrix.tag == 'opensuse15'
run: |
cp ${{ env.WORKDIR }}/mariadb_zypper_expect $GITHUB_WORKSPACE
- name: No wsrep on 32 bit platforms
if: >
(contains(matrix.platforms, 'linux/386'))
Expand Down
52 changes: 52 additions & 0 deletions ci_build_images/jepsen-mysql.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
USER root

# Install additional packages
RUN apt-get update && apt-get -y install --no-install-recommends \
apt-transport-https \
automake \
bison \
dpkg-dev \
dirmngr \
faketime \
gnuplot \
graphviz \
libaio-dev \
libncurses-dev \
libpcre2-dev \
libtool \
libzip4 \
logrotate \
make \
man-db \
netcat-openbsd \
ntpdate \
openjdk-21-jdk \
openjdk-21-jre \
openssh-client \
openssh-server \
pkg-config \
rsyslog \
tcpdump \
unzip \
curl \
&& apt-get clean

RUN if [ ! -d /home/buildbot ]; then mkdir /home/buildbot; fi \
&& chown -R buildbot:buildbot /home/buildbot

USER buildbot

WORKDIR /home/buildbot

# Clone the jepsen-mysql repository, download leiningen, and set permissions
RUN git clone https://github.com/vlad-lesin/jepsen-mysql jepsen-mariadb \
&& curl -o /home/buildbot/lein https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein \
&& chmod a+x /home/buildbot/lein

WORKDIR /home/buildbot/jepsen-mariadb

# Create necessary directories and run leiningen to download dependencies
RUN mkdir -p /home/buildbot/mariadb-bin/tmp \
&& /home/buildbot/lein run test --help

WORKDIR /home/buildbot
1 change: 1 addition & 0 deletions ci_build_images/qpress.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

# qpress.Dockerfile
# those steps are common to all images
USER root

# install qpress (MDEV-29043)
COPY qpress/* /tmp/qpress/
Expand Down

0 comments on commit fb5d365

Please sign in to comment.