Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci, build: update CI, libraries, python dependencies, and format #140

Merged
merged 11 commits into from
Jul 27, 2023

Conversation

DnPlas
Copy link
Contributor

@DnPlas DnPlas commented Jul 21, 2023

This commit updates the CI with standard CI configuration (juju, actions, deps) that is shared across multiple repositories. All python dependencies are also updated to their latest working versions. This PR also includes library updates. Finally, some formatting was applied on non-compliant files (copyright, style).

This change also contains a fix for #147, an issue caused by a missing toolchain in the charm that allows building certain python packages. For more information, please refer to canonical/bundle-kubeflow#648.

Fixes #141
Fixes #147
Part of canonical/bundle-kubeflow#648

This commit updates the CI with standard CI configuration (juju, actions, deps) that is shared across multiple repositories. All python dependencies are also updated to their latest working versions. This PR also includes library updates. Finally, some formatting was applied on non-compliant files (copyright, style).
Because some dependencies of jsonschema require the rust toolchain (see 1 and 2), building
the charm fails when building and installing some deps of jsonschema.
The workaround to this is to install jsonschema from binary, avoiding unnecesary toolchains
in the charm and reducing the chance of getting affected by third
party dependencies when they are updated.

Other considerations:
Other options were considered for fixing the issue, like installing rustc in the charm
directly and pinning jsonschema<4.18. The first option seem too invasive as charms will not
use rustc for anything during runtime. The last option restricted us from updating the package
in the event of a bug fix or if a new version is needed.
Installing from binary also has limitations, such as version management, which is now done
in charmcraft.yaml and not in the more common requirement files.

Fixes: #147

[1]python-jsonschema/jsonschema#1117
[2] python-jsonschema/jsonschema#1114
DnPlas and others added 4 commits July 26, 2023 11:11
Fix assertion errors raised in unit tests caused by updating ops from
1.5 to 2+. Due to this change, we now have to take an extra step to
enable container connectivity when not using `begin_with_initial_hooks`.

Closes #141

Signed-off-by: Phoevos Kalemkeris <[email protected]>
charmcraft.yaml Show resolved Hide resolved
requirements.in Outdated Show resolved Hide resolved
requirements-integration.in Outdated Show resolved Hide resolved
tests/unit/test_operator.py Show resolved Hide resolved
@DnPlas DnPlas merged commit effea44 into main Jul 27, 2023
@DnPlas DnPlas deleted the KF-3870-ci-healthchecks branch July 27, 2023 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants