From e96c1add7530d9a79ec39ae732dc9c6018cce8f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20G=C3=A9rczei?= Date: Thu, 2 Apr 2020 10:36:58 +0200 Subject: [PATCH] package version is now an optional input [closes #1] --- alpine-image.yaml | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/alpine-image.yaml b/alpine-image.yaml index 7b5c2e1..63bc3b0 100644 --- a/alpine-image.yaml +++ b/alpine-image.yaml @@ -19,17 +19,33 @@ - name: package_name prompt: Please specify package name private: no + - name: package_version + prompt: Please specify package version + private: no tasks: - name: sanity check assert: that: package_name | length > 0 fail_msg: no package name provided - - name: obtain package information - uri: - url: "https://pkgs.alpinelinux.org/packages?name={{ package_name }}&branch=v{{ alpine_version.split('.')[0:2] | join('.') }}&arch=x86_64" - return_content: yes - register: pkg_query + - name: obtain package version + block: + - name: obtain package information + uri: + url: "https://pkgs.alpinelinux.org/packages?name={{ package_name }}&branch=v{{ alpine_version.split('.')[0:2] | join('.') }}&arch=x86_64" + return_content: yes + register: pkg_query + + - name: extract package version + set_fact: + package_version: "{{ package_info.Version }}" + vars: + response_lines: "{{ ( pkg_query.content | trim ).split('\n') }}" + info_titles: "{{ response_lines | select('search', '') | map('regex_replace', '(.*)', '\\1') | map('trim') | list }}" + info_values: "{{ response_lines | select('search', '') | map('regex_replace', '(.*)', '\\2')| map('trim') | list }}" + package_info: "{{ dict(info_titles | zip(info_values)) }}" + + when: package_version | length == 0 - name: configure image version replace: @@ -43,8 +59,3 @@ path: "{{ lookup('env', 'HOME') }}/alpine-{{ package_name }}/" vars: ecr_registry: "{{ aws_account }}.dkr.ecr.{{ aws_region }}.amazonaws.com" - response_lines: "{{ ( pkg_query.content | trim ).split('\n') }}" - info_titles: "{{ response_lines | select('search', '') | map('regex_replace', '(.*)', '\\1') | map('trim') | list }}" - info_values: "{{ response_lines | select('search', '') | map('regex_replace', '(.*)', '\\2')| map('trim') | list }}" - package_info: "{{ dict(info_titles | zip(info_values)) }}" - package_version: "{{ package_info.Version }}"