Add charmcraft 3 support
Summary of changes: - Update the charmcraft.yaml file to use base and platforms, only allowing noble support. - Update config to default to caracal. - Update osci.yaml to use the charmcraft 3.x/beta - Drop non-noble tests - Update constraints file from -2024.1.txt to -noble.txt - Add charmbuild to .zuul.yaml - Add rename.sh to build process - Specify rustc-1.76 in charmcraft.yaml Change-Id: I97b1633cc3a874f6f4adf5f164007c3cc5cf8017
This commit is contained in:
@@ -2,3 +2,9 @@
|
||||
templates:
|
||||
- openstack-python3-charm-jobs
|
||||
- openstack-cover-jobs
|
||||
|
||||
check:
|
||||
jobs:
|
||||
- charmbuild
|
||||
vars:
|
||||
charm_build_name: octavia-diskimage-retrofit
|
||||
|
||||
@@ -14,9 +14,13 @@ parts:
|
||||
- libssl-dev
|
||||
- libxml2-dev
|
||||
- libxslt1-dev
|
||||
- rustc
|
||||
- cargo
|
||||
- rustc-1.76
|
||||
- cargo-1.76
|
||||
- pkg-config
|
||||
override-build: |
|
||||
# Note(mylesjp): Force build to use rustc-1.76
|
||||
ln -s /usr/bin/rustc-1.76 /usr/bin/rustc
|
||||
ln -s /usr/bin/cargo-1.76 /usr/bin/cargo
|
||||
source: src/
|
||||
build-snaps:
|
||||
- charm/latest/edge
|
||||
@@ -24,36 +28,17 @@ parts:
|
||||
- CHARM_INTERFACES_DIR: $CRAFT_PROJECT_DIR/interfaces/
|
||||
- CHARM_LAYERS_DIR: $CRAFT_PROJECT_DIR/layers/
|
||||
- CARGO_HTTP_MULTIPLEXING: "false"
|
||||
bases:
|
||||
- build-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [amd64]
|
||||
run-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [amd64]
|
||||
- build-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [s390x]
|
||||
run-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [s390x]
|
||||
- build-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [ppc64el]
|
||||
run-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [ppc64el]
|
||||
- build-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [arm64]
|
||||
run-on:
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [arm64]
|
||||
base: ubuntu@24.04
|
||||
platforms:
|
||||
amd64:
|
||||
build-on: amd64
|
||||
build-for: amd64
|
||||
arm64:
|
||||
build-on: arm64
|
||||
build-for: arm64
|
||||
ppc64el:
|
||||
build-on: ppc64el
|
||||
build-for: ppc64el
|
||||
s390x:
|
||||
build-on: s390x
|
||||
build-for: s390x
|
||||
|
||||
@@ -6,4 +6,4 @@
|
||||
needs_charm_build: true
|
||||
charm_build_name: octavia-diskimage-retrofit
|
||||
build_type: charmcraft
|
||||
charmcraft_channel: 2.x/stable
|
||||
charmcraft_channel: 3.x/stable
|
||||
|
||||
13
rename.sh
Executable file
13
rename.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
charm=$(grep "charm_build_name" osci.yaml | awk '{print $2}')
|
||||
echo "renaming ${charm}_*.charm to ${charm}.charm"
|
||||
echo -n "pwd: "
|
||||
pwd
|
||||
ls -al
|
||||
echo "Removing bad downloaded charm maybe?"
|
||||
if [[ -e "${charm}.charm" ]];
|
||||
then
|
||||
rm "${charm}.charm"
|
||||
fi
|
||||
echo "Renaming charm here."
|
||||
mv ${charm}_*.charm ${charm}.charm
|
||||
@@ -5,8 +5,6 @@ description: |
|
||||
Tool for retrofitting cloud image for use as Octavia Amphora
|
||||
tags:
|
||||
- openstack
|
||||
series:
|
||||
- jammy
|
||||
subordinate: true
|
||||
requires:
|
||||
juju-info:
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
variables:
|
||||
openstack-origin: &openstack-origin cloud:jammy-antelope
|
||||
|
||||
local_overlay_enabled: False
|
||||
|
||||
series: jammy
|
||||
|
||||
comment:
|
||||
- 'machines section to decide order of deployment. database sooner = faster'
|
||||
machines:
|
||||
'0':
|
||||
constraints: mem=3072M
|
||||
'1':
|
||||
constraints: mem=3072M
|
||||
'2':
|
||||
constraints: mem=3072M
|
||||
'3':
|
||||
'4':
|
||||
'5':
|
||||
|
||||
applications:
|
||||
|
||||
mysql-innodb-cluster:
|
||||
constraints: mem=3072M
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
to:
|
||||
- '0'
|
||||
- '1'
|
||||
- '2'
|
||||
channel: latest/edge
|
||||
|
||||
keystone-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: latest/edge
|
||||
glance-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: latest/edge
|
||||
|
||||
keystone:
|
||||
charm: ch:keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '3'
|
||||
channel: 2024.1/edge
|
||||
|
||||
glance:
|
||||
charm: ch:glance
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '4'
|
||||
channel: 2024.1/edge
|
||||
|
||||
glance-simplestreams-sync:
|
||||
charm: ch:glance-simplestreams-sync
|
||||
num_units: 1
|
||||
options:
|
||||
source: ppa:simplestreams-dev/trunk
|
||||
use_swift: False
|
||||
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/daily/',
|
||||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson',
|
||||
max: 1,
|
||||
item_filters: [
|
||||
'release~(jammy)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)'
|
||||
]
|
||||
}]"
|
||||
# NOTE(coreycb): Drop minimal mirror until https://pad.lv/1933966
|
||||
# is fixed.
|
||||
#
|
||||
# mirror_list: "[{url: 'http://cloud-images.ubuntu.com/daily/',
|
||||
# name_prefix: 'ubuntu:released',
|
||||
# path: 'streams/v1/index.sjson',
|
||||
# max: 1,
|
||||
# item_filters: [
|
||||
# 'release~(xenial|bionic|focal)',
|
||||
# 'arch~(x86_64|amd64)',
|
||||
# 'ftype~(disk1.img|disk.img)'
|
||||
# ]
|
||||
# },
|
||||
# {url: 'http://cloud-images.ubuntu.com/minimal/daily/',
|
||||
# name_prefix: 'ubuntu:released',
|
||||
# path: 'streams/v1/index.sjson',
|
||||
# max: 1,
|
||||
# item_filters: [
|
||||
# 'release~(xenial|bionic|focal)',
|
||||
# 'arch~(x86_64|amd64)',
|
||||
# 'ftype~(disk1.img|disk.img)'
|
||||
# ]
|
||||
# }]"
|
||||
to:
|
||||
- '5'
|
||||
channel: 2024.1/edge
|
||||
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ../../../octavia-diskimage-retrofit_ubuntu-22.04-amd64.charm
|
||||
options:
|
||||
retrofit-uca-pocket: antelope
|
||||
retrofit-series: jammy
|
||||
|
||||
relations:
|
||||
|
||||
- - 'glance-simplestreams-sync:juju-info'
|
||||
- 'octavia-diskimage-retrofit:juju-info'
|
||||
|
||||
- - 'keystone-mysql-router:shared-db'
|
||||
- 'keystone:shared-db'
|
||||
- - 'keystone-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
|
||||
- - 'glance-mysql-router:shared-db'
|
||||
- 'glance:shared-db'
|
||||
- - 'glance-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
|
||||
- - 'keystone:identity-service'
|
||||
- 'glance:identity-service'
|
||||
|
||||
- - 'keystone:identity-service'
|
||||
- 'glance-simplestreams-sync:identity-service'
|
||||
|
||||
- - 'keystone:identity-credentials'
|
||||
- 'octavia-diskimage-retrofit:identity-credentials'
|
||||
@@ -1,131 +0,0 @@
|
||||
variables:
|
||||
openstack-origin: &openstack-origin cloud:jammy-bobcat
|
||||
|
||||
local_overlay_enabled: False
|
||||
|
||||
series: jammy
|
||||
|
||||
comment:
|
||||
- 'machines section to decide order of deployment. database sooner = faster'
|
||||
machines:
|
||||
'0':
|
||||
constraints: mem=3072M
|
||||
'1':
|
||||
constraints: mem=3072M
|
||||
'2':
|
||||
constraints: mem=3072M
|
||||
'3':
|
||||
'4':
|
||||
'5':
|
||||
|
||||
applications:
|
||||
|
||||
mysql-innodb-cluster:
|
||||
constraints: mem=3072M
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
to:
|
||||
- '0'
|
||||
- '1'
|
||||
- '2'
|
||||
channel: latest/edge
|
||||
|
||||
keystone-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: latest/edge
|
||||
glance-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: latest/edge
|
||||
|
||||
keystone:
|
||||
charm: ch:keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '3'
|
||||
channel: 2024.1/edge
|
||||
|
||||
glance:
|
||||
charm: ch:glance
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '4'
|
||||
channel: 2024.1/edge
|
||||
|
||||
glance-simplestreams-sync:
|
||||
charm: ch:glance-simplestreams-sync
|
||||
num_units: 1
|
||||
options:
|
||||
source: ppa:simplestreams-dev/trunk
|
||||
use_swift: False
|
||||
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/daily/',
|
||||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson',
|
||||
max: 1,
|
||||
item_filters: [
|
||||
'release~(jammy)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)'
|
||||
]
|
||||
}]"
|
||||
# NOTE(coreycb): Drop minimal mirror until https://pad.lv/1933966
|
||||
# is fixed.
|
||||
#
|
||||
# mirror_list: "[{url: 'http://cloud-images.ubuntu.com/daily/',
|
||||
# name_prefix: 'ubuntu:released',
|
||||
# path: 'streams/v1/index.sjson',
|
||||
# max: 1,
|
||||
# item_filters: [
|
||||
# 'release~(xenial|bionic|focal)',
|
||||
# 'arch~(x86_64|amd64)',
|
||||
# 'ftype~(disk1.img|disk.img)'
|
||||
# ]
|
||||
# },
|
||||
# {url: 'http://cloud-images.ubuntu.com/minimal/daily/',
|
||||
# name_prefix: 'ubuntu:released',
|
||||
# path: 'streams/v1/index.sjson',
|
||||
# max: 1,
|
||||
# item_filters: [
|
||||
# 'release~(xenial|bionic|focal)',
|
||||
# 'arch~(x86_64|amd64)',
|
||||
# 'ftype~(disk1.img|disk.img)'
|
||||
# ]
|
||||
# }]"
|
||||
to:
|
||||
- '5'
|
||||
channel: 2024.1/edge
|
||||
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ../../../octavia-diskimage-retrofit_ubuntu-22.04-amd64.charm
|
||||
options:
|
||||
retrofit-uca-pocket: antelope
|
||||
retrofit-series: jammy
|
||||
|
||||
relations:
|
||||
|
||||
- - 'glance-simplestreams-sync:juju-info'
|
||||
- 'octavia-diskimage-retrofit:juju-info'
|
||||
|
||||
- - 'keystone-mysql-router:shared-db'
|
||||
- 'keystone:shared-db'
|
||||
- - 'keystone-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
|
||||
- - 'glance-mysql-router:shared-db'
|
||||
- 'glance:shared-db'
|
||||
- - 'glance-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
|
||||
- - 'keystone:identity-service'
|
||||
- 'glance:identity-service'
|
||||
|
||||
- - 'keystone:identity-service'
|
||||
- 'glance-simplestreams-sync:identity-service'
|
||||
|
||||
- - 'keystone:identity-credentials'
|
||||
- 'octavia-diskimage-retrofit:identity-credentials'
|
||||
@@ -1,131 +0,0 @@
|
||||
variables:
|
||||
openstack-origin: &openstack-origin cloud:jammy-caracal
|
||||
|
||||
local_overlay_enabled: False
|
||||
|
||||
series: jammy
|
||||
|
||||
comment:
|
||||
- 'machines section to decide order of deployment. database sooner = faster'
|
||||
machines:
|
||||
'0':
|
||||
constraints: mem=3072M
|
||||
'1':
|
||||
constraints: mem=3072M
|
||||
'2':
|
||||
constraints: mem=3072M
|
||||
'3':
|
||||
'4':
|
||||
'5':
|
||||
|
||||
applications:
|
||||
|
||||
mysql-innodb-cluster:
|
||||
constraints: mem=3072M
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
to:
|
||||
- '0'
|
||||
- '1'
|
||||
- '2'
|
||||
channel: latest/edge
|
||||
|
||||
keystone-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: latest/edge
|
||||
glance-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: latest/edge
|
||||
|
||||
keystone:
|
||||
charm: ch:keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '3'
|
||||
channel: 2024.1/edge
|
||||
|
||||
glance:
|
||||
charm: ch:glance
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '4'
|
||||
channel: 2024.1/edge
|
||||
|
||||
glance-simplestreams-sync:
|
||||
charm: ch:glance-simplestreams-sync
|
||||
num_units: 1
|
||||
options:
|
||||
source: ppa:simplestreams-dev/trunk
|
||||
use_swift: False
|
||||
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/daily/',
|
||||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson',
|
||||
max: 1,
|
||||
item_filters: [
|
||||
'release~(jammy)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)'
|
||||
]
|
||||
}]"
|
||||
# NOTE(coreycb): Drop minimal mirror until https://pad.lv/1933966
|
||||
# is fixed.
|
||||
#
|
||||
# mirror_list: "[{url: 'http://cloud-images.ubuntu.com/daily/',
|
||||
# name_prefix: 'ubuntu:released',
|
||||
# path: 'streams/v1/index.sjson',
|
||||
# max: 1,
|
||||
# item_filters: [
|
||||
# 'release~(xenial|bionic|focal)',
|
||||
# 'arch~(x86_64|amd64)',
|
||||
# 'ftype~(disk1.img|disk.img)'
|
||||
# ]
|
||||
# },
|
||||
# {url: 'http://cloud-images.ubuntu.com/minimal/daily/',
|
||||
# name_prefix: 'ubuntu:released',
|
||||
# path: 'streams/v1/index.sjson',
|
||||
# max: 1,
|
||||
# item_filters: [
|
||||
# 'release~(xenial|bionic|focal)',
|
||||
# 'arch~(x86_64|amd64)',
|
||||
# 'ftype~(disk1.img|disk.img)'
|
||||
# ]
|
||||
# }]"
|
||||
to:
|
||||
- '5'
|
||||
channel: 2024.1/edge
|
||||
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ../../../octavia-diskimage-retrofit_ubuntu-22.04-amd64.charm
|
||||
options:
|
||||
retrofit-uca-pocket: antelope
|
||||
retrofit-series: jammy
|
||||
|
||||
relations:
|
||||
|
||||
- - 'glance-simplestreams-sync:juju-info'
|
||||
- 'octavia-diskimage-retrofit:juju-info'
|
||||
|
||||
- - 'keystone-mysql-router:shared-db'
|
||||
- 'keystone:shared-db'
|
||||
- - 'keystone-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
|
||||
- - 'glance-mysql-router:shared-db'
|
||||
- 'glance:shared-db'
|
||||
- - 'glance-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
|
||||
- - 'keystone:identity-service'
|
||||
- 'glance:identity-service'
|
||||
|
||||
- - 'keystone:identity-service'
|
||||
- 'glance-simplestreams-sync:identity-service'
|
||||
|
||||
- - 'keystone:identity-credentials'
|
||||
- 'octavia-diskimage-retrofit:identity-credentials'
|
||||
@@ -46,7 +46,7 @@ applications:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '3'
|
||||
channel: 2024.1/edge
|
||||
channel: latest/edge
|
||||
|
||||
glance:
|
||||
charm: ch:glance
|
||||
@@ -55,7 +55,7 @@ applications:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '4'
|
||||
channel: 2024.1/edge
|
||||
channel: latest/edge
|
||||
|
||||
glance-simplestreams-sync:
|
||||
charm: ch:glance-simplestreams-sync
|
||||
@@ -98,10 +98,10 @@ applications:
|
||||
# }]"
|
||||
to:
|
||||
- '5'
|
||||
channel: 2024.1/edge
|
||||
channel: latest/edge
|
||||
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ../../../octavia-diskimage-retrofit_ubuntu-22.04-amd64.charm
|
||||
charm: ../../../octavia-diskimage-retrofit.charm
|
||||
options:
|
||||
retrofit-uca-pocket: antelope
|
||||
retrofit-series: jammy
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
charm_name: octavia-diskimage-retrofit
|
||||
|
||||
smoke_bundles:
|
||||
- jammy-caracal
|
||||
- noble-caracal
|
||||
gate_bundles:
|
||||
- jammy-antelope
|
||||
- jammy-bobcat
|
||||
- jammy-caracal
|
||||
- noble-caracal
|
||||
dev_bundles:
|
||||
- noble-caracal
|
||||
target_deploy_status:
|
||||
|
||||
@@ -26,7 +26,7 @@ passenv =
|
||||
OS_*
|
||||
TEST_*
|
||||
deps =
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:pep8]
|
||||
|
||||
10
tox.ini
10
tox.ini
@@ -33,6 +33,7 @@ allowlist_externals =
|
||||
charmcraft
|
||||
bash
|
||||
tox
|
||||
{toxinidir}/rename.sh
|
||||
deps =
|
||||
-r{toxinidir}/requirements.txt
|
||||
|
||||
@@ -45,6 +46,7 @@ basepython = python3
|
||||
commands =
|
||||
charmcraft clean
|
||||
charmcraft -v pack
|
||||
{toxinidir}/rename.sh
|
||||
charmcraft clean
|
||||
|
||||
[testenv:build-reactive]
|
||||
@@ -60,21 +62,21 @@ commands =
|
||||
[testenv:py3]
|
||||
basepython = python3
|
||||
deps =
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
commands = stestr run --slowest {posargs}
|
||||
|
||||
[testenv:py312]
|
||||
basepython = python3.12
|
||||
deps =
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
commands = stestr run --slowest {posargs}
|
||||
|
||||
[testenv:py310]
|
||||
basepython = python3.10
|
||||
deps =
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
commands = stestr run --slowest {posargs}
|
||||
|
||||
@@ -89,7 +91,7 @@ commands = flake8 {posargs} src unit_tests
|
||||
# https://github.com/openstack/nova/blob/master/tox.ini
|
||||
basepython = python3
|
||||
deps =
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
||||
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-noble.txt}
|
||||
-r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
setenv =
|
||||
|
||||
Reference in New Issue
Block a user