Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade other Ubuntu jobs to Jammy #148

Merged
merged 1 commit into from May 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/build.yml
Expand Up @@ -14,9 +14,9 @@ jobs:
- "latest"
image:
# Run slower jobs first to give them a headstart and reduce waiting time
- "ubuntu-20.04-focal-arm64v8"
- "ubuntu-20.04-focal-ppc64le"
- "ubuntu-20.04-focal-s390x"
- "ubuntu-22.04-jammy-arm64v8"
- "ubuntu-22.04-jammy-ppc64le"
- "ubuntu-22.04-jammy-s390x"
# Then run the remainder
- "alpine"
- "amazon-2-amd64"
Expand All @@ -32,13 +32,13 @@ jobs:
- "ubuntu-18.04-bionic-amd64"
- "ubuntu-20.04-focal-amd64"
- "ubuntu-22.04-jammy-amd64"
- "ubuntu-20.04-focal-amd64-valgrind"
- "ubuntu-22.04-jammy-amd64-valgrind"
include:
- image: "ubuntu-20.04-focal-arm64v8"
- image: "ubuntu-22.04-jammy-arm64v8"
qemu-arch: "aarch64"
- image: "ubuntu-20.04-focal-ppc64le"
- image: "ubuntu-22.04-jammy-ppc64le"
qemu-arch: "ppc64le"
- image: "ubuntu-20.04-focal-s390x"
- image: "ubuntu-22.04-jammy-s390x"
qemu-arch: "s390x"

steps:
Expand Down
8 changes: 4 additions & 4 deletions Makefile
Expand Up @@ -13,10 +13,10 @@ TARGETS = \
ubuntu-18.04-bionic-amd64 \
ubuntu-20.04-focal-amd64 \
ubuntu-22.04-jammy-amd64 \
ubuntu-20.04-focal-amd64-valgrind \
ubuntu-20.04-focal-arm64v8 \
ubuntu-20.04-focal-ppc64le \
ubuntu-20.04-focal-s390x
ubuntu-22.04-jammy-amd64-valgrind \
ubuntu-22.04-jammy-arm64v8 \
ubuntu-22.04-jammy-ppc64le \
ubuntu-22.04-jammy-s390x

BUILDDIRS = $(TARGETS:%=build-%)
PUSHDIRS = $(TARGETS:%=push-%)
Expand Down
56 changes: 56 additions & 0 deletions ubuntu-22.04-jammy-amd64-valgrind/Dockerfile
@@ -0,0 +1,56 @@
FROM ubuntu:jammy

RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get -y install \
cargo \
cmake \
ghostscript \
git \
libffi-dev \
libfreetype6-dev \
libfribidi-dev \
libharfbuzz-dev \
libjpeg-turbo-progs \
libjpeg8-dev \
liblcms2-dev \
libopenjp2-7-dev \
libssl-dev \
libtiff5-dev \
libwebp-dev \
meson \
netpbm \
python3.10-dbg \
python3-dev \
python3-numpy \
python3-setuptools \
python3-tk \
sudo \
tcl8.6-dev \
tk8.6-dev \
virtualenv \
wget \
xvfb \
zlib1g-dev \
valgrind \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

RUN useradd pillow \
&& addgroup pillow sudo \
&& mkdir /home/pillow \
&& chown pillow:pillow /home/pillow

RUN virtualenv -p /usr/bin/python3.10-dbg --system-site-packages /vpy3 \
&& /vpy3/bin/pip install --no-cache-dir --upgrade pip \
&& /vpy3/bin/pip install --no-cache-dir cffi olefile pytest pytest-cov pytest-timeout pytest-valgrind \
&& chown -R pillow:pillow /vpy3

ADD depends /depends
RUN cd /depends \
&& ./install_imagequant.sh \
&& ./install_raqm.sh

COPY python.supp /depends

USER pillow
CMD ["depends/test.sh"]

#docker run -v $TRAVIS_BUILD_DIR:/Pillow pythonpillow/ubuntu-22.04-jammy-amd64
1 change: 1 addition & 0 deletions ubuntu-22.04-jammy-amd64-valgrind/Makefile
6 changes: 6 additions & 0 deletions ubuntu-22.04-jammy-amd64-valgrind/python.supp
@@ -0,0 +1,6 @@
{
<py3_8_encode_current_locale>
Memcheck:Cond
...
fun:encode_current_locale
}
16 changes: 16 additions & 0 deletions ubuntu-22.04-jammy-amd64-valgrind/test.sh
@@ -0,0 +1,16 @@
#!/bin/bash
source /vpy3/bin/activate
cd /Pillow
make clean
make install-coverage

PYTHONMALLOC=malloc valgrind --suppressions=/depends/python.supp --leak-check=no \
--log-file=/tmp/valgrind-output \
python3 -m pytest --no-memcheck -vv --valgrind --valgrind-log=/tmp/valgrind-output

# To run one test in the image:
# make bash
# PYTHONMALLOC=malloc valgrind --leak-check=no --suppressions=/depends/python.supp pytest -vv --valgrind --no-memcheck Tests/test_file_eps.py

# to run one test with GDB support:
# PYTHONMALLOC=malloc valgrind --vgdb-error=0 --suppressions=../../test/python.supp pytest Tests/test_file_libtiff.py::TestFileLibTiff::test_custom_metadata
2 changes: 2 additions & 0 deletions ubuntu-22.04-jammy-amd64-valgrind/update.sh
@@ -0,0 +1,2 @@
#!/bin/sh
docker pull ubuntu:focal
52 changes: 52 additions & 0 deletions ubuntu-22.04-jammy-arm64v8/Dockerfile
@@ -0,0 +1,52 @@
FROM arm64v8/ubuntu:jammy

RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get -y install \
cargo \
cmake \
ghostscript \
git \
libffi-dev \
libfreetype6-dev \
libfribidi-dev \
libharfbuzz-dev \
libjpeg-turbo-progs \
libjpeg8-dev \
liblcms2-dev \
libopenjp2-7-dev \
libssl-dev \
libtiff5-dev \
libwebp-dev \
meson \
netpbm \
python3-dev \
python3-numpy \
python3-setuptools \
python3-tk \
sudo \
tcl8.6-dev \
tk8.6-dev \
virtualenv \
wget \
xvfb \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*

RUN useradd pillow \
&& addgroup pillow sudo \
&& mkdir /home/pillow \
&& chown pillow:pillow /home/pillow

RUN virtualenv -p /usr/bin/python3.10 --system-site-packages /vpy3 \
&& /vpy3/bin/pip install --no-cache-dir --upgrade pip \
&& /vpy3/bin/pip install --no-cache-dir cffi olefile pytest pytest-cov pytest-timeout \
&& chown -R pillow:pillow /vpy3

ADD depends /depends
RUN cd /depends \
&& ./install_imagequant.sh \
&& ./install_raqm.sh

USER pillow
CMD ["depends/test.sh"]

#docker run -v $GITHUB_WORKSPACE:/Pillow pythonpillow/ubuntu-22.04-jammy-arm64v8
1 change: 1 addition & 0 deletions ubuntu-22.04-jammy-arm64v8/Makefile
6 changes: 6 additions & 0 deletions ubuntu-22.04-jammy-arm64v8/test.sh
@@ -0,0 +1,6 @@
#!/bin/bash
source /vpy3/bin/activate
cd /Pillow
make clean
make install-coverage
/usr/bin/xvfb-run -a pytest -vx --cov PIL --cov-report term Tests
2 changes: 2 additions & 0 deletions ubuntu-22.04-jammy-arm64v8/update.sh
@@ -0,0 +1,2 @@
#!/bin/sh
docker pull arm64v8/ubuntu:focal
52 changes: 52 additions & 0 deletions ubuntu-22.04-jammy-ppc64le/Dockerfile
@@ -0,0 +1,52 @@
FROM ppc64le/ubuntu:jammy

RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get -y install \
cargo \
cmake \
ghostscript \
git \
libffi-dev \
libfreetype6-dev \
libfribidi-dev \
libharfbuzz-dev \
libjpeg-turbo-progs \
libjpeg8-dev \
liblcms2-dev \
libopenjp2-7-dev \
libssl-dev \
libtiff5-dev \
libwebp-dev \
meson \
netpbm \
python3-dev \
python3-numpy \
python3-setuptools \
python3-tk \
sudo \
tcl8.6-dev \
tk8.6-dev \
virtualenv \
wget \
xvfb \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*

RUN useradd pillow \
&& addgroup pillow sudo \
&& mkdir /home/pillow \
&& chown pillow:pillow /home/pillow

RUN virtualenv -p /usr/bin/python3.10 --system-site-packages /vpy3 \
&& /vpy3/bin/pip install --no-cache-dir --upgrade pip \
&& /vpy3/bin/pip install --no-cache-dir cffi olefile pytest pytest-cov pytest-timeout \
&& chown -R pillow:pillow /vpy3

ADD depends /depends
RUN cd /depends \
&& ./install_imagequant.sh \
&& ./install_raqm.sh

USER pillow
CMD ["depends/test.sh"]

#docker run -v $GITHUB_WORKSPACE:/Pillow pythonpillow/ubuntu-22.04-jammy-ppc64le
1 change: 1 addition & 0 deletions ubuntu-22.04-jammy-ppc64le/Makefile
6 changes: 6 additions & 0 deletions ubuntu-22.04-jammy-ppc64le/test.sh
@@ -0,0 +1,6 @@
#!/bin/bash
source /vpy3/bin/activate
cd /Pillow
make clean
make install-coverage
/usr/bin/xvfb-run -a pytest -vx --cov PIL --cov-report term Tests
2 changes: 2 additions & 0 deletions ubuntu-22.04-jammy-ppc64le/update.sh
@@ -0,0 +1,2 @@
#!/bin/sh
docker pull ppc64le/ubuntu:focal
51 changes: 51 additions & 0 deletions ubuntu-22.04-jammy-s390x/Dockerfile
@@ -0,0 +1,51 @@
FROM s390x/ubuntu:jammy

RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get -y install \
cmake \
ghostscript \
git \
libffi-dev \
libfreetype6-dev \
libfribidi-dev \
libharfbuzz-dev \
libimagequant-dev \
libjpeg-turbo-progs \
libjpeg8-dev \
liblcms2-dev \
libopenjp2-7-dev \
libtiff5-dev \
meson \
netpbm \
python3-dev \
python3-numpy \
python3-setuptools \
python3-tk \
sudo \
tcl8.6-dev \
tk8.6-dev \
virtualenv \
wget \
xvfb \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*

RUN useradd pillow \
&& addgroup pillow sudo \
&& mkdir /home/pillow \
&& chown pillow:pillow /home/pillow

RUN virtualenv -p /usr/bin/python3.10 --system-site-packages /vpy3 \
&& /vpy3/bin/pip install --no-cache-dir --upgrade pip \
&& /vpy3/bin/pip install --no-cache-dir cffi olefile pytest pytest-cov pytest-timeout \
&& chown -R pillow:pillow /vpy3

ADD depends /depends
RUN cd /depends \
&& ./install_imagequant.sh \
&& ./install_raqm.sh \
&& ./install_webp.sh

USER pillow
CMD ["depends/test.sh"]

#docker run -v $GITHUB_WORKSPACE:/Pillow pythonpillow/ubuntu-22.04-jammy-s390x
1 change: 1 addition & 0 deletions ubuntu-22.04-jammy-s390x/Makefile
6 changes: 6 additions & 0 deletions ubuntu-22.04-jammy-s390x/test.sh
@@ -0,0 +1,6 @@
#!/bin/bash
source /vpy3/bin/activate
cd /Pillow
make clean
make install-coverage
/usr/bin/xvfb-run -a pytest -vx --cov PIL --cov-report term Tests
2 changes: 2 additions & 0 deletions ubuntu-22.04-jammy-s390x/update.sh
@@ -0,0 +1,2 @@
#!/bin/sh
docker pull s390x/ubuntu:focal