Copy built artifact into zuul artifact location The job builds a war which is something should collect, both so that people can grab copies of it and so that subsequent jobs can process it further. Copy to the canonical zuul-output location. For plugin builds, this copies the plugin jar instead. Change-Id: I2d0b030592909f76ce182f07b1b4ccf14c5bbdbd
diff --git a/roles/bazelisk-build/README.rst b/roles/bazelisk-build/README.rst index fd07d01..95f8910 100644 --- a/roles/bazelisk-build/README.rst +++ b/roles/bazelisk-build/README.rst
@@ -21,6 +21,16 @@ The path to the bazelisk executable. See :zuul:role:`ensure-bazelisk`. +.. zuul:rolevar:: bazelisk_artifacts + :default: [] + + Paths (relative to zuul_work_dir) of artifacts to collect. + +.. zuul:rolevar:: zuul_output_dir + :default: {{ ansible_user_dir }}/zuul-output + + Base directory for collecting job output. + .. zuul:rolevar:: zuul_work_dir :default: {{ ansible_user_dir }}/{{ zuul.project.src_dir}}
diff --git a/roles/bazelisk-build/defaults/main.yaml b/roles/bazelisk-build/defaults/main.yaml index 5760549..6a5e01d 100644 --- a/roles/bazelisk-build/defaults/main.yaml +++ b/roles/bazelisk-build/defaults/main.yaml
@@ -1,4 +1,6 @@ bazelisk_targets: "" bazelisk_test_targets: "" bazelisk_executable: bazelisk +bazelisk_artifacts: [] +zuul_output_dir: "{{ ansible_user_dir }}/zuul-output" zuul_work_dir: "{{ ansible_user_dir }}/{{ zuul.project.src_dir}}"
diff --git a/roles/bazelisk-build/tasks/main.yaml b/roles/bazelisk-build/tasks/main.yaml index 987c390..71f0e31 100644 --- a/roles/bazelisk-build/tasks/main.yaml +++ b/roles/bazelisk-build/tasks/main.yaml
@@ -15,3 +15,18 @@ chdir: "{{ zuul_work_dir }}" register: test_result failed_when: test_result.rc not in [0, 4] +- name: Copy output to artifacts location + loop: "{{ bazelisk_artifacts }}" + command: "cp {{ item }} {{ zuul_output_dir }}/artifacts" + args: + chdir: "{{ zuul_work_dir }}" +- name: Return built artifacts to Zuul + loop: "{{ bazelisk_artifacts }}" + zuul_return: + data: + zuul: + artifacts: + - name: "Build" + url: "artifacts/{{ item | basename }}" + metadata: + type: java_jar
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 6769056..fdb3343 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml
@@ -37,6 +37,8 @@ timeout: 3600 vars: bazelisk_targets: ":release" + bazelisk_artifacts: + - bazel-bin/release.war zuul_work_dir: "{{ ansible_user_dir }}/src/gerrit.googlesource.com/gerrit" - job: @@ -67,4 +69,6 @@ gerrit_plugin: "{{ zuul.project.short_name }}" bazelisk_targets: "plugins/{{ gerrit_plugin }}:{{ gerrit_plugin }}" bazelisk_test_targets: "plugins/{{ gerrit_plugin }}/..." + bazelisk_artifacts: + - "bazel-bin/plugins/{{ gerrit_plugin }}/{{ gerrit_plugin }}.jar" zuul_work_dir: "{{ ansible_user_dir }}/src/gerrit.googlesource.com/gerrit"