Skip to content

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

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.

Edited by Dzmitry (Dima) Meshcharakou