Merge "Add a tool to build collections with pbr"

This commit is contained in:
Zuul 2020-02-29 14:50:44 +00:00 committed by Gerrit Code Review
commit c1f610dac9
6 changed files with 57 additions and 1 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
.tox
build_artifact
ansible_collections
galaxy.yml

View File

@ -98,6 +98,7 @@ then
fi
# install collections
tox -ebuild
ansible-galaxy collection build --force . --output-path ./build_artifact
ansible-galaxy collection install $(ls build_artifact/openstack-cloud-*) --force
pushd ci/

View File

@ -1,3 +1,4 @@
pbr
ansible
pycodestyle
flake8
@ -5,4 +6,4 @@ pylint
voluptuous
yamllint
rstcheck
ruamel.yaml

47
tools/build.py Executable file
View File

@ -0,0 +1,47 @@
#!/usr/bin/env python
# Copyright 2019 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
# The next two lines are pointless for this file, but the collection
# linter freaks out if they are not there.
from __future__ import absolute_import, division, print_function
__metaclass__ = type
import pbr.version
from ruamel.yaml import YAML
def generate_version_info():
version_info = pbr.version.VersionInfo('openstack-cloud')
semantic_version = version_info.semantic_version()
release_string = semantic_version._long_version('-')
yaml = YAML()
yaml.explicit_start = True
yaml.indent(sequence=4, offset=2)
config = yaml.load(open('galaxy.yml.in'))
config['version'] = release_string
with open('galaxy.yml', 'w') as fp:
yaml.dump(config, fp)
def main():
generate_version_info()
if __name__ == '__main__':
main()

View File

@ -26,9 +26,15 @@ commands = stestr run {posargs}
commands =
flake8
[testenv:build]
commands =
{toxinidir}/tools/build.py
ansible-galaxy collection build --force {toxinidir} --output-path {toxinidir}/build_artifact
[testenv:linters]
passenv = *
commands =
{toxinidir}/tools/build.py
ansible-galaxy collection build --force {toxinidir} --output-path {toxinidir}/build_artifact
/bin/bash -c "ansible-galaxy collection install $(ls {toxinidir}/build_artifact/openstack-cloud-*) --force -p {toxinidir}"
/bin/bash -c "cd ansible_collections/openstack/cloud && ansible-test sanity"