blob: ee8d8c8416c0b790b667ece3d14123ee80682cf2 [file] [log] [blame]
version: '3.4'
x-tests-template: &tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:32-${CI_IMAGE_VERSION:-latest}
command: tox -vvvvv -- --color=yes --integration -n 4
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-32:
<<: *tests-template
fedora-33:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:33-${CI_IMAGE_VERSION:-latest}
debian-10:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:10-${CI_IMAGE_VERSION:-latest}
ubuntu-18.04:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-ubuntu:18.04-${CI_IMAGE_VERSION:-latest}
centos-7.7.1908:
<<: *tests-template
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-centos:7.7.1908-${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}
# Ensure that tests also pass without `--develop` flag
no-usedevelop:
<<: *tests-template
environment:
TOXENV: py36-nocover,py37-nocover,py38-nocover
# 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
bst-artifact-server:
<<: *tests-template
command: tox -vvvvv -- --color=yes --remote-cache
environment:
TOXENV: ${CI_TOXENV_MAIN}
ARTIFACT_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
mypy:
<<: *tests-template
command: tox -e mypy