Merge "Create a job to run Tobiko tests from a Docker container"

This commit is contained in:
Zuul 2021-12-21 21:02:32 +00:00 committed by Gerrit Code Review
commit c1ee187865
10 changed files with 105 additions and 0 deletions

View File

@ -0,0 +1,9 @@
---
- hosts: all
roles:
- role: ensure-docker
- role: tobiko-ensure-docker-compose
- role: tobiko-docker-compose
vars:
docker_compose_command: build

View File

@ -0,0 +1,7 @@
---
- hosts: all
roles:
- role: tobiko-docker-compose
vars:
docker_compose_command: run

View File

@ -0,0 +1,8 @@
---
docker_compose_command: run
docker_compose_dir: '{{ zuul_work_dir }}'
docker_compose_environment: {}
docker_compose_executable: /usr/local/bin/docker-compose
zuul_work_dir: "{{ zuul.project.src_dir }}"

View File

@ -0,0 +1,8 @@
---
- name: "Build image for service {{ docker_compose_service }} at {{ docker_compose_dir }}"
command:
chdir: '{{ docker_compose_dir }}'
cmd: '{{ docker_compose_executable }} build {{ docker_compose_service }}'
register: docker_compose_build
environment: '{{ docker_compose_environment }}'

View File

@ -0,0 +1,3 @@
---
- include_tasks: '{{ docker_compose_command }}.yaml'

View File

@ -0,0 +1,8 @@
---
- name: "Run service {{ docker_compose_service }} at {{ docker_compose_dir }}"
command:
chdir: '{{ docker_compose_dir }}'
cmd: '{{ docker_compose_executable }} run {{ docker_compose_service }}'
register: docker_compose_run
environment: '{{ docker_compose_environment }}'

View File

@ -0,0 +1,3 @@
---
docker_compose_executable: /usr/local/bin/docker-compose

View File

@ -0,0 +1,17 @@
---
- name: "Install latest Docker compose"
become: true
shell: |
set -x
VERSION=$(
git ls-remote https://github.com/docker/compose |
grep refs/tags |
grep -oE "[0-9]+\.[0-9][0-9]+\.[0-9]+$" |
sort --version-sort |
tail -n 1)
ARCH=$(uname -s)-$(uname -m)
URL=https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-${ARCH}
mkdir -p $(dirname '{{ docker_compose_executable }}')
curl -L ${URL} > '{{ docker_compose_executable }}'
chmod +x '{{ docker_compose_executable }}'

41
zuul.d/docker.yaml Normal file
View File

@ -0,0 +1,41 @@
---
- project-template:
name: tobiko-docker
description: |
Docker jobs intended to gate Tobiko container related changes
check: &CHECK
jobs:
- tobiko-docker-unit
- tobiko-docker-functional
gate:
jobs:
- tobiko-docker-unit
periodic: *CHECK
# ----------------------------------------------------------------------------
- job:
name: tobiko-docker-unit
description: |
Run unit tests for an OpenStack Python project inside a Docker container.
voting: true
parent: base
timeout: 2400
pre-run: playbooks/docker/pre.yaml
run: playbooks/docker/run.yaml
# post-run: playbooks/docker/post.yaml
vars:
docker_compose_service: unit
- job:
name: tobiko-docker-functional
description: |
Run functional tests for an OpenStack Python project inside a Docker container.
voting: false
parent: tobiko-docker-unit
timeout: 3600
vars:
docker_compose_service: functional

View File

@ -19,6 +19,7 @@
- openstack-lower-constraints-jobs
- openstack-python3-wallaby-jobs
- publish-to-pypi
- tobiko-docker
- tobiko-infrared
vars:
rtd_webhook_id: '84947'