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: "2022-12-08-where-is-the-mako"
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/$UPSTREAM_REPO/windows/x64_build:$WINDOWS_TAG"
20 - project: 'freedesktop/ci-templates'
21 ref: ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
22 file: '/templates/debian.yml'
31 # When & how to run the CI
36 - runner_system_failure
37 # Cancel CI run if a newer commit is pushed to the same branch
46 - .fdo.container-build@debian
48 GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
49 FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/debian-install.sh'
54 - .fdo.distribution-image@debian
62 GIT_STRATEGY: fetch # we do actually need the full repository though
69 - .\.gitlab-ci\windows\container.ps1 $CI_REGISTRY $CI_REGISTRY_USER $CI_REGISTRY_PASSWORD $WINDOWS_IMAGE $WINDOWS_UPSTREAM_IMAGE
87 - codespell -f -S ".mypy_cache" -L "lod,LOD,inout,nd,ND,valu,VALU,tese,ba,te,nin"
88 - export CHECKPATH=framework/replay # restrict Python checks only on framework/replay for now
89 - isort --check-only $CHECKPATH
90 - flake8 --max-line-length=120 --show-source $CHECKPATH
91 - mypy --ignore-missing-imports --disallow-incomplete-defs $CHECKPATH
92 - pylint --fail-under=8.5 $CHECKPATH
97 # Use ccache transparently, and print stats before/after
100 CC: /usr/lib/ccache/gcc
101 CXX: /usr/lib/ccache/g++
102 CCACHE_COMPILERCHECK: content
103 CCACHE_DIR: /cache/piglit/ccache
105 - export CCACHE_BASEDIR="$PWD"
106 - ccache --show-stats
108 - ccache --show-stats
116 - .gitlab-ci/build-debian.sh
130 - TARGET: [mingw32, mingw64]
132 - .gitlab-ci/build-mingw.sh ${TARGET}
135 - build/*/piglit-*.7z
142 - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 &&
143 cmake . -D CMAKE_BUILD_TYPE=Debug
144 -D PIGLIT_BUILD_CL_TESTS=off
145 -D GLUT_INCLUDE_DIR=C:\freeglut\include
146 -D GLUT_glut_LIBRARY_RELEASE=C:\freeglut\lib\x64\freeglut.lib
147 -D GLEXT_INCLUDE_DIR=C:\glext\
148 -D PIGLIT_BUILD_DMA_BUF_TESTS=off
149 -D PIGLIT_BUILD_GLES1_TESTS=off
150 -D PIGLIT_BUILD_GLES2_TESTS=off
151 -D PIGLIT_BUILD_GLX_TESTS=off
152 -D PIGLIT_BUILD_GL_TESTS=on
153 -D PIGLIT_BUILD_WGL_TESTS=on
162 - pytest-3 unittests/framework
165 image: python:${PY_MAJVER}.${PY_MINVER}
170 - pip install tox==3.27.1 # 4.0 is broken for now
172 - tox -e "py${PY_MAJVER}${PY_MINVER}-{generator,noaccel,accel-nix,streams,functional}"
176 PY_MINVER: [7, 8, 9, 10]
183 - apk --no-cache add py3-pip python3
185 - pip install Flask-Sphinx-Themes
188 - mv _build/html/ ../public/