A bot to automatically update conan-center-index
Project description
Conan Center Bot
This is a library to help update recipes in conan-center-index.
The library will scan a conan-center-index repository as well as all recipes's upstream to try to find which recipes can be updated.
It can then either generates the list of updatable recipes, or automatically update a recipe to the latest upstream version.
How to use the data
Human-readable
You can check the status page or the github issues https://github.com/conan-io/conan-center-index/issues/3470 and https://github.com/qchateau/conan-center-bot/issues/1.
API
You can get the updatability status of CCI recipes by reading the files in https://github.com/qchateau/conan-center-bot/tree/status.
They are auto-updated daily using Github Actions.
How to use the library
Install from pypi
pip3 install conan-center-bot
Install from source
pip3 install .
Run
Use the help, it will be more up to date than this README !
conan-center-bot -h
Get the status of recipes in CCI
usage: conan-center-bot status [-h] [--verbose] [--quiet] [--cci CCI] [--github-token GITHUB_TOKEN] [--all] [--recipe RECIPE [RECIPE ...]] [--jobs JOBS]
optional arguments:
-h, --help show this help message and exit
--verbose, -v Verbosity level
--quiet, -q
--cci CCI Path to the conan-center-index repository. Defaults to '../conan-center-index'
--github-token GITHUB_TOKEN
Github authentication token
--all, -a Display all recipes. By default only updatable recipes are displayed.
--recipe RECIPE [RECIPE ...]
Restrict the recipes status to the ones given as arguments.
--jobs JOBS, -j JOBS Number of parallel processes.
Update a recipe
usage: conan-center-bot update [-h] [--verbose] [--quiet] [--cci CCI] [--github-token GITHUB_TOKEN] [--force] [--choose-version] [--folder FOLDER] [--push] [--no-test] [recipe [recipe ...]]
positional arguments:
recipe List of recipes to update.
optional arguments:
-h, --help show this help message and exit
--verbose, -v Verbosity level
--quiet, -q
--cci CCI Path to the conan-center-index repository. Defaults to '../conan-center-index'
--github-token GITHUB_TOKEN
Github authentication token
--force, -f Overwrite the branch if it exists, force push if the remote branch exists.
--choose-version Choose which upstream version to use (defaults to the latest)
--folder FOLDER Choose which recipe folder to use (default to the latest)
--push Push the new branch to origin
--no-test Do not test the updated recipe
To auto-update and test a recipe, run
conan-center-bot update <recipe-name> --push --cci <path-to-cci>
After you ran the script:
- Verify and maybe tweak the diff in the new branch
- Open a PR on CCI
Limitations
- Only projects on GitHub are supported.
- Some versioning patterns are too specific to be supported.
- Recipes require a config.yml file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file conan-center-bot-0.3.0.tar.gz
.
File metadata
- Download URL: conan-center-bot-0.3.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb4d6c38d3e8759e1801a19d68789622fe7463bc9642f066f61ff0e08a45f05f |
|
MD5 | 3d6f6da331efa534bd6318fb0c78d370 |
|
BLAKE2b-256 | a82f0239ff58de67bdf0aba8a32ff948f8d6c26e4beea26aa39edcc9c2a5ded5 |