fetch-translation-output: introduce zuul_use_fetch_output
This change enables using fetch-translation role along with the fetch-output role. By default the role still synchronizes artifacts back to the executor. Change-Id: I85c021706c1fa20f8d28b3a1f56c9435ac3836d5
This commit is contained in:
parent
0a5decdc42
commit
cab4e8a1cc
@ -1 +1,11 @@
|
|||||||
Collect output from a translation build
|
Collect output from a translation build
|
||||||
|
|
||||||
|
**Role Variables**
|
||||||
|
|
||||||
|
.. zuul:rolevar:: zuul_use_fetch_output
|
||||||
|
:default: false
|
||||||
|
|
||||||
|
Whether to synchronize files to the executor work dir, or to copy them
|
||||||
|
on the test instance.
|
||||||
|
When set to false, the role synchronizes the file to the executor.
|
||||||
|
When set to true, the job needs to use the fetch-output role later.
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
---
|
---
|
||||||
zuul_executor_dest: "{{ zuul.executor.work_root }}/artifacts"
|
zuul_executor_dest: "{{ zuul.executor.work_root }}/artifacts"
|
||||||
translation_output_src: "src/{{ zuul.project.canonical_name }}/translation-source/"
|
translation_output_src: "src/{{ zuul.project.canonical_name }}/translation-source/"
|
||||||
|
zuul_output_dir: "{{ ansible_user_dir }}/zuul-output"
|
||||||
|
zuul_use_fetch_output: "{{ zuul_site_use_fetch_output|default(false) }}"
|
||||||
|
@ -3,12 +3,22 @@
|
|||||||
path: "{{ translation_output_src }}"
|
path: "{{ translation_output_src }}"
|
||||||
register: translation_files
|
register: translation_files
|
||||||
|
|
||||||
- name: Collect translation source files
|
- block:
|
||||||
synchronize:
|
- name: Collect translation source files
|
||||||
dest: "{{ zuul_executor_dest }}"
|
synchronize:
|
||||||
mode: pull
|
dest: "{{ zuul_executor_dest }}"
|
||||||
src: "{{ translation_output_src }}"
|
mode: pull
|
||||||
verify_host: true
|
src: "{{ translation_output_src }}"
|
||||||
owner: no
|
verify_host: true
|
||||||
group: no
|
owner: no
|
||||||
|
group: no
|
||||||
|
when: not zuul_use_fetch_output
|
||||||
|
|
||||||
|
- name: Copy translation source files
|
||||||
|
copy:
|
||||||
|
dest: "{{ zuul_output_dir }}/artifacts"
|
||||||
|
src: "{{ translation_output_src }}"
|
||||||
|
mode: 0755
|
||||||
|
remote_src: true
|
||||||
|
when: zuul_use_fetch_output
|
||||||
when: translation_files.stat.exists
|
when: translation_files.stat.exists
|
||||||
|
33
test-playbooks/general/fetch-translation-output.yaml
Normal file
33
test-playbooks/general/fetch-translation-output.yaml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
- hosts: all
|
||||||
|
pre_tasks:
|
||||||
|
# Run ensure-output-dirs now as it is not performed speculatively
|
||||||
|
- import_role:
|
||||||
|
name: ensure-output-dirs
|
||||||
|
|
||||||
|
- name: Create fake translation
|
||||||
|
shell: |
|
||||||
|
mkdir -p src/{{ zuul.project.canonical_name }}/translation-source/
|
||||||
|
echo Hello > src/{{ zuul.project.canonical_name }}/translation-source/test
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- import_role:
|
||||||
|
name: fetch-translation-output
|
||||||
|
|
||||||
|
- import_role:
|
||||||
|
name: fetch-output
|
||||||
|
when: zuul_use_fetch_output
|
||||||
|
|
||||||
|
post_tasks:
|
||||||
|
- name: Check for artifact on the test instance
|
||||||
|
stat:
|
||||||
|
path: "{{ ansible_user_dir }}/zuul-output/artifacts/test"
|
||||||
|
register: _test_artifact
|
||||||
|
failed_when: not _test_artifact.stat.exists
|
||||||
|
when: zuul_use_fetch_output
|
||||||
|
|
||||||
|
- name: Check for artifact on the executor
|
||||||
|
stat:
|
||||||
|
path: "{{ zuul.executor.work_root }}/artifacts/test"
|
||||||
|
delegate_to: localhost
|
||||||
|
register: _executor_artifact
|
||||||
|
failed_when: not _executor_artifact.stat.exists
|
@ -695,6 +695,26 @@
|
|||||||
- test-playbooks/stage-output.yaml
|
- test-playbooks/stage-output.yaml
|
||||||
- roles/stage-output/.*
|
- roles/stage-output/.*
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-fetch-translation-output
|
||||||
|
description: Test the fetch-translation-output
|
||||||
|
files:
|
||||||
|
- roles/ensure-output-dirs/.*
|
||||||
|
- roles/fetch-translation-output/.*
|
||||||
|
- roles/fetch-output/.*
|
||||||
|
run: test-playbooks/general/fetch-translation-output.yaml
|
||||||
|
vars:
|
||||||
|
zuul_use_fetch_output: true
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: zuul-jobs-test-fetch-translation-output-synchronize
|
||||||
|
description: Test the fetch-translation-output
|
||||||
|
files:
|
||||||
|
- roles/fetch-translation-output/.*
|
||||||
|
run: test-playbooks/general/fetch-translation-output.yaml
|
||||||
|
vars:
|
||||||
|
zuul_use_fetch_output: false
|
||||||
|
|
||||||
# -* AUTOGENERATED *-
|
# -* AUTOGENERATED *-
|
||||||
# The following project section is autogenerated by
|
# The following project section is autogenerated by
|
||||||
# tox -e update-test-platforms
|
# tox -e update-test-platforms
|
||||||
@ -750,6 +770,8 @@
|
|||||||
- zuul-jobs-test-ensure-zookeeper
|
- zuul-jobs-test-ensure-zookeeper
|
||||||
- zuul-jobs-test-update-json-file
|
- zuul-jobs-test-update-json-file
|
||||||
- zuul-jobs-test-stage-output
|
- zuul-jobs-test-stage-output
|
||||||
|
- zuul-jobs-test-fetch-translation-output
|
||||||
|
- zuul-jobs-test-fetch-translation-output-synchronize
|
||||||
gate:
|
gate:
|
||||||
jobs: &id001
|
jobs: &id001
|
||||||
- zuul-jobs-test-add-authorized-keys
|
- zuul-jobs-test-add-authorized-keys
|
||||||
@ -796,5 +818,7 @@
|
|||||||
- zuul-jobs-test-ensure-zookeeper
|
- zuul-jobs-test-ensure-zookeeper
|
||||||
- zuul-jobs-test-update-json-file
|
- zuul-jobs-test-update-json-file
|
||||||
- zuul-jobs-test-stage-output
|
- zuul-jobs-test-stage-output
|
||||||
|
- zuul-jobs-test-fetch-translation-output
|
||||||
|
- zuul-jobs-test-fetch-translation-output-synchronize
|
||||||
periodic-weekly:
|
periodic-weekly:
|
||||||
jobs: *id001
|
jobs: *id001
|
||||||
|
Loading…
x
Reference in New Issue
Block a user