framework/replay: re-try more aggressively, even over the 50x HTTP errors
[piglit.git] / .gitlab-ci / debian-install.sh
blob957df2bc9579f125e02b9c1e5e5d8ab784178372
1 #!/bin/bash
2 set -eux
4 export DEBIAN_FRONTEND=noninteractive
6 apt-get update
7 apt-get install -y \
8 ca-certificates
10 sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
12 apt-get update
14 # Ephemeral packages (installed for this script and removed again at the end)
15 EPHEMERAL="
16 bzip2
17 curl
18 libpciaccess-dev
19 meson
20 unzip
23 apt-get install -y \
24 bison \
25 ccache \
26 cmake \
27 codespell \
28 flake8 \
29 flex \
30 freeglut3-dev \
31 g++-multilib \
32 gcc-multilib \
33 gettext \
34 git \
35 glslang-tools \
36 isort \
37 jq \
38 libdrm-dev \
39 libegl1-mesa-dev \
40 libgbm-dev \
41 libglvnd-dev \
42 libvulkan-dev \
43 libwaffle-dev \
44 libwayland-dev \
45 libxcb-dri2-0-dev \
46 libxkbcommon-dev \
47 libxrender-dev \
48 mingw-w64 \
49 mypy \
50 ninja-build \
51 ocl-icd-opencl-dev \
52 pkg-config \
53 python3 \
54 python3-dev \
55 python3-jsonschema \
56 python3-mako \
57 python3-mock \
58 python3-numpy \
59 python3-packaging \
60 python3-pil \
61 python3-pip \
62 python3-psutil \
63 python3-pytest \
64 python3-pytest-mock \
65 python3-pytest-timeout \
66 python3-requests \
67 python3-requests-mock \
68 python3-setuptools \
69 python3-wheel \
70 python3-yaml \
71 pylint \
72 tox \
73 waffle-utils \
74 $EPHEMERAL
76 pip3 install pytest-pythonpath
77 pip3 install pytest-raises
79 # Download Waffle artifacts. See also
80 # https://gitlab.freedesktop.org/mesa/waffle/-/merge_requests/89
81 # https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#downloading-the-latest-artifacts
82 for target in mingw32 mingw64
84 mkdir -p /opt/waffle/$target
85 curl -s -L "https://gitlab.freedesktop.org/mesa/waffle/-/jobs/artifacts/${WAFFLE_BRANCH:-maint-1.7}/raw/publish/$target/waffle-$target.zip?job=cmake-mingw" -o /tmp/waffle-$target.zip
86 unzip -qo /tmp/waffle-$target.zip -d /opt/waffle/$target
87 test -d /opt/waffle/$target/waffle
88 rm /tmp/waffle-$target.zip
89 done
92 apt-get purge -y $EPHEMERAL
93 apt-get autoremove -y --purge