mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-12 22:25:44 -04:00
more ansible playbooks improvements
Some checks failed
CodeQL / Analyze (python) (push) Has been cancelled
Build Debian package / build (push) Has been cancelled
Build Docker image / buildx (push) Has been cancelled
Build Homebrew package / build (push) Has been cancelled
Build GitHub Pages website / build (push) Has been cancelled
Run linters / lint (push) Has been cancelled
Build Pip package / build (push) Has been cancelled
Run tests / python_tests (ubuntu-22.04, 3.11) (push) Has been cancelled
Run tests / docker_tests (push) Has been cancelled
Build GitHub Pages website / deploy (push) Has been cancelled
Some checks failed
CodeQL / Analyze (python) (push) Has been cancelled
Build Debian package / build (push) Has been cancelled
Build Docker image / buildx (push) Has been cancelled
Build Homebrew package / build (push) Has been cancelled
Build GitHub Pages website / build (push) Has been cancelled
Run linters / lint (push) Has been cancelled
Build Pip package / build (push) Has been cancelled
Run tests / python_tests (ubuntu-22.04, 3.11) (push) Has been cancelled
Run tests / docker_tests (push) Has been cancelled
Build GitHub Pages website / deploy (push) Has been cancelled
This commit is contained in:
parent
8557e77a70
commit
56b851ea1b
7 changed files with 111 additions and 101 deletions
8
archivebox/playbooks/install_all.yml
Normal file
8
archivebox/playbooks/install_all.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
- import_playbook: install_ytdlp.yml
|
||||||
|
vars:
|
||||||
|
state: 'latest'
|
||||||
|
|
||||||
|
- import_playbook: install_singlefile.yml
|
||||||
|
vars:
|
||||||
|
state: 'latest'
|
|
@ -1,4 +1,21 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
|
- import_playbook: install_package.yml
|
||||||
|
vars:
|
||||||
|
state: 'latest'
|
||||||
|
install_packages:
|
||||||
|
node:
|
||||||
|
bin_name: 'node'
|
||||||
|
packages: ['node']
|
||||||
|
when: BINARIES.node is not defined
|
||||||
|
|
||||||
|
- import_playbook: load_binaries.yml
|
||||||
|
vars:
|
||||||
|
load_binaries:
|
||||||
|
node: {bin_name: 'node', version_cmd: 'node --version'}
|
||||||
|
npm: {bin_name: 'npm', version_cmd: 'npm --version'}
|
||||||
|
when: BINARIES.npm is not defined
|
||||||
|
|
||||||
- name: "Install node, npm, and npx"
|
- name: "Install node, npm, and npx"
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
|
@ -11,7 +28,7 @@
|
||||||
MIN_NODE_VERSION: '22.7.0'
|
MIN_NODE_VERSION: '22.7.0'
|
||||||
MIN_NPM_VERSION: '10.8.3'
|
MIN_NPM_VERSION: '10.8.3'
|
||||||
state: 'latest'
|
state: 'latest'
|
||||||
packages: []
|
install_npm: {}
|
||||||
tasks:
|
tasks:
|
||||||
# - package: update_cache=yes
|
# - package: update_cache=yes
|
||||||
# when: ansible_facts['os_family'] == "Debian"
|
# when: ansible_facts['os_family'] == "Debian"
|
||||||
|
@ -24,71 +41,39 @@
|
||||||
loop:
|
loop:
|
||||||
- '{{LIB_DIR_NPM_BIN}}'
|
- '{{LIB_DIR_NPM_BIN}}'
|
||||||
- '{{LIB_DIR_BIN}}'
|
- '{{LIB_DIR_BIN}}'
|
||||||
|
when: BINPROVIDERS.npm is not defined
|
||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
- name: "Install npm on system: [node, npm]"
|
|
||||||
ansible.builtin.package:
|
|
||||||
name: node
|
|
||||||
state: "{{state}}"
|
|
||||||
|
|
||||||
- name: "Install npm packages: {{packages}}"
|
- name: Check that installed Node version matches expected version
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- BINARIES.node.version is version(MIN_NODE_VERSION, '<=')
|
||||||
|
- BINARIES.npm.version is version(MIN_NPM_VERSION, '<=')
|
||||||
|
quiet: true
|
||||||
|
when: BINPROVIDERS.npm is not defined
|
||||||
|
|
||||||
|
- name: "Install npm packages: {{install_npm}}"
|
||||||
community.general.npm:
|
community.general.npm:
|
||||||
name: '{{item}}'
|
name: '{{item}}'
|
||||||
state: "{{state}}"
|
state: "{{state}}"
|
||||||
path: '{{LIB_DIR_NPM}}'
|
path: '{{LIB_DIR_NPM}}'
|
||||||
loop: '{{packages}}'
|
loop: "{{install_npm|dictsort|map(attribute='1')|map(attribute='packages')|flatten}}"
|
||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
- name: Get installed node abspath
|
|
||||||
command: 'which node'
|
|
||||||
register: NODE_ABSPATH_FULL
|
|
||||||
changed_when: False
|
|
||||||
|
|
||||||
- name: Get installed node version
|
|
||||||
command: 'node --version'
|
|
||||||
register: NODE_VERSION_FULL
|
|
||||||
changed_when: False
|
|
||||||
|
|
||||||
- name: Get installed npm abspath
|
|
||||||
command: 'which npm'
|
|
||||||
register: NPM_ABSPATH_FULL
|
|
||||||
changed_when: False
|
|
||||||
|
|
||||||
- name: Get installed npm version
|
|
||||||
command: 'npm --version'
|
|
||||||
register: NPM_VERSION_FULL
|
|
||||||
changed_when: False
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
NODE_ABSPATH: "{{NODE_ABSPATH_FULL.stdout_lines|first}}"
|
|
||||||
NODE_VERSION: "{{NODE_VERSION_FULL.stdout_lines|first|regex_replace('^.*?v?([\\d\\.]+).*$', '\\1')}}"
|
|
||||||
NPM_ABSPATH: "{{NPM_ABSPATH_FULL.stdout_lines|first}}"
|
|
||||||
NPM_VERSION: "{{NPM_VERSION_FULL.stdout_lines|first|regex_replace('^.*?v?([\\d\\.]+).*$', '\\1')}}"
|
|
||||||
|
|
||||||
- name: Check that installed Chrome matches expected version
|
|
||||||
assert:
|
|
||||||
that:
|
|
||||||
- NODE_VERSION is version(MIN_NODE_VERSION, '<=')
|
|
||||||
- NPM_VERSION is version(MIN_NPM_VERSION, '<=')
|
|
||||||
quiet: true
|
|
||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
- set_fact:
|
- set_fact:
|
||||||
NODE_BINARIES:
|
|
||||||
node:
|
|
||||||
abspath: "{{NODE_ABSPATH}}"
|
|
||||||
version: "{{NODE_VERSION}}"
|
|
||||||
npm:
|
|
||||||
abspath: "{{NPM_ABSPATH}}"
|
|
||||||
version: "{{NPM_VERSION}}"
|
|
||||||
NODE_BINPROVIDERS:
|
NODE_BINPROVIDERS:
|
||||||
npm:
|
npm:
|
||||||
installer_abspath: "{{NPM_ABSPATH}}"
|
installer_abspath: "{{BINARIES.npm.abspath}}"
|
||||||
installer_version: "{{NPM_VERSION}}"
|
installer_version: "{{BINARIES.npm.version}}"
|
||||||
PATH: "{{LIB_DIR_NPM_BIN}}"
|
PATH: "{{LIB_DIR_NPM_BIN}}"
|
||||||
|
when: BINPROVIDERS.npm is not defined
|
||||||
- set_fact:
|
- set_fact:
|
||||||
BINARIES: "{{ BINARIES | default({}) | combine(NODE_BINARIES) }}"
|
|
||||||
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(NODE_BINPROVIDERS) }}"
|
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(NODE_BINPROVIDERS) }}"
|
||||||
|
when: BINPROVIDERS.npm is not defined
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
||||||
|
|
|
@ -7,14 +7,12 @@
|
||||||
LIB_DIR: '{{DATA_DIR}}/lib'
|
LIB_DIR: '{{DATA_DIR}}/lib'
|
||||||
LIB_DIR_BIN: '{{LIB_DIR}}/bin'
|
LIB_DIR_BIN: '{{LIB_DIR}}/bin'
|
||||||
state: 'latest'
|
state: 'latest'
|
||||||
install_packages:
|
install_packages: {}
|
||||||
bash:
|
# bash:
|
||||||
packages: ['bash']
|
# packages: ['bash']
|
||||||
# curl: ['curl']
|
|
||||||
# wget: ['wget']
|
|
||||||
# git: ['git']
|
|
||||||
PACKAGE_BINPROVIDERS: {}
|
PACKAGE_BINPROVIDERS: {}
|
||||||
PACKAGE_BINARIES: {}
|
PACKAGE_BINARIES: {}
|
||||||
|
BINPROVIDERS: {}
|
||||||
tasks:
|
tasks:
|
||||||
# - package: update_cache=yes
|
# - package: update_cache=yes
|
||||||
# when: ansible_facts['os_family'] == "Debian"
|
# when: ansible_facts['os_family'] == "Debian"
|
||||||
|
@ -24,13 +22,16 @@
|
||||||
path: '{{LIB_DIR_BIN}}'
|
path: '{{LIB_DIR_BIN}}'
|
||||||
state: directory
|
state: directory
|
||||||
recurse: true
|
recurse: true
|
||||||
|
when: BINPROVIDERS.ansible_package is not defined
|
||||||
|
|
||||||
- name: Get ansible binary abspath
|
- name: Get ansible binary abspath
|
||||||
command: 'which ansible'
|
command: 'which ansible'
|
||||||
register: ANSIBLE_INSTALLER_ABSPATH_FULL
|
register: ANSIBLE_INSTALLER_ABSPATH_FULL
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
when: BINPROVIDERS.ansible_package is not defined
|
||||||
|
|
||||||
- set_fact:
|
- name: Calculate flat list of all packages to install
|
||||||
|
set_fact:
|
||||||
all_packages: "{{install_packages|dictsort|map(attribute='1')|map(attribute='packages')|flatten|unique}}"
|
all_packages: "{{install_packages|dictsort|map(attribute='1')|map(attribute='packages')|flatten|unique}}"
|
||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
|
@ -48,10 +49,12 @@
|
||||||
ansible_package:
|
ansible_package:
|
||||||
installer_abspath: "{{ANSIBLE_INSTALLER_ABSPATH_FULL.stdout}}"
|
installer_abspath: "{{ANSIBLE_INSTALLER_ABSPATH_FULL.stdout}}"
|
||||||
installer_version: "{{ansible_version.full}}"
|
installer_version: "{{ansible_version.full}}"
|
||||||
PATH: "{{ LIB_DIR_BIN }}"
|
PATH: "/opt/homebrew/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||||
|
when: BINPROVIDERS.ansible_package is not defined
|
||||||
|
|
||||||
- set_fact:
|
- set_fact:
|
||||||
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(PACKAGE_BINPROVIDERS) }}"
|
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(PACKAGE_BINPROVIDERS) }}"
|
||||||
|
when: BINPROVIDERS.ansible_package is not defined
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
msg: "{{ {'BINPROVIDERS': BINPROVIDERS} }}"
|
msg: "{{ {'BINPROVIDERS': BINPROVIDERS} }}"
|
||||||
|
@ -61,3 +64,4 @@
|
||||||
vars:
|
vars:
|
||||||
load_binaries:
|
load_binaries:
|
||||||
bash:
|
bash:
|
||||||
|
when: BINARIES.bash is not defined
|
||||||
|
|
|
@ -41,19 +41,16 @@
|
||||||
loop:
|
loop:
|
||||||
- '{{LIB_DIR_PIP}}'
|
- '{{LIB_DIR_PIP}}'
|
||||||
- '{{LIB_DIR_BIN}}'
|
- '{{LIB_DIR_BIN}}'
|
||||||
|
when: BINPROVIDERS.pip is not defined
|
||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
|
|
||||||
- debug:
|
|
||||||
msg:
|
|
||||||
- "{{BINARIES.python}}"
|
|
||||||
- "{{BINARIES.pip}}"
|
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- BINARIES.python.version is version(MIN_PYTHON_VERSION, '<=')
|
- BINARIES.python.version is version(MIN_PYTHON_VERSION, '<=')
|
||||||
- BINARIES.pip.version is version(MIN_PIP_VERSION, '<=')
|
- BINARIES.pip.version is version(MIN_PIP_VERSION, '<=')
|
||||||
quiet: true
|
quiet: true
|
||||||
|
when: BINPROVIDERS.pip is not defined
|
||||||
|
|
||||||
- name: "Install pip packages: {{install_pip}}"
|
- name: "Install pip packages: {{install_pip}}"
|
||||||
ansible.builtin.pip:
|
ansible.builtin.pip:
|
||||||
|
@ -72,13 +69,10 @@
|
||||||
installer_abspath: "{{BINARIES.pip.abspath}}"
|
installer_abspath: "{{BINARIES.pip.abspath}}"
|
||||||
installer_version: "{{BINARIES.pip.version}}"
|
installer_version: "{{BINARIES.pip.version}}"
|
||||||
PATH: "{{LIB_DIR_PIP_BIN}}"
|
PATH: "{{LIB_DIR_PIP_BIN}}"
|
||||||
|
when: BINPROVIDERS.pip is not defined
|
||||||
- set_fact:
|
- set_fact:
|
||||||
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(PIP_BINPROVIDERS) }}"
|
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(PIP_BINPROVIDERS) }}"
|
||||||
|
when: BINPROVIDERS.pip is not defined
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
||||||
|
|
||||||
- import_playbook: load_binaries.yml
|
|
||||||
vars:
|
|
||||||
load_binaries:
|
|
||||||
bash:
|
|
||||||
|
|
|
@ -1,35 +1,34 @@
|
||||||
---
|
---
|
||||||
- name: Install node and single-file-cli
|
|
||||||
|
- import_playbook: install_npm.yml
|
||||||
|
vars:
|
||||||
|
install_npm:
|
||||||
|
singlefile: {packages: ['single-file-cli@1.1.54']}
|
||||||
|
state: 'present'
|
||||||
|
|
||||||
|
- import_playbook: load_binaries.yml
|
||||||
|
vars:
|
||||||
|
load_binaries:
|
||||||
|
singlefile: {bin_name: 'single-file', version_cmd: 'single-file --version', PATH: '{{BINPROVIDERS.npm.PATH}}'}
|
||||||
|
|
||||||
|
|
||||||
|
- name: "Install Singlefile"
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
vars:
|
vars:
|
||||||
DATA_DIR: '/Volumes/NVME/Users/squash/Code/archiveboxes/archivebox7/data4'
|
SINGLEFILE_VERSION_EXACT: '1.1.54'
|
||||||
NPM_BIN_DIR: '{{DATA_DIR}}/node_modules/.bin'
|
|
||||||
MIN_BIN_VERSION: '1.1.54'
|
|
||||||
tasks:
|
tasks:
|
||||||
# - package: update_cache=yes
|
- name: Make sure Node and NPM are installed
|
||||||
# when: ansible_facts['os_family'] == "Debian"
|
assert:
|
||||||
|
that:
|
||||||
|
- BINARIES.node.version
|
||||||
|
- BINARIES.npm.version
|
||||||
|
quiet: true
|
||||||
|
|
||||||
- ansible.builtin.package:
|
- name: Check that installed Singlefile version matches expected version
|
||||||
name: node
|
assert:
|
||||||
state: present
|
that: SINGLEFILE_VERSION_EXACT is version(BINARIES.singlefile.version, '==')
|
||||||
|
quiet: true
|
||||||
- community.general.npm:
|
|
||||||
name: 'single-file-cli'
|
|
||||||
version: '{{ MIN_BIN_VERSION }}'
|
|
||||||
path: '{{ NPM_BIN_DIR }}/../..'
|
|
||||||
|
|
||||||
- command: '{{ NPM_BIN_DIR }}/single-file --version'
|
|
||||||
register: BIN_VERSION_FULL
|
|
||||||
changed_when: False
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
BIN_VERSION: "{{ BIN_VERSION_FULL.stdout_lines|first }}"
|
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
msg:
|
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
||||||
- "BIN_ABSPATH={{ NPM_BIN_DIR }}/single-file"
|
|
||||||
- "BIN_VERSION={{ BIN_VERSION }}"
|
|
||||||
|
|
||||||
- assert:
|
|
||||||
that: BIN_VERSION is version(MIN_BIN_VERSION, '==', version_type='semver')
|
|
||||||
|
|
|
@ -37,3 +37,6 @@
|
||||||
assert:
|
assert:
|
||||||
that: YTDLP_VERSION_MIN is version(BINARIES.ytdlp.version, '>=')
|
that: YTDLP_VERSION_MIN is version(BINARIES.ytdlp.version, '>=')
|
||||||
quiet: true
|
quiet: true
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
||||||
|
|
|
@ -6,18 +6,20 @@
|
||||||
DATA_DIR: '/Volumes/NVME/Users/squash/Code/archiveboxes/archivebox7/data4'
|
DATA_DIR: '/Volumes/NVME/Users/squash/Code/archiveboxes/archivebox7/data4'
|
||||||
LIB_DIR: '{{DATA_DIR}}/lib'
|
LIB_DIR: '{{DATA_DIR}}/lib'
|
||||||
LIB_DIR_BIN: '{{LIB_DIR}}/bin'
|
LIB_DIR_BIN: '{{LIB_DIR}}/bin'
|
||||||
|
DEFAULT_PATH: '/bin'
|
||||||
load_binaries:
|
load_binaries:
|
||||||
bash:
|
bash:
|
||||||
bin_name: bash
|
bin_name: bash
|
||||||
version_cmd: 'bash --version'
|
version_cmd: 'bash --version'
|
||||||
# ffmpeg:
|
# ffmpeg:
|
||||||
# version_cmd: 'ffmpeg -version'
|
# version_cmd: 'ffmpeg -version'
|
||||||
|
# PATH: '/opt/homebrew/bin:/usr/local/bin'
|
||||||
# ytdlp:
|
# ytdlp:
|
||||||
# bin_name: ytdlp
|
# bin_name: ytdlp
|
||||||
# curl:
|
# curl:
|
||||||
# wget:
|
# wget:
|
||||||
# bin_name: wget
|
# bin_name: wget
|
||||||
# version_cmd: 'wget --version'
|
# version_cmd: 'wget --version']
|
||||||
tasks:
|
tasks:
|
||||||
- name: Make sure lib folders exist
|
- name: Make sure lib folders exist
|
||||||
file:
|
file:
|
||||||
|
@ -27,14 +29,14 @@
|
||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
- name: Get installed binary abspath
|
- name: Get installed binary abspath
|
||||||
command: "which {{item.1.bin_name|default(item.0)}}"
|
command: 'env PATH="{{item.1.PATH|default(DEFAULT_PATH)}}:$PATH" which {{item.1.bin_name|default(item.0)}}'
|
||||||
register: ABSPATHS_FULL
|
register: ABSPATHS_FULL
|
||||||
changed_when: false
|
changed_when: false
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
loop: "{{load_binaries|dictsort}}"
|
loop: "{{load_binaries|dictsort}}"
|
||||||
|
|
||||||
- name: Get installed binary version
|
- name: Get installed binary version
|
||||||
command: "{{item.1.version_cmd|default((item.1.bin_name|default(item.0)) + ' --version')}}"
|
command: 'env PATH="{{item.1.PATH|default(DEFAULT_PATH)}}:$PATH" {{item.1.version_cmd|default((item.1.bin_name|default(item.0)) + " --version")}}'
|
||||||
register: VERSIONS_FULL
|
register: VERSIONS_FULL
|
||||||
changed_when: false
|
changed_when: false
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
@ -47,22 +49,37 @@
|
||||||
state: link
|
state: link
|
||||||
loop: "{{ABSPATHS_FULL.results|map(attribute='stdout_lines')|map('first')}}"
|
loop: "{{ABSPATHS_FULL.results|map(attribute='stdout_lines')|map('first')}}"
|
||||||
|
|
||||||
- set_fact:
|
- name: Collecting abspath results
|
||||||
|
set_fact:
|
||||||
BINARY_ABSPATHS: "{{ BINARY_ABSPATHS | default({}) | combine({item.0: item.1}) }}"
|
BINARY_ABSPATHS: "{{ BINARY_ABSPATHS | default({}) | combine({item.0: item.1}) }}"
|
||||||
loop: "{{ keys | zip(values) }}"
|
loop: "{{ keys | zip(values) }}"
|
||||||
vars:
|
vars:
|
||||||
keys: "{{load_binaries|dictsort|map(attribute='0')}}"
|
keys: "{{load_binaries|dictsort|map(attribute='0')}}"
|
||||||
values: "{{ABSPATHS_FULL.results|map(attribute='stdout_lines')|map('first')}}"
|
values: "{{ABSPATHS_FULL.results|map(attribute='stdout_lines')|map('first')}}"
|
||||||
|
|
||||||
- set_fact:
|
- name: Collecting version results
|
||||||
|
set_fact:
|
||||||
BINARY_VERSIONS: "{{ BINARY_VERSIONS | default({}) | combine({item.0: item.1}) }}"
|
BINARY_VERSIONS: "{{ BINARY_VERSIONS | default({}) | combine({item.0: item.1}) }}"
|
||||||
loop: "{{ keys | zip(values) }}"
|
loop: "{{ keys | zip(values) }}"
|
||||||
vars:
|
vars:
|
||||||
keys: "{{load_binaries|dictsort|map(attribute='0')}}"
|
keys: "{{load_binaries|dictsort|map(attribute='0')}}"
|
||||||
values: "{{VERSIONS_FULL.results|map(attribute='stdout_lines')|map('first')|map('regex_replace', '^.*?v?([\\d\\.]+).*$', '\\1')}}"
|
values: "{{VERSIONS_FULL.results|map(attribute='stdout_lines')|map('first')|map('regex_replace', '^.*?v?([\\d\\.]+).*$', '\\1')}}"
|
||||||
|
|
||||||
- set_fact:
|
- name: Updating BINARIES with loaded abspaths & versions
|
||||||
BINARIES: "{{ BINARIES | default({}) | combine({item: { 'abspath': BINARY_ABSPATHS[item], 'version': BINARY_VERSIONS[item] }}) }}"
|
set_fact:
|
||||||
|
BINARIES: "{{
|
||||||
|
BINARIES
|
||||||
|
| default({})
|
||||||
|
| combine({
|
||||||
|
item: load_binaries[item]|combine({
|
||||||
|
'bin_name': BINARY_ABSPATHS[item]|basename,
|
||||||
|
'abspath': BINARY_ABSPATHS[item],
|
||||||
|
'version': BINARY_VERSIONS[item],
|
||||||
|
'symlink': LIB_DIR_BIN + '/' + BINARY_ABSPATHS[item]|basename,
|
||||||
|
'version_cmd': load_binaries[item]['version_cmd']|default(item + ' --version'),
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
}}"
|
||||||
loop: "{{load_binaries|dictsort|map(attribute='0')}}"
|
loop: "{{load_binaries|dictsort|map(attribute='0')}}"
|
||||||
|
|
||||||
###################################################################################
|
###################################################################################
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue