Merge "Add a tool to build collections with pbr"
This commit is contained in:
commit
c1f610dac9
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
.tox
|
||||
build_artifact
|
||||
ansible_collections
|
||||
galaxy.yml
|
||||
|
@ -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/
|
||||
|
@ -1,3 +1,4 @@
|
||||
pbr
|
||||
ansible
|
||||
pycodestyle
|
||||
flake8
|
||||
@ -5,4 +6,4 @@ pylint
|
||||
voluptuous
|
||||
yamllint
|
||||
rstcheck
|
||||
|
||||
ruamel.yaml
|
||||
|
47
tools/build.py
Executable file
47
tools/build.py
Executable 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()
|
6
tox.ini
6
tox.ini
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user