summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Blanchard <martin.blanchard@codethink.co.uk>2019-03-15 10:29:27 +0000
committerJürg Billeter <j@bitron.ch>2019-03-25 12:42:57 +0000
commit36603fa8ed8ffd8eae5b8a3e84b7446cac24b6ac (patch)
treee5e9366b634f8fb1eef10273b784e16eda7d8f9c
parent686a83e3faa9f6f9823c719b23c766fa11023a70 (diff)
downloadbuildstream-36603fa8ed8ffd8eae5b8a3e84b7446cac24b6ac.tar.gz
.gitlab-ci.yml: Add a CI test job for remote execution
https://gitlab.com/BuildStream/buildstream/issues/629
-rw-r--r--.gitlab-ci.yml24
-rw-r--r--.gitlab-ci/buildgrid-compose.yml72
-rw-r--r--tox.ini3
3 files changed, 99 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 210de8df4..99bde6066 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -138,6 +138,29 @@ tests-fedora-update-deps:
- su buildstream -c "${TEST_COMMAND}"
+tests-remote-execution:
+ allow_failure: true
+ image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:29-master-47052095
+ <<: *tests
+ before_script:
+ - dnf install -y docker docker-compose
+ - docker-compose --file ${COMPOSE_MANIFEST} up --detach
+ after_script:
+ - docker-compose --file ${COMPOSE_MANIFEST} stop
+ - docker-compose --file ${COMPOSE_MANIFEST} logs
+ - docker-compose --file ${COMPOSE_MANIFEST} down
+ services:
+ - docker:stable-dind
+ variables:
+ DOCKER_HOST: tcp://docker:2375
+ DOCKER_DRIVER: overlay2
+ COMPOSE_MANIFEST: .gitlab-ci/buildgrid-compose.yml
+ ARTIFACT_CACHE_SERVICE: http://docker:50052
+ REMOTE_EXECUTION_SERVICE: http://docker:50051
+ SOURCE_CACHE_SERVICE: http://docker:50052
+ PYTEST_ARGS: "--color=yes --remote-execution"
+
+
# Lint separately from testing
lint:
stage: test
@@ -308,6 +331,7 @@ coverage:
- tests-fedora-29
- tests-fedora-missing-deps
- tests-fedora-update-deps
+ - tests-remote-execution
- tests-ubuntu-18.04
- tests-unix
except:
diff --git a/.gitlab-ci/buildgrid-compose.yml b/.gitlab-ci/buildgrid-compose.yml
new file mode 100644
index 000000000..09165818b
--- /dev/null
+++ b/.gitlab-ci/buildgrid-compose.yml
@@ -0,0 +1,72 @@
+##
+# BuildGrid Compose manifest for BuildStream.
+#
+# Spins-up a unnamed and unauthenticated grid:
+# - Controller + CAS + AC at http://localhost:50051
+# - Ref. + CAS at: http://localhost:50052
+#
+# BuildStream configuration snippet:
+#
+# artifacts:
+# url: http://localhost:50052
+# push: true
+# remote-execution:
+# execution-service:
+# url: http://localhost:50051
+# action-cache-service:
+# url: http://localhost:50051
+# storage-service:
+# url: http://localhost:50051
+#
+# Basic usage:
+# - docker-compose -f buildgrid-compose.yml up
+# - docker-compose -f buildgrid-compose.yml down
+#
+version: "3.2"
+
+services:
+ controller:
+ image: registry.gitlab.com/buildgrid/buildgrid.hub.docker.com/buildgrid:nightly
+ command: [
+ "bgd", "server", "start", "-vvv",
+ "/etc/buildgrid/default.conf"]
+ ports:
+ - 50051:50051
+ networks:
+ - grid
+
+ bot:
+ image: registry.gitlab.com/buildgrid/buildgrid.hub.docker.com/buildgrid:nightly
+ command: [
+ "bgd", "bot", "--parent=", "-vvv",
+ "--remote=http://controller:50051",
+ "--remote-cas=http://controller:50051",
+ "buildbox",
+ "--local-cas", "/var/lib/buildgrid/cache",
+ "--fuse-dir", "/mnt"]
+ privileged: true
+ volumes:
+ - type: volume
+ source: cache
+ target: /var/lib/buildgrid/cache
+ depends_on:
+ - controller
+ networks:
+ - grid
+
+ storage:
+ image: registry.gitlab.com/buildgrid/buildgrid.hub.docker.com/buildgrid:nightly
+ command: [
+ "bgd", "server", "start", "-vvv",
+ "/etc/buildgrid/artifacts.conf"]
+ ports:
+ - 50052:50052
+ networks:
+ - grid
+
+networks:
+ grid:
+ driver: bridge
+
+volumes:
+ cache:
diff --git a/tox.ini b/tox.ini
index 21c94e6fa..6cfe51818 100644
--- a/tox.ini
+++ b/tox.ini
@@ -28,6 +28,7 @@ deps =
# Only require coverage and pytest-cov when using it
!nocover: -rrequirements/cov-requirements.txt
passenv =
+ ARTIFACT_CACHE_SERVICE
BST_FORCE_BACKEND
GI_TYPELIB_PATH
INTEGRATION_CACHE
@@ -37,6 +38,8 @@ passenv =
HTTPS_PROXY
no_proxy
NO_PROXY
+ REMOTE_EXECUTION_SERVICE
+ SOURCE_CACHE_SERVICE
SSL_CERT_FILE
#