d12c24cbcf
Copy over Ic0043bebf902a24957ead1b6d1f9c05d5c834768 for this specific promote file. Change-Id: Ia970c18f5fcbdf69e02412b7cf957c9387daad19
69 lines
2.4 KiB
YAML
69 lines
2.4 KiB
YAML
# This is a variant of https://opendev.org/opendev/base-jobs/src/branch/master/playbooks/docs/promote.yaml
|
|
# updated to calculate the service type.
|
|
- hosts: localhost
|
|
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: Download docs archive
|
|
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_type:
|
|
- docs_archive
|
|
- docs_pdf
|
|
download_artifact_pipeline: gate
|
|
- name: Create working directory
|
|
file:
|
|
path: "{{ zuul.executor.work_root }}/docs"
|
|
state: directory
|
|
- name: Extract docs archive
|
|
unarchive:
|
|
src: "{{ zuul.executor.work_root }}/docs-html.tar.bz2"
|
|
dest: "{{ zuul.executor.work_root }}/docs"
|
|
- name: Write root_marker file
|
|
include_role:
|
|
name: write-root-marker
|
|
vars:
|
|
root_marker_dir: "{{ zuul.executor.work_root }}/docs"
|
|
- name: Find PDF files
|
|
find:
|
|
paths: "{{ zuul.executor.work_root }}/"
|
|
file_type: file
|
|
patterns: "*.pdf"
|
|
register: pdf_files
|
|
- name: Move found PDF file into doc dir
|
|
command: "mv {{ item.path }} {{ zuul.executor.work_root }}/docs"
|
|
with_items: "{{ pdf_files.files }}"
|
|
when: pdf_files.matched > 0
|
|
- name: Get service type
|
|
include_role:
|
|
name: set-service-type-data-fact
|
|
- name: Set target directory if master
|
|
when: "zuul.branch == 'master'"
|
|
set_fact:
|
|
target_dir: "/afs/.openstack.org/docs/{{ api_path }}/{{ service_type_data.service_type }}/"
|
|
- name: Set target directory if not master
|
|
when: "zuul.branch != 'master'"
|
|
fail:
|
|
msg: "This jobs should be only run on master branch."
|
|
- name: Get an AFS token
|
|
include_role:
|
|
name: create-afs-token
|
|
- name: Create publication directory
|
|
file:
|
|
path: "{{ target_dir }}"
|
|
state: directory
|
|
- name: Upload to AFS
|
|
include_role:
|
|
name: upload-afs
|
|
vars:
|
|
afs_source: "{{ zuul.executor.work_root }}/docs/"
|
|
afs_target: "{{ target_dir }}"
|
|
- name: Destroy AFS token
|
|
include_role:
|
|
name: destroy-afs-token
|