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: refactor on push and release workflows to use same cached build used in tests #657

Conversation

NohaIhab
Copy link
Contributor

@NohaIhab NohaIhab commented Jan 21, 2025

Based on #655
Closes #650
Closes #656

Summary

This PR refactors the repo's CI to use the same cached builds for individual integration tests, release charm, and promote workflows.

The workflows are refactored to follow the same structure and conventions as in data platform teams. It includes the following changes:

  • Refactors the integrate.yaml and renames it to ci.yaml
  • Creates release.yaml which reused data platform workflows' release_charm.yaml
  • Removes the separate on_pull_request.yaml and on_push.yaml workflows, instead they reuse the ci.yaml for tests and release.yaml for releasing to charmhub
  • Renames the old release.yaml to promote.yaml

Note to reviewers:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renamed from release.yaml for consistency with data repos

Copy link
Contributor

@DnPlas DnPlas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @NohaIhab ! Some comments.

.github/workflows/ci.yaml Outdated Show resolved Hide resolved
.github/workflows/ci.yaml Outdated Show resolved Hide resolved
.github/workflows/ci.yaml Show resolved Hide resolved
.github/workflows/release.yaml Show resolved Hide resolved
Copy link
Contributor

@DnPlas DnPlas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @NohaIhab !

* ci, tests: pass charm artefacts to deploy and test charms

This commit enables the "--charm-path" option to pass .charm artefacts
to be deployed and tested at an individual level.
This change enables the option to pass pre-built charms to the tests
to avoid building them on the same test. It also ensures compatibility
with the build_charm.py reusable workflow (from canonical/data-platform-workflows).

Fixes: #639

Use single (cached) build for integration tests & release

Fix hardcoded path for `platforms` syntax

skip: remove duplicated download-charms

remove workflow dispatch from release.yaml not needed

add description for outputs

rename get charm paths job and channel output

skip: rename job in needs

pin quality checks back to main due to merging canonical/charmed-kubeflow-workflows#95

Use stage instead of prime in charmcraft files part (#658)
@NohaIhab NohaIhab force-pushed the KF-6756-refactor-ci-on-push-release-publish branch from e2459d8 to 11af2a7 Compare January 24, 2025 15:31
@NohaIhab NohaIhab merged commit 3f1efc3 into KF-6684-refactor-ci-with-build Jan 24, 2025
73 of 83 checks passed
@NohaIhab NohaIhab deleted the KF-6756-refactor-ci-on-push-release-publish branch January 24, 2025 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants