--- # Copyright 2020 VEXXHOST, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - hosts: all tasks: - name: Download current index register: _get_url failed_when: _get_url.status_code not in (200, 404) get_url: url: "https://tarballs.opendev.org/{{ zuul.project.name }}/index.yaml" dest: "{{ zuul.project.src_dir }}/index.yaml" - name: Create a new index when: _get_url.status_code == 404 shell: helm repo index {{ zuul.project.src_dir }} --url https://tarballs.opendev.org/{{ zuul.project.name }} - name: Merge into existing index when: _get_url.status_code == 200 shell: helm repo index {{ zuul.project.src_dir }} --merge {{ zuul.project.src_dir }}/index.yaml --url https://tarballs.opendev.org/{{ zuul.project.name }} - name: Ensure artifact directory exists file: path: "{{ zuul.executor.work_root }}/artifacts/" state: directory delegate_to: localhost - name: Gather the artifacts find: file_type: file paths: "{{ zuul.project.src_dir }}" patterns: "*.tar.gz,*.tgz,index.yaml" register: result - name: Update Helm repository synchronize: mode: pull src: "{{ item.path }}" dest: "{{ zuul.executor.work_root }}/artifacts/" verify_host: true owner: no group: no with_items: "{{ result.files }}" ...