From 66f779b8fabfd19eb0b57817d4ca6761eee5f88a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Vasseur?= Date: Wed, 3 Apr 2024 16:39:18 +0200 Subject: [PATCH] Improve find_github_artifact role --- deploy_artifact/defaults/main.yaml | 1 + find_github_artifact/tasks/main.yaml | 22 +++++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/deploy_artifact/defaults/main.yaml b/deploy_artifact/defaults/main.yaml index b48a9e1..4a05eed 100644 --- a/deploy_artifact/defaults/main.yaml +++ b/deploy_artifact/defaults/main.yaml @@ -1,4 +1,5 @@ --- +artifact_headers: {} artifact_url: ~ shared_paths: [] before_finalize: [] diff --git a/find_github_artifact/tasks/main.yaml b/find_github_artifact/tasks/main.yaml index 5317b90..3fd9045 100644 --- a/find_github_artifact/tasks/main.yaml +++ b/find_github_artifact/tasks/main.yaml @@ -6,6 +6,7 @@ accept: application/vnd.github+json authorization: Bearer {{ github_token }} x-github-api-version: '2022-11-28' + check_mode: false register: commits - name: Get commit @@ -19,13 +20,14 @@ accept: application/vnd.github+json authorization: Bearer {{ github_token }} x-github-api-version: '2022-11-28' + check_mode: false register: workflows - name: Get workflow ansible.builtin.set_fact: workflow: '{{ workflows.json | community.general.json_query(query) }}' vars: - query: 'workflows[?path==`.github/workflows/{{ workflow_name }}.yaml`] | [0]' + query: 'workflows[?path==`.github/workflows/{{ workflow_file }}`] | [0]' - name: Fetch runs ansible.builtin.uri: @@ -34,6 +36,7 @@ accept: application/vnd.github+json authorization: Bearer {{ github_token }} x-github-api-version: '2022-11-28' + check_mode: false register: runs - name: Get run @@ -47,16 +50,25 @@ accept: application/vnd.github+json authorization: Bearer {{ github_token }} x-github-api-version: '2022-11-28' + check_mode: false register: artifacts - name: Get artifact ansible.builtin.set_fact: artifact: '{{ artifacts.json.artifacts[0] }}' -- name: Set variables - ansible.builtin.set_fact: - artifact_url: '{{ artifact.archive_download_url }}' - artifact_headers: +- name: Get the download URL of the artifact + ansible.builtin.uri: + url: '{{ artifact.archive_download_url }}' + follow_redirects: no + headers: accept: application/vnd.github+json authorization: Bearer {{ github_token }} x-github-api-version: '2022-11-28' + status_code: + - 302 + register: artifact_download + +- name: Set variables + ansible.builtin.set_fact: + artifact_url: '{{ artifact_download.location }}'