| 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-31: |
| <<: *tests-template |
| image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:31-${CI_IMAGE_VERSION:-latest} |
| |
| fedora-32: |
| <<: *tests-template |
| |
| 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 |
| |
| remote-execution: |
| <<: *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 |
| |
| buildstream-remote-cache: |
| <<: *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-remote-cache: |
| <<: *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 |