Ian Wienand ec09127ca3 install-javascript-packages: add tox_constraints_file
I can't exactly say why, but the horizon postinstall in package.json
runs "tox -e npm" [1].  This then installs from requirements [2].

The requirements gate run a cross-horizon-npm job that ends up calling
this.  The short story is that if you modify upper-constraints.txt in
a requirements change, it is not picked up by this job.

Add tox_constraints_file to this job, so we can set the path to the
zuul checked-out version for the test.

[1] e515713084/package.json (L22)
[2] e515713084/tox.ini (L23)

Needed-By: https://review.opendev.org/709389
Change-Id: Ia7dd5af19b42c2ab53dfb70f92e184b0dc215d03
2020-02-24 19:24:15 +11:00

45 lines
1.2 KiB
YAML

- name: Check to see if the constraints file exists
stat:
path: "{{ tox_constraints_file }}"
get_checksum: false
get_mime: false
get_md5: false
register: stat_results
when: tox_constraints_file is defined
- name: Fail if constraints file is missing
when: tox_constraints_file is defined and not stat_results.stat.exists
fail:
msg: tox_constraints_file is defined but was not found
- name: Record file location
set_fact:
tox_constraints_env:
TOX_CONSTRAINTS_FILE: "{{ tox_constraints_file }}"
# Backward compatibility, to be removed
UPPER_CONSTRAINTS_FILE: "{{ tox_constraints_file }}"
when: tox_constraints_file is defined
- name: Check for yarn.lock file
stat:
path: "{{ zuul_work_dir }}/yarn.lock"
get_checksum: false
get_mime: false
get_md5: false
register: yarn_lock
- name: Install yarn dependencies
command: yarn install
environment:
DISPLAY: ':99'
args:
chdir: "{{ zuul_work_dir }}"
when: yarn_lock.stat.exists
- name: Install npm dependencies
command: npm install --verbose
environment: "{{ npm_environment|combine(tox_constraints_env|default({})) }}"
args:
chdir: "{{ zuul_work_dir }}"
when: not yarn_lock.stat.exists