| 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 |