/
_inc_node_version.yml
62 lines (50 loc) · 2.23 KB
/
_inc_node_version.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
---
# Determine preferred Node.js version
# Galaxy 18.09 and older prefer 9.11.1
# Galaxy 19.01 prefers 10.13.0
# Galaxy 19.05 and newer provide client/.node_version
- name: Determine preferred Node.js version
block:
- name: Collect Galaxy Node.js version file
slurp:
src: "{{ galaxy_server_dir }}/client/.node_version"
register: __galaxy_node_version_file
- name: Set Galaxy Node.js version fact
set_fact:
galaxy_node_version: "{{ __galaxy_node_version_file['content'] | b64decode | trim }}"
# if the client build is being executed independently, nodeenv may not be already installed.
# If so, setup a virtualenv with nodeenv installed.
- name: Check whether nodeenv is available
stat:
path: "{{ galaxy_venv_dir }}/bin/nodeenv"
register: nodeenv_availability
- name: Setup nodeenv if required
block:
- name: Include virtualenv setup tasks
import_tasks: virtualenv.yml
- name: Install nodeenv if it doesn't exist
pip:
name: nodeenv
virtualenv: "{{ galaxy_venv_dir }}"
extra_args: "{{ pip_extra_args | default('') }}"
virtualenv_command: "{{ galaxy_virtualenv_command | default(pip_virtualenv_command | default(omit)) }}"
virtualenv_python: "{{ galaxy_virtualenv_python | default(omit) }}"
environment:
VIRTUAL_ENV: "{{ galaxy_venv_dir }}"
when: not nodeenv_availability.stat.exists
rescue:
- name: Ensure Galaxy version is set
include_tasks: _inc_galaxy_version.yml
when: __galaxy_major_version is undefined
- name: Sanity check whether .node_version should be present
assert:
that:
- __galaxy_major_version is version('19.09', '<')
fail_msg: "Galaxy version {{ __galaxy_major_version }} >= 19.09 but client/.node_version file missing!"
success_msg: "Galaxy version {{ __galaxy_major_version }} < 19.09, will use hardcoded Node.js version default"
- name: Set Galaxy Node.js version fact
set_fact:
galaxy_node_version: "{{ '9.11.1' if (__galaxy_major_version is version('19.01', '<')) else '10.13.0' }}"
- name: Report preferred Node.js version
debug:
var: galaxy_node_version