Extract Conan (C/C++ Package Manager) metadata and add it to the UI
Problem to solve
The GitLab Conan Repository allows users to build, publish and share their C/C++ packages right alongside their source code and pipelines. Conan packages can successfully be published to the registry, but the rich metadata is unavailable in the UI.
Intended users
- Delaney (Development Team Lead)
- Sasha (Software Developer)
- Devon (DevOps Engineer)
- Sidney (Systems Administrator)
Metadata
We will display the following meta data which is passed through from Conan:
Package Information
- User/channel
- OS
- Architecture
- Build type
Compiler Information
- Compiler version
- compiler.libcxx
- Compliler
- compiler.cppstd (C++ Standard)
Settings
- This is a user generated list of key, value pairs included in settings.yml
Proposal
- Build metadata extraction on the backend similar to NuGet and RubyGems.
- Once extracted, make the data available in the User Interface.
Permissions and Security
The permissions should follow the same levels as NPM and Maven. At the instance level, any user can view and download packages. But, only developers with permission to the project can upload and delete them.
Action | Guest | Reporter | Developer | Maintainer | Owner |
---|---|---|---|---|---|
Pull from Maven repository or NPM registry or Conan Repository | x | x | x | x | |
Publish to Maven repository or NPM registry or Conan Repository | x | x | x |
Documentation
What does success look like, and how can we measure that?
- Success looks like users of the Conan Repository can discover and download their project's packages
- We can start by tracking page views to
/packages
Links / references
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.