Skip to content

Commit

Permalink
Add charmcraft 3 support
Browse files Browse the repository at this point in the history
Update the charmcraft.yaml file to use base and platforms, only
allowing noble support. Remove test bundles for older bases.

Also modernize build process using the reactive plugin, and modernize
tox.ini, update build.lock pins and remove cruft.

Change-Id: I5a2a5cf200c32823c7d2a83b8f6afbcddb8cacc9
func-test-pr: openstack-charmers/zaza-openstack-tests#1255
  • Loading branch information
lmlg committed Aug 14, 2024
1 parent 881e21b commit 3346ed2
Show file tree
Hide file tree
Showing 13 changed files with 304 additions and 805 deletions.
41 changes: 23 additions & 18 deletions charmcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,33 @@ type: charm

parts:
charm:
source: src/
plugin: reactive
build-snaps:
- charm
reactive-charm-build-arguments:
- --binary-wheels-from-source
build-packages:
- tox
- git
- python3-dev
- libffi-dev
source: src/
build-snaps:
- charm/latest/edge
build-environment:
- CHARM_INTERFACES_DIR: /root/project/interfaces/
- CHARM_LAYERS_DIR: /root/project/layers/
- CHARM_INTERFACES_DIR: $CRAFT_PROJECT_DIR/interfaces/
- CHARM_LAYERS_DIR: $CRAFT_PROJECT_DIR/layers/

bases:
- build-on:
- name: ubuntu
channel: "20.04"
architectures:
- amd64
run-on:
- name: ubuntu
channel: "20.04"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "22.04"
architectures: [amd64, s390x, ppc64el, arm64]
base: [email protected]
build-base: [email protected]
platforms:
amd64:
build-on: amd64
build-for: amd64
arm64:
build-on: arm64
build-for: arm64
s390x:
build-on: s390x
build-for: s390x
ppc64el:
build-on: ppc64el
build-for: ppc64el
2 changes: 1 addition & 1 deletion osci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
needs_charm_build: true
charm_build_name: ceph-rbd-mirror
build_type: charmcraft
charmcraft_channel: 2.x/stable
charmcraft_channel: 3.x/beta
10 changes: 0 additions & 10 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,3 @@
# This file is managed centrally by release-tools and should not be modified
# within individual charm repos. See the 'global' dir contents for available
# choices of *requirements.txt files for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
# NOTE(lourot): This might look like a duplication of test-requirements.txt but
# some tox targets use only test-requirements.txt whereas charm-build uses only
# requirements.txt
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85

# NOTE: newer versions of cryptography require a Rust compiler to build,
# see
# * https://github.com/openstack-charmers/zaza/issues/421
Expand Down
264 changes: 264 additions & 0 deletions src/build.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
{
"locks": [
{
"type": "layer",
"item": "layer:leadership",
"url": "https://git.launchpad.net/layer-leadership",
"vcs": null,
"branch": "cc5bd3f49b2fa5e6c3ab2336763c313ec8bf083f",
"commit": "cc5bd3f49b2fa5e6c3ab2336763c313ec8bf083f"
},
{
"type": "layer",
"item": "layer:options",
"url": "https://github.com/juju-solutions/layer-options.git",
"vcs": null,
"branch": "fcdcea4e5de3e1556c24e6704607862d0ba00a56",
"commit": "fcdcea4e5de3e1556c24e6704607862d0ba00a56"
},
{
"type": "layer",
"item": "layer:basic",
"url": "https://github.com/juju-solutions/layer-basic.git",
"vcs": null,
"branch": "24324f8dab91bb304f7400dadc263ac6106268cb",
"commit": "24324f8dab91bb304f7400dadc263ac6106268cb"
},
{
"type": "layer",
"item": "layer:openstack",
"url": "https://github.com/openstack/charm-layer-openstack",
"vcs": null,
"branch": "7c671b0696977f455616565d956895b2f890464b",
"commit": "7c671b0696977f455616565d956895b2f890464b"
},
{
"type": "layer",
"item": "layer:ceph",
"url": "https://github.com/openstack/charm-layer-ceph.git",
"vcs": null,
"branch": "17d40abd8d9ec3b8c32756ca981c80c4733c016f",
"commit": "17d40abd8d9ec3b8c32756ca981c80c4733c016f"
},
{
"type": "layer",
"item": "ceph-rbd-mirror",
"url": null,
"vcs": null,
"branch": "881e21bdc16cecd62c1c2d9ba470c5f4ee600fdc",
"commit": "881e21bdc16cecd62c1c2d9ba470c5f4ee600fdc"
},
{
"type": "layer",
"item": "interface:tls-certificates",
"url": "https://github.com/juju-solutions/interface-tls-certificates",
"vcs": null,
"branch": "da891c403864482688ec767a964218e5857f0e49",
"commit": "da891c403864482688ec767a964218e5857f0e49"
},
{
"type": "layer",
"item": "interface:ceph-rbd-mirror",
"url": "https://github.com/openstack/charm-interface-ceph-rbd-mirror.git",
"vcs": null,
"branch": "d746757302beb385384f9c647afe68ce764bb3b7",
"commit": "d746757302beb385384f9c647afe68ce764bb3b7"
},
{
"type": "layer",
"item": "interface:nrpe-external-master",
"url": "https://github.com/canonical/nrpe-external-master-interface",
"vcs": null,
"branch": "c58fe7b01a151d933681b5bf67e47ad3de65eeaa",
"commit": "c58fe7b01a151d933681b5bf67e47ad3de65eeaa"
},
{
"type": "python_module",
"package": "pip",
"vcs": null,
"version": "22.0.4"
},
{
"type": "python_module",
"package": "flit_scm",
"vcs": null,
"version": "1.7.0"
},
{
"type": "python_module",
"package": "setuptools_scm",
"vcs": null,
"version": "6.4.2"
},
{
"type": "python_module",
"package": "MarkupSafe",
"vcs": null,
"version": "2.1.5"
},
{
"type": "python_module",
"package": "pluggy",
"vcs": null,
"version": "1.5.0"
},
{
"type": "python_module",
"package": "calver",
"vcs": null,
"version": "2022.6.26"
},
{
"type": "python_module",
"package": "Cython",
"vcs": null,
"version": "0.29.37"
},
{
"type": "python_module",
"package": "charms.reactive",
"url": "git+https://github.com/canonical/charms.reactive.git",
"branch": "f7debc39e623a3a73673ba1f7e4cb5bc7ae9ecd9",
"version": "f7debc39e623a3a73673ba1f7e4cb5bc7ae9ecd9",
"vcs": "git"
},
{
"type": "python_module",
"package": "packaging",
"vcs": null,
"version": "24.1"
},
{
"type": "python_module",
"package": "pyudev",
"vcs": null,
"version": "0.24.3"
},
{
"type": "python_module",
"package": "hatchling",
"vcs": null,
"version": "1.25.0"
},
{
"type": "python_module",
"package": "pathspec",
"vcs": null,
"version": "0.12.1"
},
{
"type": "python_module",
"package": "sniffio",
"vcs": null,
"version": "1.3.0"
},
{
"type": "python_module",
"package": "charms.ceph",
"url": "git+https://github.com/openstack/charms.ceph.git",
"branch": "64f3c1b12b14545a76321469478fb456b379832d",
"version": "64f3c1b12b14545a76321469478fb456b379832d",
"vcs": "git"
},
{
"type": "python_module",
"package": "pbr",
"vcs": null,
"version": "6.0.0"
},
{
"type": "python_module",
"package": "dnspython",
"vcs": null,
"version": "2.6.1"
},
{
"type": "python_module",
"package": "anyio",
"vcs": null,
"version": "3.6.2"
},
{
"type": "python_module",
"package": "netaddr",
"vcs": null,
"version": "0.7.19"
},
{
"type": "python_module",
"package": "tomli",
"vcs": null,
"version": "2.0.1"
},
{
"type": "python_module",
"package": "PyYAML",
"vcs": null,
"version": "6.0.1"
},
{
"type": "python_module",
"package": "charmhelpers",
"url": "git+https://github.com/juju/charm-helpers.git",
"branch": "1b2d4dc8f8effd79d782241a32a0485af1f01e73",
"version": "1b2d4dc8f8effd79d782241a32a0485af1f01e73",
"vcs": "git"
},
{
"type": "python_module",
"package": "idna",
"vcs": null,
"version": "3.7"
},
{
"type": "python_module",
"package": "psutil",
"vcs": null,
"version": "6.0.0"
},
{
"type": "python_module",
"package": "pyaml",
"vcs": null,
"version": "21.10.1"
},
{
"type": "python_module",
"package": "netifaces",
"vcs": null,
"version": "0.11.0"
},
{
"type": "python_module",
"package": "flit_core",
"vcs": null,
"version": "3.9.0"
},
{
"type": "python_module",
"package": "trove_classifiers",
"vcs": null,
"version": "2024.7.2"
},
{
"type": "python_module",
"package": "wheel",
"vcs": null,
"version": "0.43.0"
},
{
"type": "python_module",
"package": "charms.openstack",
"url": "git+https://github.com/openstack/charms.openstack.git",
"branch": "355d65f64cc1dac133d885aa7cfc58b1804a0c30",
"version": "355d65f64cc1dac133d885aa7cfc58b1804a0c30",
"vcs": "git"
},
{
"type": "python_module",
"package": "jinja2",
"vcs": null,
"version": "3.1.4"
}
]
}
3 changes: 1 addition & 2 deletions src/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ tags:
- file-servers
- misc
series:
- focal
- jammy
- noble
extra-bindings:
public:
cluster:
Expand Down
Loading

0 comments on commit 3346ed2

Please sign in to comment.