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: I2b4ecddd0aa8b7dfcb3cf739a2f52ef93dc7ecf2
This commit is contained in:
Alex Kavanagh 2022-02-15 16:16:00 +00:00 committed by Corey Bryant
parent 5288a0fcad
commit a8785bc2cf
10 changed files with 61 additions and 27 deletions

1
.gitignore vendored
View File

@ -5,6 +5,7 @@ tags
.testrepository
*.sw[nop]
*.pyc
*.charm
.unit-state.db
tests/*.img
.idea

7
build-requirements.txt Normal file
View 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.

View File

@ -6,6 +6,7 @@ parts:
source: .
prime:
- actions/*
- charmhelpers/*
- files/*
- hooks/*
- lib/*
@ -13,8 +14,6 @@ parts:
- actions.yaml
- config.yaml
- copyright
- hardening.yaml
- icon.svg
- LICENSE
- Makefile
- metadata.yaml

View File

@ -4,3 +4,7 @@
- charm-unit-jobs-py39
- charm-xena-functional-jobs
- charm-yoga-functional-jobs
vars:
needs_charm_build: true
charm_build_name: glance-simplestreams-sync
build_type: charmcraft

13
rename.sh Executable file
View 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

View File

@ -63,7 +63,7 @@ applications:
openstack-origin: *source
to:
- '4'
channel: latest/edge
channel: yoga/edge
glance:
charm: ch:glance
@ -72,10 +72,10 @@ applications:
openstack-origin: *source
to:
- '5'
channel: latest/edge
channel: yoga/edge
glance-simplestreams-sync:
charm: ../../glance-simplestreams-sync
charm: ../../glance-simplestreams-sync.charm
num_units: 1
to:
- '6'
@ -87,7 +87,7 @@ applications:
source: *source
to:
- '7'
channel: latest/edge
channel: quincy/edge
ceph-osd:
charm: ch:ceph-osd
@ -100,7 +100,7 @@ applications:
- '8'
- '9'
- '10'
channel: latest/edge
channel: quincy/edge
ceph-mon:
charm: ch:ceph-mon
@ -111,7 +111,7 @@ applications:
- '11'
- '12'
- '13'
channel: latest/edge
channel: quincy/edge
relations:
- ['keystone:certificates', 'vault:certificates']

View File

@ -63,7 +63,7 @@ applications:
openstack-origin: *source
to:
- '4'
channel: latest/edge
channel: yoga/edge
glance:
charm: ch:glance
@ -72,10 +72,10 @@ applications:
openstack-origin: *source
to:
- '5'
channel: latest/edge
channel: yoga/edge
glance-simplestreams-sync:
charm: ../../glance-simplestreams-sync
charm: ../../glance-simplestreams-sync.charm
num_units: 1
to:
- '6'
@ -87,7 +87,7 @@ applications:
source: *source
to:
- '7'
channel: latest/edge
channel: quincy/edge
ceph-osd:
charm: ch:ceph-osd
@ -100,7 +100,7 @@ applications:
- '8'
- '9'
- '10'
channel: latest/edge
channel: quincy/edge
ceph-mon:
charm: ch:ceph-mon
@ -111,7 +111,7 @@ applications:
- '11'
- '12'
- '13'
channel: latest/edge
channel: quincy/edge
relations:
- ['keystone:certificates', 'vault:certificates']

View File

@ -63,7 +63,7 @@ applications:
openstack-origin: *source
to:
- '4'
channel: latest/edge
channel: yoga/edge
glance:
charm: ch:glance
@ -72,10 +72,10 @@ applications:
openstack-origin: *source
to:
- '5'
channel: latest/edge
channel: yoga/edge
glance-simplestreams-sync:
charm: ../../glance-simplestreams-sync
charm: ../../glance-simplestreams-sync.charm
num_units: 1
to:
- '6'
@ -87,7 +87,7 @@ applications:
source: *source
to:
- '7'
channel: latest/edge
channel: quincy/edge
ceph-osd:
charm: ch:ceph-osd
@ -100,7 +100,7 @@ applications:
- '8'
- '9'
- '10'
channel: latest/edge
channel: quincy/edge
ceph-mon:
charm: ch:ceph-mon
@ -111,7 +111,7 @@ applications:
- '11'
- '12'
- '13'
channel: latest/edge
channel: quincy/edge
relations:
- ['keystone:certificates', 'vault:certificates']

View File

@ -63,7 +63,7 @@ applications:
openstack-origin: *source
to:
- '4'
channel: latest/edge
channel: yoga/edge
glance:
charm: ch:glance
@ -72,10 +72,10 @@ applications:
openstack-origin: *source
to:
- '5'
channel: latest/edge
channel: yoga/edge
glance-simplestreams-sync:
charm: ../../glance-simplestreams-sync
charm: ../../glance-simplestreams-sync.charm
num_units: 1
to:
- '6'
@ -87,7 +87,7 @@ applications:
source: *source
to:
- '7'
channel: latest/edge
channel: quincy/edge
ceph-osd:
charm: ch:ceph-osd
@ -100,7 +100,7 @@ applications:
- '8'
- '9'
- '10'
channel: latest/edge
channel: quincy/edge
ceph-mon:
charm: ch:ceph-mon
@ -111,7 +111,7 @@ applications:
- '11'
- '12'
- '13'
channel: latest/edge
channel: quincy/edge
relations:
- ['keystone:certificates', 'vault:certificates']

12
tox.ini
View File

@ -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