96 lines
2.7 KiB
YAML
96 lines
2.7 KiB
YAML
.meson-build-for-tests:
|
|
extends:
|
|
- .build-linux
|
|
stage: build-for-tests
|
|
script:
|
|
- &meson-build timeout --verbose ${BUILD_JOB_TIMEOUT_OVERRIDE:-$BUILD_JOB_TIMEOUT} bash --login .gitlab-ci/meson/build.sh
|
|
- .gitlab-ci/prepare-artifacts.sh
|
|
|
|
.meson-build-only:
|
|
extends:
|
|
- .meson-build-for-tests
|
|
- .build-only-delayed-rules
|
|
stage: build-only
|
|
script:
|
|
- *meson-build
|
|
|
|
# Shared between windows and Linux
|
|
.build-common:
|
|
extends: .build-rules
|
|
# Cancel job if a newer commit is pushed to the same branch
|
|
interruptible: true
|
|
variables:
|
|
# Build jobs are typically taking between 5-12 minutes, depending on how
|
|
# much they build and how many new Rust compilers we have to build twice.
|
|
# Allow 25 minutes as a reasonable margin: beyond this point, something
|
|
# has gone badly wrong, and we should try again to see if we can get
|
|
# something from it.
|
|
#
|
|
# Some jobs not in the critical path use a higher timeout, particularly
|
|
# when building with ASan or UBSan.
|
|
BUILD_JOB_TIMEOUT: 12m
|
|
RUN_MESON_TESTS: "true"
|
|
timeout: 16m
|
|
# We don't want to download any previous job's artifacts
|
|
dependencies: []
|
|
artifacts:
|
|
name: "${CI_PROJECT_NAME}_${CI_JOB_NAME_SLUG}"
|
|
when: always
|
|
paths:
|
|
- _build/meson-logs/*.txt
|
|
- _build/meson-logs/strace
|
|
- _build/.ninja_log
|
|
- artifacts
|
|
|
|
.build-run-long:
|
|
variables:
|
|
BUILD_JOB_TIMEOUT: 18m
|
|
timeout: 25m
|
|
|
|
|
|
# Just Linux
|
|
.build-linux:
|
|
extends: .build-common
|
|
variables:
|
|
C_ARGS: >
|
|
-Wno-error=deprecated-declarations
|
|
CCACHE_COMPILERCHECK: "content"
|
|
CCACHE_COMPRESS: "true"
|
|
CCACHE_DIR: /cache/mesa/ccache
|
|
# Use ccache transparently, and print stats before/after
|
|
before_script:
|
|
- !reference [default, before_script]
|
|
- |
|
|
export PATH="/usr/lib/ccache:$PATH"
|
|
export CCACHE_BASEDIR="$PWD"
|
|
if test -x /usr/bin/ccache; then
|
|
section_start ccache_before "ccache stats before build"
|
|
ccache --show-stats
|
|
section_end ccache_before
|
|
fi
|
|
after_script:
|
|
- if test -x /usr/bin/ccache; then ccache --show-stats | grep "Hits:"; fi
|
|
- !reference [default, after_script]
|
|
|
|
.build-windows:
|
|
extends:
|
|
- .build-common
|
|
- .windows-docker-tags
|
|
cache:
|
|
key: ${CI_JOB_NAME}
|
|
paths:
|
|
- subprojects/packagecache
|
|
|
|
.ci-deqp-artifacts:
|
|
artifacts:
|
|
name: "${CI_PROJECT_NAME}_${CI_JOB_NAME_SLUG}"
|
|
when: always
|
|
untracked: false
|
|
paths:
|
|
# Watch out! Artifacts are relative to the build dir.
|
|
# https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
|
|
- artifacts
|
|
- _build/meson-logs/*.txt
|
|
- _build/meson-logs/strace
|
|
- _build/.ninja_log
|