Skip to content

Commit

Permalink
Merge branch 'master' into fix_glib_msvc_clang_compilation
Browse files Browse the repository at this point in the history
  • Loading branch information
danimtb committed May 12, 2022
2 parents fda2eaa + 6f3cc74 commit 2c9e228
Show file tree
Hide file tree
Showing 1,096 changed files with 15,034 additions and 8,109 deletions.
23 changes: 23 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Conan Center Index - Recipe Watchers
#
# If you are interested to watch/subscribe any recipe from Conan Center Index and receive
# a notification when a new PR is created, add the recipe repo and your @<githubuser>,
# for instance:
#
# recipes/zlib @myusername
#
# NOTE: Github uses case-sensitive filesystem, so your name must be the same from your account.
#
# Github will add you as a reviewer and will notify you by e-mail.
# This feature is named 'CodeOwners', however, it's a Github's feature name.
# On Conan Center Index, there are no owners/maintainers, all recipes are owned by the
# community. This feature only helps people that are more interested in watching and following
# specific recipes, instead of receiving a new notification for each new pull request.
#
# Full reference: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
#

.github @ericLemanissier
recipes/aaf @MartinDelille
recipes/gtk @ericLemanissier
recipes/qt @ericLemanissier
3 changes: 1 addition & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ This is also a good place to share with all of us **why you are submitting this
- [ ] I've read the [guidelines](https://github.com/conan-io/conan-center-index/blob/master/docs/how_to_add_packages.md) for contributing.
- [ ] I've followed the [PEP8](https://www.python.org/dev/peps/pep-0008/) style guides for Python code in the recipes.
- [ ] I've used the [latest](https://github.com/conan-io/conan/releases/latest) Conan client version.
- [ ] I've tried at least one configuration locally with the
[conan-center hook](https://github.com/conan-io/hooks.git) activated.
- [ ] I've tried at least one configuration locally with the [conan-center hook](https://github.com/conan-io/hooks.git) activated.
32 changes: 32 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# Changelog

### 10-May-2022 - 17:05 CEST

- [fix] Exclude `shared=True` and runtime `MT/MTd` profile configuration from builds.
- [job] RelaunchUnexpectedError: a new job to automatically retrigger failed jobs.
- [feature] Ability to load the configuration file from an external source.
- [feature] Allow changes to files in the `.c3i` folder.
- [config] Move reviewers and approved users to configuration files.
- [config] Move automatic merge parameters to the configuration file.
- [config] Move GitHub activation to configuration file.
- [config] Remove default configuration.
- [feature] Added compatibility for more Conan 2 commands.
- [fix] Avoid regeneration of folder and multibranch jobs by the DSL cron job.

### 28-April-2022 - 9:56 CEST

- [config] Update Conan client to 1.46.2
- [fix] Do not create GitHub pull-request statuses in advance.
- [fix] Move some Conan command calls to the wrapper.
- [feature] Added compatibility for Conan v2 export command.
- [config] Changed the required number of reviewers: 1 team and 1 community is enough

### 21-April-2022 - 13:46 CEST

- [feature] Updated Python version to > 3.7 in all build agents.
- [feature] Added CMake and Python versions to the infrastructure information.
- [config] Added new community reviewers.
- [feature] Moved Jenkins and Slack to the configuration file.
- [feature] Retry each build config if there is an unexpected error.
- [feature] Added logging to collect information about some jobs.
- [feature] Use a real build profile for cross-building configurations.
- [bugfix] Improve export error report.

### 31-March-2022 - 11:55 CEST

- [config] Upgrade Conan client version to 1.45.0.
Expand Down
14 changes: 7 additions & 7 deletions docs/error_knowledge_base.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,13 +130,13 @@ In order to make sure that the package will be consumed with any build-system, c

The consumers of the package will be able to consume the packages using a specific [generators](https://docs.conan.io/en/latest/using_packages/conanfile_txt.html#generators) for the build system they use.

See also: [Why are CMake find/config files and pkg-config files not packaged?](https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged).
See also: [Why are CMake find/config files and pkg-config files not packaged?](faqs.md#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged).

#### **<a name="KB-H017">#KB-H017</a>: "PDB FILES NOT ALLOWED"**

Because of the big size of the [PDB](https://github.com/Microsoft/microsoft-pdb) files (Program Databse, a debug information format) and the issues using them changing the original folders, the PDB files are not allowed to be packaged.

See also: [Why PDB files are not allowed?](https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#why-pdb-files-are-not-allowed).
See also: [Why PDB files are not allowed?](faqs.md#why-pdb-files-are-not-allowed).

#### **<a name="KB-H018">#KB-H018</a>: "LIBTOOL FILES PRESENCE"**

Expand All @@ -151,7 +151,7 @@ It is only allowed to put build files in `builddirs` because the generators migh

For the same reasons explained at [KB-H016](#KB-H016) it is not allowed to package `*.pc` files.

See also: [Why are CMake find/config files and pkg-config files not packaged?](https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged).
See also: [Why are CMake find/config files and pkg-config files not packaged?](faqs.md#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged).

#### **<a name="KB-H021">#KB-H021</a>: "MS RUNTIME FILES"**

Expand Down Expand Up @@ -279,7 +279,7 @@ patches:
base_path: "source_subfolder/1.71.0"
```

See also: [The conandata.yml](https://github.com/conan-io/conan-center-index/blob/master/docs/how_to_add_packages.md#the-conandatayml).
See also: [The conandata.yml](how_to_add_packages.md#the-conandatayml).

#### **<a name="KB-H031">#KB-H031</a>: "CONANDATA.YML REDUCE"**

Expand All @@ -290,7 +290,7 @@ Any additional field in the YAML file will raise an error.

[System requirements](https://docs.conan.io/en/latest/reference/conanfile/methods.html#systempackagetool) can be used as an option when a Conan package is not available ,the same package can be installed by system package manager. However, it can cause reproducibility problems, since the package may vary according the distribution or OS. Conan is not able to track its metadata, so that, installing system packages by recipe is not allowed.

See also: [Can I install packages from the system package manager?](https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#can-i-install-packages-from-the-system-package-manager).
See also: [Can I install packages from the system package manager?](faqs.md#can-i-install-packages-from-the-system-package-manager).

#### **<a name="KB-H034">#KB-H034</a>: "TEST PACKAGE - NO IMPORTS()"**

Expand Down Expand Up @@ -343,7 +343,7 @@ The attribue [default_options](https://docs.conan.io/en/latest/reference/conanfi

#### **<a name="KB-H052">#KB-H052</a>: "CONFIG.YML HAS NEW VERSION"**

It's important to have new library version defined in both [config.yml](https://github.com/conan-io/conan-center-index/blob/master/docs/how_to_add_packages.md#the-version-folders) and [conandata.yml](https://docs.conan.io/en/latest/reference/config_files/conandata.yml.html), otherwise newly added version will not be checked and built by CI and will not be available for download.
It's important to have new library version defined in both [config.yml](how_to_add_packages.md#the-version-folders) and [conandata.yml](https://docs.conan.io/en/latest/reference/config_files/conandata.yml.html), otherwise newly added version will not be checked and built by CI and will not be available for download.

#### **<a name="KB-H053">#KB-H053</a>: "PRIVATE IMPORTS"**

Expand Down Expand Up @@ -411,7 +411,7 @@ class SomeRecipe(ConanFile):

```

See also: [Submitting a Package](https://github.com/conan-io/conan-center-index/blob/master/docs/how_to_add_packages.md#submitting-a-package).
See also: [Submitting a Package](how_to_add_packages.md#submitting-a-package).

#### **<a name="KB-H066">#KB-H066</a>: "SHORT_PATHS USAGE"**

Expand Down
14 changes: 7 additions & 7 deletions docs/faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ For example, `GSL` is the name of `Guidelines Support Library` from Microsoft an

## What is the policy on creating packages from pre-compiled binaries?

The policy is that in the general case [recipes should build packages from sources](https://github.com/conan-io/conan-center-index/blob/master/docs/packaging_policy.md), because of reproducibility and security concerns. The implication is that the sources must be publicly available, and in a format that can be consumed programmatically.
The policy is that in the general case [recipes should build packages from sources](packaging_policy.md), because of reproducibility and security concerns. The implication is that the sources must be publicly available, and in a format that can be consumed programmatically.

Check the link for further details.

Expand Down Expand Up @@ -197,15 +197,15 @@ As a result, all calls to `tools.check_min_cppstd` must be guarded by a check fo
## What is the policy for adding older versions of a package?

We defer adding older versions without a direct requirement. We love to hear why in the opening description of the PR.
This is for historical reasons, when older versions were permitted the overwhelming majority received zero downloads and were never used by the community while still increasing the burden on the build system.
Adding versions that are not used by consumer only requires more resources and time from the CI servers.

## What is the policy for removing older versions of a package?

Keeping many older versions can be a problem, as over time they may become incompatible with newer versions of the package's Python code and/or dependencies. They also become downloaded less often than newer versions, and yet continue to consume CI resources during Pull Requests.
Older versions can be removed from packages given the considerations below. When removing those version, remove everything
that is specific to them: logic from the recipe and references in `config.yml` and `conandata.yml`. In any case, packages
are never removed from ConanCenter remote.

Given a technical limitations and/or incompatibilities emerging from infrastructure changes, removing older versions from `config.yml` and `conandata.yml` may be permitted. The respective recipes and binary packages will not be removed from Conan Center, but they will not receive new updates, as they are not listed to be built.

There is no strict rule for keeping older versions, but we recommend keeping only the latest version of each old major release. For the latest major version available, the last patch version of each minor version should be available. As example, we can list the [CMake](https://github.com/conan-io/conan-center-index/blob/master/recipes/cmake/config.yml) package.
When removing older versions, please take into account [these considerations](reviewing.md#supported-versions).

## Can I install packages from the system package manager?

Expand All @@ -216,7 +216,7 @@ The hook [KB-H032](error_knowledge_base.md#KB-H032) does not allow `system_requi
system packages at same recipe.

There are exceptions where some projects are closer to system drivers or hardware and packaging as a regular library could result
in an incompatible Conan package. To deal with those cases, you are allowed to provide an exclusive Conan package which only installs system packages, see the [How-to](https://github.com/conan-io/conan-center-index/blob/master/docs/how_to_add_packages.md#system-packages) for more.
in an incompatible Conan package. To deal with those cases, you are allowed to provide an exclusive Conan package which only installs system packages, see the [How-to](how_to_add_packages.md#system-packages) for more.

## Why ConanCenter does **not** build and execute tests in recipes

Expand Down
2 changes: 1 addition & 1 deletion docs/how_to_add_packages.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ For cases where a project only offers source files, but not a build script, you

### System Packages

> :information_source: For exceptional cases where only system packages can be used and a regular Conan package may result in an incompatible and fragile package, a separated system package may be created. See the [FAQs](https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#can-i-install-packages-from-the-system-package-manager) for more.
> :information_source: For exceptional cases where only system packages can be used and a regular Conan package may result in an incompatible and fragile package, a separated system package may be created. See the [FAQs](faqs.md#can-i-install-packages-from-the-system-package-manager) for more.
The [SystemPackageTool](https://docs.conan.io/en/latest/reference/conanfile/methods.html#systempackagetool) can easily manage a system package manager (e.g. apt,
pacman, brew, choco) and install packages which are missing on Conan Center but available for most distributions. It is key to correctly fill in the `cpp_info` for the consumers of a system package to have access to whatever was installed.
Expand Down
11 changes: 7 additions & 4 deletions docs/review_process.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ conan-center-index tries to make the process as smooth and simple as possible fo
* [Getting your pull request reviewed](#getting-your-pull-request-reviewed)
* [Official reviewers](#official-reviewers)
* [Community reviewers](#community-reviewers)
* [Rule of 3 reviews](#rule-of-3-reviews)
* [Rule of 2 reviews](#rule-of-2-reviews)
* [Reviews from others](#reviews-from-others)
* [Addressing review comments](#addressing-review-comments)
* [Automatic Merges](#automatic-merges)
Expand Down Expand Up @@ -101,14 +101,17 @@ The list includes conan-center-index contributors who are very active and proven
- [@mathbunnyru](https://github.com/mathbunnyru)
- [@ericriff](https://github.com/ericriff)
- [@toge](https://github.com/toge)
- [@AndreyMlashkin](https://github.com/AndreyMlashkin)
- [@MartinDelille](https://github.com/MartinDelille)
- [@dmn-star](https://github.com/dmn-star)

The list is not constant and will change periodically based on contribution.
That also means you can be included in this list as well - submit PRs and provide reviews, and in time you may be added as a trusted contributor.

### Rule of 3 reviews
### Rule of 2 reviews

At least 3 approving reviews are required, and at least one of them has to be from the official reviewers.
So, it might be 1 official + 2 community, or 3 official, but it couldn't be just 3 community reviews.
At least 2 approving reviews are required, and at least one of them has to be from the official reviewers.
So, it might be 1 official + 1 community, or 2 official, but it couldn't be just 2 community reviews.
Approvals are only counted if they are associated with the latest commit in the PR, while "Change requested" ones (from the Conan team) will persist even if there are new commits. Don't hesitate to dismiss old reviews if the issues have already been addressed.

> **Note.-** Pull requests labelled as [`Bump version`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+version%22)
Expand Down

0 comments on commit 2c9e228

Please sign in to comment.