From 7972255a0bd6e41179b703a1d1623b0a4be86289 Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Wed, 12 Mar 2025 13:52:56 +0200 Subject: [PATCH] Enforce one changes file per dist + debug info --- data/ansible/deb_packages/main.yaml | 36 +++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/data/ansible/deb_packages/main.yaml b/data/ansible/deb_packages/main.yaml index 576b12bd3..56dfb73ca 100644 --- a/data/ansible/deb_packages/main.yaml +++ b/data/ansible/deb_packages/main.yaml @@ -187,21 +187,47 @@ with_items: "{{ package_files.files }}" when: package_files.matched > 0 + - name: Check for uniqueness of changes files per distribution + ansible.builtin.find: + paths: /var/packages/debian/incoming + patterns: "*~deb{{ item.version }}u1_amd64.changes" + file_type: file + register: changes_files + with_items: "{{ distributions }}" + + - name: Fail if wrong number of changes files found + ansible.builtin.fail: + msg: "Expected exactly 1 changes file for {{ item.item.codename }}, found {{ item.matched }} files" + when: item.matched != 1 + with_items: "{{ changes_files.results }}" + - name: Include the packages with reprepro become: true ansible.builtin.shell: - cmd: >- - reprepro -Vb . --ignore=wrongdistribution include - {{ cgrates_branch }}-{{ item.codename }} - /var/packages/debian/incoming/*~deb{{ item.version }}u1_amd64.changes + cmd: reprepro -Vb . --ignore=wrongdistribution include {{ cgrates_branch }}-{{ item.item.codename }} {{ item.files[0].path }} chdir: /var/packages/debian - with_items: "{{ distributions }}" + with_items: "{{ changes_files.results }}" when: cgrates_branch == 'master' or git_tag_result.stdout_lines | length > 0 - name: Copy the file to PKG server ansible.builtin.command: "scp /var/packages/debian/incoming/{{ item.path | basename }} {{ pkgAddr }}:/tmp/" with_items: "{{ package_files.files }}" + rescue: + - name: Find files in incoming directory + ansible.builtin.find: + paths: /var/packages/debian/incoming + file_type: file + register: debug_files + + - name: Display files + ansible.builtin.debug: + msg: "{{ debug_files.files | map(attribute='path') | list }}" + + - name: Fail with error + ansible.builtin.fail: + msg: "Task failed - see original error above" + always: - name: Clean the incoming folder become: true