
This is required in order to avoid this error: ModuleNotFoundError: No module named 'setuptools' The version of ansible-lint we were using has a bug which causes a false positive on ensure-pip, so we update the ansible-lint version to match that in zuul-jobs and update the skips accordingly. This also flags lack of spaces in {{braces}} so those instances are fixed. Change-Id: I9d122631126ab65507f0a5616ff6741066a7acf8
58 lines
1.8 KiB
YAML
58 lines
1.8 KiB
YAML
- hosts: localhost
|
|
vars:
|
|
src_dir: "{{ zuul.executor.work_root }}/publish"
|
|
tasks:
|
|
- name: Check execution context
|
|
when: "zuul.branch is not defined"
|
|
fail:
|
|
msg: "This playbook must be run in a branch-based pipeline (e.g., 'promote')."
|
|
- name: Create artifact staging directory
|
|
file:
|
|
state: directory
|
|
path: "{{ zuul.executor.work_root }}/artifacts"
|
|
- name: Download artifacts
|
|
include_role:
|
|
name: download-artifact
|
|
vars:
|
|
# download_artifact_job: provided by zuul job
|
|
download_artifact_api: "https://zuul.opendev.org/api/tenant/{{ zuul.tenant }}"
|
|
# download_artifact_name: provided by zuul job
|
|
download_artifact_pipeline: gate
|
|
download_artifact_directory: "{{ zuul.executor.work_root }}/artifacts"
|
|
- name: Find content tarball artifacts
|
|
find:
|
|
paths: "{{ zuul.executor.work_root }}/artifacts"
|
|
patterns: "*.tar.gz"
|
|
register: files
|
|
- name: Set target directory
|
|
set_fact:
|
|
target_dir: "{{ afs.artifacts_path }}"
|
|
- name: Get an AFS token
|
|
include_role:
|
|
name: create-afs-token
|
|
- name: Ensure unpacking dir exists
|
|
file:
|
|
path: "{{ src_dir }}"
|
|
state: directory
|
|
- name: Ensure target directory exists
|
|
file:
|
|
path: "{{ target_dir }}"
|
|
state: directory
|
|
- name: Unpack into publish dir
|
|
unarchive:
|
|
src: "{{ item.path }}"
|
|
dest: "{{ src_dir }}"
|
|
loop: "{{ files.files }}"
|
|
- name: Upload to AFS
|
|
synchronize:
|
|
delete: yes
|
|
recursive: yes
|
|
src: "{{ src_dir }}/"
|
|
dest: "{{ target_dir }}/"
|
|
owner: false
|
|
group: false
|
|
delegate_to: "{{ inventory_hostname }}"
|
|
- name: Destroy AFS token
|
|
include_role:
|
|
name: destroy-afs-token
|