blob: f616f1a7b16435405d4891467ea8c79349d04550 [file] [log] [blame]
version: '3.4'
x-tests-template: &tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:35-${CI_IMAGE_VERSION:-latest}
command: tox -vvvvv -- --color=yes --integration
environment:
TOXENV: ${CI_TOXENV_ALL}
# Enable privileges to run the sandbox
#
privileged: true
devices:
- /dev/fuse:/dev/fuse
# Mount the local directory and set the working directory
# to run the tests from.
#
volumes:
- ../..:/home/testuser/buildstream
working_dir: /home/testuser/buildstream
services:
fedora-35:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:35-${CI_IMAGE_VERSION:-latest}
fedora-36:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:36-${CI_IMAGE_VERSION:-latest}
debian-10:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:10-${CI_IMAGE_VERSION:-latest}
# Ensure that tests also pass in the absence of a sandboxing tool
fedora-missing-deps:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:minimal-${CI_IMAGE_VERSION:-latest}
# Test the master version of external plugins
plugins-master:
<<: *tests-template
environment:
BST_PLUGINS_EXPERIMENTAL_VERSION: master
buildgrid:
<<: *tests-template
command: tox -vvvvv -- --color=yes --remote-execution
environment:
TOXENV: ${CI_TOXENV_MAIN}
ARTIFACT_CACHE_SERVICE: http://localhost:50052
REMOTE_EXECUTION_SERVICE: http://localhost:50051
SOURCE_CACHE_SERVICE: http://localhost:50052
# We need to use host networking mode in order to be able to
# properly resolve services exposed by adjacent containers.
#
network_mode: host
buildbarn:
<<: *tests-template
command: tox -vvvvv -- --color=yes --remote-cache
environment:
TOXENV: ${CI_TOXENV_MAIN}
ARTIFACT_INDEX_SERVICE: http://localhost:7981
ARTIFACT_STORAGE_SERVICE: http://localhost:7982
# We need to use host networking mode in order to be able to
# properly resolve services exposed by adjacent containers.
#
network_mode: host
docs:
<<: *tests-template
command: tox -e docs
environment:
BST_FORCE_SESSION_REBUILD: 1
lint:
<<: *tests-template
command: tox -e lint,format-check
mypy:
<<: *tests-template
command: tox -e mypy
# Test that each BuildStream+BuildBox wheel package can install and run.
# on the PyPA official 'manylinux' images that define the base ABI for
# Python binary packages.
wheels-manylinux_2_28-cp37:
<<: *tests-template
image: quay.io/pypa/manylinux_2_28_x86_64
command: .github/wheel-helpers/test-wheel-manylinux.sh cp37-cp37m-manylinux_2_28_x86_64 /opt/python/cp37-cp37m/bin/python3
wheels-manylinux_2_28-cp38:
<<: *tests-template
image: quay.io/pypa/manylinux_2_28_x86_64
command: .github/wheel-helpers/test-wheel-manylinux.sh cp38-cp38-manylinux_2_28_x86_64 /opt/python/cp38-cp38/bin/python3
wheels-manylinux_2_28-cp39:
<<: *tests-template
image: quay.io/pypa/manylinux_2_28_x86_64
command: .github/wheel-helpers/test-wheel-manylinux.sh cp39-cp39-manylinux_2_28_x86_64 /opt/python/cp39-cp39/bin/python3
wheels-manylinux_2_28-cp310:
<<: *tests-template
image: quay.io/pypa/manylinux_2_28_x86_64
command: .github/wheel-helpers/test-wheel-manylinux.sh cp310-cp310-manylinux_2_28_x86_64 /opt/python/cp310-cp310/bin/python3