--- - name: Ensure directory is present ansible.builtin.file: path: "{{ cifmw_copy_ct_basedir }}/{{ item }}" state: directory mode: "0755" loop: - artifacts - logs - name: Install HyperScale repository (btrfs-progs requirement) when: - ansible_distribution == 'CentOS' - ansible_distribution_version >= '9' become: true tags: - bootstrap - packages ansible.builtin.dnf: name: - centos-release-hyperscale-experimental - name: Install required packages become: true tags: - bootstrap - packages ansible.builtin.package: name: - device-mapper-devel - gpgme-devel - btrfs-progs-devel - golang - name: Create temporary directory register: temporary_copy_container_dir ansible.builtin.tempfile: state: directory suffix: copy-container - name: Copy go files to temporary directory ansible.builtin.copy: src: copy-quay/ dest: "{{ temporary_copy_container_dir.path }}" mode: "0755" - name: Build the copy-container register: go_build cifmw.general.ci_script: output_dir: "{{ cifmw_copy_ct_basedir }}/artifacts" script: go build chdir: "{{ temporary_copy_container_dir.path }}" changed_when: false - name: Copy binary to /usr/local/bin (CentOS 8) when: - go_build.rc == 0 - ansible_distribution == 'CentOS' - ansible_distribution_version < '9' become: true ansible.builtin.copy: src: "{{ temporary_copy_container_dir.path }}/copy-quay" dest: /usr/local/bin mode: '0755' - name: Copy binary to /usr/local/bin (CentOS 9) when: - go_build.rc == 0 - ansible_distribution == 'CentOS' - ansible_distribution_version >= '9' become: true ansible.builtin.copy: src: "{{ temporary_copy_container_dir.path }}/copy-quay" dest: /usr/local/bin mode: '0755' remote_src: true - name: Delete temporary directory ansible.builtin.file: path: "{{ temporary_copy_container_dir.path }}" state: absent - name: Install cron jobs (CentOS 8) when: - cifmw_copy_ct_enable_cron|bool - ansible_distribution == 'CentOS' - ansible_distribution_version < '9' ansible.builtin.import_tasks: cron.yml - name: Configure cronjobs become: true when: - cifmw_copy_ct_enable_cron_c9|bool - ansible_distribution == 'CentOS' - ansible_distribution_version >= '9' block: - name: Create cron job to copy containers ansible.builtin.cron: name: 'Copy containers' minute: 0 hour: '*/2' job: >- source /etc/quayrc && bash /opt/stack/ci-config/ci-scripts/copy-containers/copy-quay.sh - name: Create cron job to tag containers ansible.builtin.cron: name: 'Tag containers' minute: 0 hour: '*/2' job: >- source /etc/quayrc && bash /opt/stack/ci-config/ci-scripts/copy-containers/tag-quay.sh - name: Create cron job to copy containers to rdo registry ansible.builtin.cron: name: 'Copy containers to rdo' minute: 0 hour: '*/12' job: source /etc/quayrc && bash /opt/stack/ci-config/ci-scripts/copy-containers/copy-rdo.sh