- name: Write marker text copy: dest: "{{ zuul_work_dir }}/doc/build/html/.root-marker" content: "Project: {{ zuul.project.name }} Branch: {{ zuul.branch }} Build: {{ zuul.build }} Revision: {{ zuul.ref }}" - name: Process tagged build include: tagged.yaml when: "zuul.branch != 'master' and zuul.tag is defined" - name: Process stable branch build include: stable.yaml when: "'stable' in zuul.branch and zuul.tag is not defined" - name: Process branch build include: branch.yaml when: "zuul.branch != 'master' and 'stable' not in zuul.branch and zuul.tag is not defined" - name: Rearrange publish directories args: executable: /bin/bash shell: | set -xe if [[ {{ zuul.ref }} =~ ^refs/tags/ ]]; then # This job should not be configured to run for # pre-releases, so if we have a tag we want to use it as # the publishing location. tag=$(echo {{ zuul.ref }} | cut -d/ -f3-) branch_name="" else # If the ref wasn't a tag, assume it is a branch. branch_name={{ zuul.branch }} tag="" fi # Rearrange the build output to reflect the end publishing # location, so we can use doc/publish as the source for the # publisher step. mkdir -p doc/publish if [[ ! -z "$tag" ]]; then # We will have already moved the content inside # a directory named for the tag, so we move that # directory to the publish location. mv doc/build/html/$tag doc/publish/ mv doc/build/.root-marker doc/publish/$tag/ elif [[ $branch_name = master ]]; then # The above tasks does not rename the output directory, but # we want it to be called "latest". mv doc/build/html doc/publish/latest mv doc/build/.root-marker doc/publish/latest/ elif [[ $branch_name =~ stable/ ]]; then # We will have already moved the content inside # a directory named for the branch, so move that to the # publish location. mv doc/build/html/$(basename $branch_name) doc/publish/ mv doc/build/.root-marker doc/publish/$(basename $branch_name) elif [[ $branch_name =~ feature/ ]]; then echo "Docs should not be published for feature branches" exit 1 elif [[ $branch_name =~ driverfixes/ ]]; then echo "Docs should not be published for feature branches" exit 1 else # What is this even? echo "Could not determine publishing location for branch_name $branch_name" exit 1 fi # Move back into doc/build/html for artifact publisher. rm -rf doc/build/html mv doc/publish doc/build/html