diff --git a/roles/extra-test-setup/tasks/main.yaml b/roles/extra-test-setup/tasks/main.yaml new file mode 100644 index 0000000..1d5abdd --- /dev/null +++ b/roles/extra-test-setup/tasks/main.yaml @@ -0,0 +1,13 @@ +--- +- name: Check if projects tools/test-setup.sh exists. + stat: + path: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}/tools/test-setup.sh" + register: p + +- name: Run tools/test-setup.sh. + shell: tools/test-setup.sh + args: + chdir: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}" + when: + - p.stat.exists + - p.stat.executable diff --git a/roles/prepare-workspace/tasks/main.yaml b/roles/prepare-workspace/tasks/main.yaml new file mode 100644 index 0000000..4d42b2d --- /dev/null +++ b/roles/prepare-workspace/tasks/main.yaml @@ -0,0 +1,22 @@ +- name: Ensure console.log does not exist. + file: + path: /tmp/console.log + state: absent + +- name: Start zuul_console daemon. + zuul_console: + path: /tmp/console.log + port: 19885 + +- name: Create workspace directory. + file: + path: "{{ zuul_workspace_root }}" + owner: zuul + group: zuul + state: directory + +- name: Synchronize src repos to workspace directory. + synchronize: + dest: "{{ zuul_workspace_root }}" + src: "{{ zuul.executor.src_root }}" + no_log: true diff --git a/roles/revoke-sudo/tasks/main.yaml b/roles/revoke-sudo/tasks/main.yaml new file mode 100644 index 0000000..1c18187 --- /dev/null +++ b/roles/revoke-sudo/tasks/main.yaml @@ -0,0 +1,8 @@ +- name: Remove sudo access for zuul user. + become: yes + file: + path: /etc/sudoers.d/zuul-sudo + state: absent + +- name: Prove that general sudo access is actually revoked. + shell: ! sudo -n true diff --git a/roles/run-bindep/tasks/main.yaml b/roles/run-bindep/tasks/main.yaml new file mode 100644 index 0000000..e3c311b --- /dev/null +++ b/roles/run-bindep/tasks/main.yaml @@ -0,0 +1,5 @@ +--- +- name: Run install-distro-packages.sh + shell: /usr/local/jenkins/slave_scripts/install-distro-packages.sh + args: + chdir: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}" diff --git a/roles/run-cover/defaults/main.yaml b/roles/run-cover/defaults/main.yaml new file mode 100644 index 0000000..2e32efe --- /dev/null +++ b/roles/run-cover/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +run_cover_envlist: cover diff --git a/roles/run-cover/tasks/main.yaml b/roles/run-cover/tasks/main.yaml new file mode 100644 index 0000000..09d7e3d --- /dev/null +++ b/roles/run-cover/tasks/main.yaml @@ -0,0 +1,4 @@ +- name: Execute run-cover.sh. + shell: "/usr/local/jenkins/slave_scripts/run-cover.sh {{ run_cover_envlist }}" + args: + chdir: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}" diff --git a/roles/run-docs/defaults/main.yaml b/roles/run-docs/defaults/main.yaml new file mode 100644 index 0000000..5855a3d --- /dev/null +++ b/roles/run-docs/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +run_docs_envlist: venv diff --git a/roles/run-docs/tasks/main.yaml b/roles/run-docs/tasks/main.yaml new file mode 100644 index 0000000..dec9260 --- /dev/null +++ b/roles/run-docs/tasks/main.yaml @@ -0,0 +1,4 @@ +- name: Execute run-docs.sh. + shell: "/usr/local/jenkins/slave_scripts/run-docs.sh {{ run_docs_envlist }}" + args: + chdir: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}" diff --git a/roles/run-tarball/defaults/main.yaml b/roles/run-tarball/defaults/main.yaml new file mode 100644 index 0000000..072828a --- /dev/null +++ b/roles/run-tarball/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +run_tarball_envlist: venv diff --git a/roles/run-tarball/tasks/main.yaml b/roles/run-tarball/tasks/main.yaml new file mode 100644 index 0000000..66250c3 --- /dev/null +++ b/roles/run-tarball/tasks/main.yaml @@ -0,0 +1,4 @@ +- name: Execute run-tarball.sh. + shell: "/usr/local/jenkins/slave_scripts/run-tarball.sh {{ run_tarball_envlist }}" + args: + chdir: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}" diff --git a/roles/run-tox/defaults/main.yaml b/roles/run-tox/defaults/main.yaml new file mode 100644 index 0000000..9cb1477 --- /dev/null +++ b/roles/run-tox/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +run_tox_envlist: diff --git a/roles/run-tox/tasks/main.yaml b/roles/run-tox/tasks/main.yaml new file mode 100644 index 0000000..297caba --- /dev/null +++ b/roles/run-tox/tasks/main.yaml @@ -0,0 +1,4 @@ +- name: Run tox + shell: "/usr/local/jenkins/slave_scripts/run-tox.sh {{ run_tox_envlist }}" + args: + chdir: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}" diff --git a/roles/run-wheel/defaults/main.yaml b/roles/run-wheel/defaults/main.yaml new file mode 100644 index 0000000..8645d33 --- /dev/null +++ b/roles/run-wheel/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +run_wheel_envlist: venv diff --git a/roles/run-wheel/tasks/main.yaml b/roles/run-wheel/tasks/main.yaml new file mode 100644 index 0000000..d0306b9 --- /dev/null +++ b/roles/run-wheel/tasks/main.yaml @@ -0,0 +1,4 @@ +- name: Execute run-wheel.sh. + shell: "/usr/local/jenkins/slave_scripts/run-wheel.sh {{ run_wheel_envlist }}" + args: + chdir: "{{ zuul_workspace_root }}/src/{{ zuul.project.canonical_name }}" diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..7214687 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,2 @@ +hacking>=0.10,<0.11 +bashate>=0.2 diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..5c6985c --- /dev/null +++ b/tox.ini @@ -0,0 +1,31 @@ +[tox] +minversion = 1.6 +skipsdist = True +envlist = pep8, py27 + +[testenv] +install_command = pip install {opts} {packages} +deps = -r{toxinidir}/test-requirements.txt +commands = + python setup.py testr --slowest --testr-args='{posargs}' + +[testenv:bindep] +# Do not install any requirements. We want this to be fast and work even if +# system dependencies are missing, since it's used to tell you what system +# dependencies are missing! This also means that bindep must be installed +# separately, outside of the requirements files. +deps = bindep +commands = bindep test + +[testenv:pep8] +commands = flake8 {posargs} + +[testenv:venv] +commands = {posargs} + +[flake8] +# These are ignored intentionally in openstack-infra projects; +# please don't submit patches that solely correct them or enable them. +ignore = E125,E129,H +show-source = True +exclude = .venv,.tox,dist,doc,build,*.egg