- Notifications
You must be signed in to change notification settings - Fork 27
MATTER-5534 : upload package to artifactory #166
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
base: main
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: |
Copilot AI Nov 4, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@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