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-08-09-add-linting"
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: 34f4ade99434043f88e164933f570301fd18b125
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 - flake8 --max-line-length=120 --show-source $CHECKPATH
90 - mypy --ignore-missing-imports --disallow-incomplete-defs $CHECKPATH
91 - pylint --fail-under=8.5 $CHECKPATH
96 # Use ccache transparently, and print stats before/after
99 CC: /usr/lib/ccache/gcc
100 CXX: /usr/lib/ccache/g++
101 CCACHE_COMPILERCHECK: content
102 CCACHE_DIR: /cache/piglit/ccache
104 - export CCACHE_BASEDIR="$PWD"
105 - ccache --show-stats
107 - ccache --show-stats
115 - .gitlab-ci/build-debian.sh
129 - TARGET: [mingw32, mingw64]
131 - .gitlab-ci/build-mingw.sh ${TARGET}
134 - build/*/piglit-*.7z
141 - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 &&
142 cmake . -D CMAKE_BUILD_TYPE=Debug
143 -D PIGLIT_BUILD_CL_TESTS=off
144 -D GLUT_INCLUDE_DIR=C:\freeglut\include
145 -D GLUT_glut_LIBRARY_RELEASE=C:\freeglut\lib\x64\freeglut.lib
146 -D GLEXT_INCLUDE_DIR=C:\glext\
147 -D PIGLIT_BUILD_DMA_BUF_TESTS=off
148 -D PIGLIT_BUILD_GLES1_TESTS=off
149 -D PIGLIT_BUILD_GLES2_TESTS=off
150 -D PIGLIT_BUILD_GLX_TESTS=off
151 -D PIGLIT_BUILD_GL_TESTS=on
152 -D PIGLIT_BUILD_WGL_TESTS=on
161 - pytest-3 unittests/framework
164 image: python:${PY_MAJVER}.${PY_MINVER}
171 - tox -e "py${PY_MAJVER}${PY_MINVER}-{generator,noaccel,accel-nix,streams,functional}"
175 PY_MINVER: [7, 8, 9, 10]
182 - apk --no-cache add py3-pip python3
184 - pip install Flask-Sphinx-Themes
187 - mv _build/html/ ../public/