1 # This is the tag of the docker image used for the build jobs. If the
2 # image doesn't exist yet, the containers stage generates it.
4 # In order to generate a new image, one should generally change the tag.
5 # While removing the image from the registry would also work, that's not
6 # recommended except for ephemeral images during development: Replacing
7 # an image after a significant amount of time might pull in newer
8 # versions of gcc/clang or other packages, which might break the build
9 # with older commits using the same tag.
11 FDO_UPSTREAM_REPO: mesa/piglit
12 FDO_DISTRIBUTION_TAG: "2024-04-16-wayland-protocols"
13 FDO_DISTRIBUTION_VERSION: bullseye-slim
14 WINDOWS_TAG: "2022-07-27-win2022"
15 WINDOWS_IMAGE: "$CI_REGISTRY_IMAGE/windows/x64_build:$WINDOWS_TAG"
16 WINDOWS_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/windows/x64_build:$WINDOWS_TAG"
21 - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
22 - if: $CI_PIPELINE_SOURCE == 'push'
25 - project: 'freedesktop/ci-templates'
26 ref: ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
27 file: '/templates/debian.yml'
36 # When & how to run the CI
41 - runner_system_failure
42 # Cancel CI run if a newer commit is pushed to the same branch
51 - .fdo.container-build@debian
53 GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
54 FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/debian-install.sh'
59 - .fdo.distribution-image@debian
67 GIT_STRATEGY: fetch # we do actually need the full repository though
74 - .\.gitlab-ci\windows\container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $WINDOWS_IMAGE $WINDOWS_UPSTREAM_IMAGE
92 - codespell -f -S ".mypy_cache,drm_fourcc.h" -L "lod,inout,nd,valu,tese,ba,te,nin,marge,stach"
93 - export CHECKPATH=framework/replay # restrict Python checks only on framework/replay for now
94 - isort --check-only $CHECKPATH
95 - flake8 --max-line-length=120 --show-source $CHECKPATH
96 - mypy --ignore-missing-imports --disallow-incomplete-defs $CHECKPATH
97 - pylint --fail-under=8.5 $CHECKPATH
102 # Use ccache transparently, and print stats before/after
105 CC: /usr/lib/ccache/gcc
106 CXX: /usr/lib/ccache/g++
107 CCACHE_COMPILERCHECK: content
108 CCACHE_DIR: /cache/piglit/ccache
110 - export CCACHE_BASEDIR="$PWD"
111 - ccache --show-stats
113 - ccache --show-stats
121 - .gitlab-ci/build-debian.sh
135 - TARGET: [mingw32, mingw64]
137 - .gitlab-ci/build-mingw.sh ${TARGET}
140 - build/*/piglit-*.7z
147 - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 &&
148 cmake . -D CMAKE_BUILD_TYPE=Debug
149 -D PIGLIT_BUILD_CL_TESTS=off
150 -D GLUT_INCLUDE_DIR=C:\freeglut\include
151 -D GLUT_glut_LIBRARY_RELEASE=C:\freeglut\lib\x64\freeglut.lib
152 -D GLEXT_INCLUDE_DIR=C:\glext\
153 -D PIGLIT_BUILD_DMA_BUF_TESTS=off
154 -D PIGLIT_BUILD_GLES1_TESTS=off
155 -D PIGLIT_BUILD_GLES2_TESTS=off
156 -D PIGLIT_BUILD_GLX_TESTS=off
157 -D PIGLIT_BUILD_GL_TESTS=on
158 -D PIGLIT_BUILD_WGL_TESTS=on
167 - pytest-3 unittests/framework
170 image: python:${PY_MAJVER}.${PY_MINVER}
175 - pip install tox==4.4.6
177 - tox run -e "py${PY_MAJVER}${PY_MINVER}-generator, py${PY_MAJVER}${PY_MINVER}-noaccel, py${PY_MAJVER}${PY_MINVER}-accel-nix, py${PY_MAJVER}${PY_MINVER}-streams, py${PY_MAJVER}${PY_MINVER}-functional"
178 - test "$PY_MINVER" = "8" || tox run -e "py${PY_MAJVER}${PY_MINVER}-numpy2" # no numpy2 on Python 3.8
182 PY_MINVER: [8, 9, 10, 11, 12]
189 - apk --no-cache add py3-pip python3
191 - pip install Flask-Sphinx-Themes
194 - mv _build/html/ ../public/