Allow external commands in tox and use non-master branches on older releases

Co-Authored-By: Ghanshyam Mann <gmann@ghanshyammann.com>

Change-Id: I76e0fc0e574d791e8f4d83ccc22289fa06360709
(cherry picked from commit 94c150b2e7)
This commit is contained in:
Jakob Meng
2022-12-09 13:23:35 +01:00
parent 1b03f918ac
commit 84160f6f78
4 changed files with 26 additions and 14 deletions

View File

@@ -140,9 +140,9 @@
required-projects: required-projects:
- name: github.com/ansible/ansible - name: github.com/ansible/ansible
override-checkout: stable-2.9 override-checkout: stable-2.9
- # Choose parent devstack job from master branch instead of non-existing stable/1.0.0 branch - # Choose parent devstack job from stable/yoga branch instead of non-existing stable/1.0.0 branch
name: openstack/devstack name: openstack/devstack
override-checkout: master override-checkout: stable/yoga
- name: openstack/openstacksdk - name: openstack/openstacksdk
# Yoga has the latest SDK release of the 0.*.* series atm # Yoga has the latest SDK release of the 0.*.* series atm
override-checkout: stable/yoga override-checkout: stable/yoga
@@ -159,9 +159,9 @@
required-projects: required-projects:
- name: github.com/ansible/ansible - name: github.com/ansible/ansible
override-checkout: stable-2.11 override-checkout: stable-2.11
- # Choose parent devstack job from master branch instead of non-existing stable/1.0.0 branch - # Choose parent devstack job from stable/yoga branch instead of non-existing stable/1.0.0 branch
name: openstack/devstack name: openstack/devstack
override-checkout: master override-checkout: stable/yoga
- name: openstack/openstacksdk - name: openstack/openstacksdk
# Yoga has the latest SDK release of the 0.*.* series atm # Yoga has the latest SDK release of the 0.*.* series atm
override-checkout: stable/yoga override-checkout: stable/yoga
@@ -178,9 +178,9 @@
required-projects: required-projects:
- name: github.com/ansible/ansible - name: github.com/ansible/ansible
override-checkout: stable-2.12 override-checkout: stable-2.12
- # Choose parent devstack job from master branch instead of non-existing stable/1.0.0 branch - # Choose parent devstack job from stable/yoga branch instead of non-existing stable/1.0.0 branch
name: openstack/devstack name: openstack/devstack
override-checkout: master override-checkout: stable/yoga
- name: openstack/openstacksdk - name: openstack/openstacksdk
# Yoga has the latest SDK release of the 0.*.* series atm # Yoga has the latest SDK release of the 0.*.* series atm
override-checkout: stable/yoga override-checkout: stable/yoga
@@ -214,6 +214,8 @@
- # Choose parent devstack job from stable/xena branch - # Choose parent devstack job from stable/xena branch
name: openstack/devstack name: openstack/devstack
override-checkout: stable/xena override-checkout: stable/xena
- name: openstack/designate
override-checkout: stable/xena
- name: openstack/openstacksdk - name: openstack/openstacksdk
override-checkout: stable/xena override-checkout: stable/xena
vars: vars:
@@ -244,6 +246,8 @@
- # Choose parent devstack job from stable/wallaby branch - # Choose parent devstack job from stable/wallaby branch
name: openstack/devstack name: openstack/devstack
override-checkout: stable/wallaby override-checkout: stable/wallaby
- name: openstack/designate
override-checkout: stable/wallaby
- name: openstack/openstacksdk - name: openstack/openstacksdk
override-checkout: stable/wallaby override-checkout: stable/wallaby
vars: vars:
@@ -274,6 +278,8 @@
- # Choose parent devstack job from stable/victoria branch - # Choose parent devstack job from stable/victoria branch
name: openstack/devstack name: openstack/devstack
override-checkout: stable/victoria override-checkout: stable/victoria
- name: openstack/designate
override-checkout: stable/victoria
- name: openstack/openstacksdk - name: openstack/openstacksdk
override-checkout: stable/victoria override-checkout: stable/victoria
vars: vars:
@@ -304,6 +310,8 @@
- # Choose parent devstack job from stable/ussuri branch - # Choose parent devstack job from stable/ussuri branch
name: openstack/devstack name: openstack/devstack
override-checkout: stable/ussuri override-checkout: stable/ussuri
- name: openstack/designate
override-checkout: stable/ussuri
- name: openstack/openstacksdk - name: openstack/openstacksdk
override-checkout: stable/ussuri override-checkout: stable/ussuri
vars: vars:
@@ -334,6 +342,8 @@
- # Choose parent devstack job from stable/train branch - # Choose parent devstack job from stable/train branch
name: openstack/devstack name: openstack/devstack
override-checkout: stable/train override-checkout: stable/train
- name: openstack/designate
override-checkout: train-eol
- name: openstack/openstacksdk - name: openstack/openstacksdk
override-checkout: stable/train override-checkout: stable/train
vars: vars:

0
ci/run-ansible-tests-collection.sh Normal file → Executable file
View File

0
tools/run-ansible-sanity.sh Normal file → Executable file
View File

18
tox.ini
View File

@@ -24,7 +24,6 @@ deps =
-c{env:TOX_CONSTRAINTS_FILE:{toxinidir}/tests/constraints-none.txt} -c{env:TOX_CONSTRAINTS_FILE:{toxinidir}/tests/constraints-none.txt}
-r{toxinidir}/tests/requirements.txt -r{toxinidir}/tests/requirements.txt
pip: {toxinidir} pip: {toxinidir}
commands = stestr run {posargs} commands = stestr run {posargs}
stestr slowest stestr slowest
@@ -33,19 +32,20 @@ commands =
flake8 flake8
[testenv:build] [testenv:build]
allowlist_externals = bash
deps = deps =
ansible-core ansible-core
galaxy-importer galaxy-importer
pbr pbr
ruamel.yaml ruamel.yaml
commands = commands =
python {toxinidir}/tools/build.py python {toxinidir}/tools/build.py
ansible --version ansible --version
ansible-galaxy collection build --force {toxinidir} --output-path {toxinidir}/build_artifact ansible-galaxy collection build --force {toxinidir} --output-path {toxinidir}/build_artifact
/bin/bash {toxinidir}/tools/check-import.sh {toxinidir} bash {toxinidir}/tools/check-import.sh {toxinidir}
[testenv:linters] [testenv:linters]
allowlist_externals = bash
passenv = * passenv = *
deps = deps =
{[testenv]deps} {[testenv]deps}
@@ -53,7 +53,7 @@ commands =
{[testenv:build]commands} {[testenv:build]commands}
{[testenv:pep8]commands} {[testenv:pep8]commands}
ansible --version ansible --version
/bin/bash {toxinidir}/tools/run-ansible-sanity.sh {toxinidir} bash {toxinidir}/tools/run-ansible-sanity.sh {toxinidir}
[testenv:linters-2.9] [testenv:linters-2.9]
passenv = {[testenv:linters]passenv} passenv = {[testenv:linters]passenv}
@@ -88,6 +88,7 @@ show-source = True
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible_collections exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,ansible_collections
[testenv:ansible] [testenv:ansible]
allowlist_externals = bash
# Need to pass some env vars for the Ansible playbooks # Need to pass some env vars for the Ansible playbooks
passenv = passenv =
HOME HOME
@@ -96,7 +97,7 @@ passenv =
deps = deps =
{[testenv]deps} {[testenv]deps}
commands = commands =
/bin/bash {toxinidir}/ci/run-ansible-tests-collection.sh -e {envdir} {posargs} bash {toxinidir}/ci/run-ansible-tests-collection.sh -e {envdir} {posargs}
[testenv:ansible-2.9] [testenv:ansible-2.9]
deps = deps =
@@ -120,11 +121,12 @@ passenv = {[testenv:ansible]passenv}
commands = {[testenv:ansible]commands} commands = {[testenv:ansible]commands}
[testenv:galaxy-release] [testenv:galaxy-release]
allowlist_externals = mkdir rm sed
deps = deps =
ansible-core ansible-core
commands = commands =
/usr/bin/mkdir -p /tmp/collection_built rm -rf /tmp/collection_built/
/usr/bin/bash -ec 'rm -rf /tmp/collection_built/*' mkdir -p /tmp/collection_built/
/usr/bin/sed -i "s/version:.*/version: {env:VERSION_TAG}/" {toxinidir}/galaxy.yml sed -i "s/version:.*/version: {env:VERSION_TAG}/" {toxinidir}/galaxy.yml
ansible-galaxy collection build {toxinidir} --output-path /tmp/collection_built/ --force ansible-galaxy collection build {toxinidir} --output-path /tmp/collection_built/ --force
ansible-galaxy collection publish /tmp/collection_built/openstack-cloud-{env:VERSION_TAG}.tar.gz --token {env:API_GALAXY_TOKEN} ansible-galaxy collection publish /tmp/collection_built/openstack-cloud-{env:VERSION_TAG}.tar.gz --token {env:API_GALAXY_TOKEN}