Update to classic charms to build using charmcraft in CI
This update is to ensure that the Zuul Canonical CI builds the charm before functional tests and ensure that that artifact is used for the functional tests. This is to try to ensure that the charm that gets landed to the charmhub is the same charm that was tested with. Change-Id: Ia2f3bcba500de242a93d9f0bf073a9c5c3aad89a
This commit is contained in:
parent
4d30bdd203
commit
ebc532bde3
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,6 +5,7 @@ bin
|
||||
tags
|
||||
*.sw[nop]
|
||||
*.pyc
|
||||
*.charm
|
||||
joined-string
|
||||
.unit-state.db
|
||||
trusty/**
|
||||
|
7
build-requirements.txt
Normal file
7
build-requirements.txt
Normal file
@ -0,0 +1,7 @@
|
||||
# NOTES(lourot):
|
||||
# * We don't install charmcraft via pip anymore because it anyway spins up a
|
||||
# container and scp the system's charmcraft snap inside it. So the charmcraft
|
||||
# snap is necessary on the system anyway.
|
||||
# * `tox -e build` successfully validated with charmcraft 1.2.1
|
||||
|
||||
cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35.
|
@ -6,9 +6,11 @@ parts:
|
||||
source: .
|
||||
prime:
|
||||
- actions/*
|
||||
- charmhelpers/*
|
||||
- files/*
|
||||
- hooks/*
|
||||
- lib/*
|
||||
- scripts/*
|
||||
- templates/*
|
||||
- actions.yaml
|
||||
- config.yaml
|
||||
|
@ -4,3 +4,7 @@
|
||||
- charm-unit-jobs-py39
|
||||
- charm-xena-functional-jobs
|
||||
- charm-yoga-functional-jobs
|
||||
vars:
|
||||
needs_charm_build: true
|
||||
charm_build_name: keystone
|
||||
build_type: charmcraft
|
||||
|
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
|
@ -13,11 +13,6 @@ setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb
|
||||
|
||||
requests>=2.18.4
|
||||
|
||||
# Newer mock seems to have some syntax which is newer than python3.5 (e.g.
|
||||
# f'{something}'
|
||||
mock>=1.2,<4.0.0; python_version < '3.6'
|
||||
mock>=1.2; python_version >= '3.6'
|
||||
|
||||
stestr>=2.2.0
|
||||
|
||||
# Dependency of stestr. Workaround for
|
||||
|
@ -38,7 +38,7 @@ applications:
|
||||
channel: latest/edge
|
||||
|
||||
keystone:
|
||||
charm: ../../
|
||||
charm: ../../keystone.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
@ -56,7 +56,7 @@ applications:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '6'
|
||||
channel: latest/edge
|
||||
channel: yoga/edge
|
||||
|
||||
relations:
|
||||
|
||||
|
@ -38,7 +38,7 @@ applications:
|
||||
channel: latest/edge
|
||||
|
||||
keystone:
|
||||
charm: ../../../keystone
|
||||
charm: ../../keystone.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
@ -56,7 +56,7 @@ applications:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '6'
|
||||
channel: latest/edge
|
||||
channel: yoga/edge
|
||||
|
||||
relations:
|
||||
|
||||
|
@ -38,7 +38,7 @@ applications:
|
||||
channel: latest/edge
|
||||
|
||||
keystone:
|
||||
charm: ../../
|
||||
charm: ../../keystone.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
@ -56,7 +56,7 @@ applications:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '6'
|
||||
channel: latest/edge
|
||||
channel: yoga/edge
|
||||
|
||||
relations:
|
||||
|
||||
|
@ -38,7 +38,7 @@ applications:
|
||||
channel: latest/edge
|
||||
|
||||
keystone:
|
||||
charm: ../../
|
||||
charm: ../../keystone.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
@ -56,7 +56,7 @@ applications:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '6'
|
||||
channel: latest/edge
|
||||
channel: yoga/edge
|
||||
|
||||
relations:
|
||||
|
||||
|
@ -1,8 +0,0 @@
|
||||
relations:
|
||||
- - keystone:certificates
|
||||
- vault:certificates
|
||||
- - glance:certificates
|
||||
- vault:certificates
|
||||
saas:
|
||||
vault:
|
||||
url: admin/{{ vault }}.vault
|
@ -1,7 +0,0 @@
|
||||
applications:
|
||||
vault:
|
||||
offers:
|
||||
vault:
|
||||
endpoints:
|
||||
- secrets
|
||||
- certificates
|
12
tox.ini
12
tox.ini
@ -37,10 +37,20 @@ setenv = VIRTUAL_ENV={envdir}
|
||||
install_command =
|
||||
{toxinidir}/pip.sh install {opts} {packages}
|
||||
commands = stestr run --slowest {posargs}
|
||||
allowlist_externals = juju
|
||||
allowlist_externals =
|
||||
charmcraft
|
||||
rename.sh
|
||||
passenv = HOME TERM CS_* OS_* TEST_*
|
||||
deps = -r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:build]
|
||||
basepython = python3
|
||||
deps = -r{toxinidir}/build-requirements.txt
|
||||
commands =
|
||||
charmcraft clean
|
||||
charmcraft -v build
|
||||
{toxinidir}/rename.sh
|
||||
|
||||
[testenv:py35]
|
||||
basepython = python3.5
|
||||
deps = -r{toxinidir}/requirements.txt
|
||||
|
Loading…
Reference in New Issue
Block a user