MATTER-5534 : upload package to artifactory#166
Conversation
dad9c4e to
b554b78
Compare
- Add package manager configuration files - Update Jenkins integration for package upload - Configure package promotion to silabs-conan-production - Update .gitignore for package manager files - Add Makefile for package management - Configure package dependencies and firmware
b554b78 to
be14824
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR implements a mechanism to upload Conan packages to Artifactory using Jenkins, introducing new workflows for package creation, versioning, and promotion across multiple Artifactory repositories (dev, SQA, and production).
Key changes include:
- Added Jenkins pipeline integration with helper functions for creating, uploading, and promoting packages
- Restructured package conanfiles to embed shared logic directly instead of using a base class
- Introduced versioning support with prerelease qualifiers (e.g., alpha) and automated version incrementation
Reviewed Changes
Copilot reviewed 10 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| jenkins_integration/jenkinsFunctions.groovy | Added helper functions for Conan package creation, upload, and promotion workflows |
| jenkins_integration/Jenkinsfile | Added new pipeline stage to create and upload packages on main and release branches |
| packages/matter/conanfile.py | Refactored to remove base class dependency, embed shared logic, and add extensive logging |
| packages/matter_app/conanfile.py | Refactored to remove base class dependency and embed shared logic directly |
| Makefile | Added automation targets for package management, versioning, and editable mode control |
| packages/remotes.json | Simplified to include only silabs-conan-production remote |
| packages/.prerelease | Added prerelease qualifier file containing "alpha" |
| packages/matter_dependencies.slt | Added dependency specification file with version ranges |
| packages/wifi_firmware.slt | Added WiFi firmware dependency specification |
| packages/README.md | Updated documentation to reflect new structure |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/matter/conanfile.py
Outdated
|
|
||
| # ------------------------- Helpers ------------------------- | ||
| def _process_slce_extra(self, filename: str = "matter.slce.extra") -> dict: | ||
| def _process_slce_extra(self, filename: str = "packages/matter/matter.slce.extra") -> dict: |
There was a problem hiding this comment.
The default filename path 'packages/matter/matter.slce.extra' is relative and may not resolve correctly depending on the working directory. Since repo_root is available via self.repo_root, construct the path using: os.path.join(self.repo_root, 'packages/matter/matter.slce.extra') to ensure the file is found regardless of execution context.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
|
@Sarthak-Shaha I've opened a new pull request, #177, to work on those changes. Once the pull request is ready, I'll request review from you. |
…er (#177) * Initial plan * Update _process_slce_extra to use absolute path construction Co-authored-by: Sarthak-Shaha <130495524+Sarthak-Shaha@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Sarthak-Shaha <130495524+Sarthak-Shaha@users.noreply.github.com>
|
I have read the CLA Document and I hereby sign the CLA behalf on myself, e-mail: example@example.com or I have read the CLA Document and I hereby sign the CLA behalf of my company, e-mail: example@example.com Signature is valid for 6 months. 1 out of 2 committers have signed the CLA. |
Issue Link:
MATTER-5534
Description of Problem/Feature:
This PR introduces a mechanism to upload Conan packages to Artifactory using Jenkins, addressing limitations with GitHub runners.
Description of Fix/Solution:
-- action-conan-create: Creates and uploads packages to matter-conan-dev.
-- action-conan-promote: Promotes packages from matter-conan-dev to matter-conan-sqa or silabs-conan-production.
Package Structure
Build & Deployment
Helper Functions
Versioning Logic
Testing Done:
Feature branch CI run
https://jenkins-cbs-iot-matter.silabs.net/blue/organizations/jenkins/Matter%20Extension%20GitHub/detail/PR-166/11/pipeline/27/
packages at
matter-conan-dev
Promoted to
matter-conan-sqa
to
silabs-conan-production