zuul-jobs/test-playbooks/ensure-nox.yaml
Clark Boylan 298354d2e3 Ombibus set of fixups for Ubuntu Noble
There are a number of updates we make for Ubuntu Noble in this commit.

1. Remove python2-dev from bindep for Noble as Noble appears to have no
   python2 runtime options.
2. Add libjpeg-dev to bindep for noble because Pillow doesn't build
   python3.12 wheels for Pillow<10 which we currently depend on. This
   means we need to build from source and that depends on libjpeg-dev.
3. We remove double bracket wrappers from ansible vars in ansible
   assertion blocks. Having them results in errors like:
     Conditional is marked as unsafe, and cannot be evaluated.
4. We update rust testing to explicitly install pkg-config before
   building python cryptography. This tool is required to build
   cryptography from source and is no longer being pulled in either
   by the base images or build-essential meta pacakge.
5. Add an Ubuntu-24.04 tasks file for the ensure-skopeo roles so that
   we try to install skopeo using distro packages or build from source
   and don't use Kubic which only has packages for old Ubuntu releases.

Change-Id: I388710ce40dc757ada4de819a9c3c59fc32fb07a
2024-05-23 10:54:36 -07:00

52 lines
1.6 KiB
YAML

- hosts: all
name: Remove any pre-installed nox
tasks:
- name: Remove nox package with pip
command: pip uninstall -y nox
become: true
failed_when: false
- name: Remove nox package with pip3
command: pip3 uninstall -y nox
become: true
failed_when: false
- name: Verify nox is not installed
command: "nox --version"
register: result
failed_when: result.rc == 0
- hosts: all
name: Test ensure-nox installs into user environment
tasks:
- name: Verify nox is not installed
command: "nox --version"
register: result
failed_when: result.rc == 0
- name: Run ensure-nox with nox not installed
include_role:
name: ensure-nox
- name: Verify nox_executable is set
assert:
that:
- nox_executable == ansible_user_dir + '/.local/nox/bin/nox'
- name: Verify nox is installed
command: "{{ nox_executable }} --version"
register: result
failed_when: result.rc != 0
- hosts: all
name: Test ensure-nox when nox_executable is set to an already installed nox
tasks:
- name: Create a virtualenv
command: '{{ ensure_pip_virtualenv_command }} {{ ansible_user_dir }}/nox-venv'
- name: Install nox to local venv
command: '{{ ansible_user_dir }}/nox-venv/bin/pip install nox'
- name: Run ensure-nox pointing to an already installed nox
include_role:
name: ensure-nox
vars:
nox_executable: "{{ ansible_user_dir }}/nox-venv/bin/nox"
- name: Verify nox_executable is set to the virtualenv nox
assert:
that:
- nox_executable == ansible_user_dir + '/nox-venv/bin/nox'