conda-smithy
is a tool for combining a conda recipe with configurations to build using freely hosted CI services into a single repository, also known as a feedstock.
conda-smithy
is still a work-in-progress, but when complete, conda-smithy
will:
- Create a git repo.
- Register the repo on github and push it.
- Connect the repo to the CI services travis-ci.org, appveyor.com, circleci.com
See the requirements list in conda_smithy.recipe/meta.yaml, then clone this
repo and python setup.py install
.
You need a token from github, travis-ci.org, appveyor.com and circleci.com to try out conda-smithy
. If you need help getting tokens please ask on the conda-forge google group.
You should be able to test parts of conda-smithy
with whatever tokens you have.
For example, you should be able to conda smithy github-create
without the CI service tokens.
- Make the feedstock repo:
conda smithy init <directory_of_conda_recipe>
. For a recipe calledfoo
, this creates a directory calledfoo-feedstock
, populates it with CI setup skeletons, and initializes it as a git repo. - Create a github repo:
conda smithy github-create --organization conda-forge foo-feedstock
. This requires a github token. You can try it out with a github user account instead of an organization by replacing the organization argument with--user github_user_name
. - Register the feedstock with CI services:
conda smithy register-feedstock-ci --organization conda-forge foo-feedstock
. This requires tokens for the CI services. You can give the name of a user instead of organization with--user github_user_name
. - Regenerate the feedstock with
conda smithy regenerate foo-feedstock
- Commit the changes
cd foo-feedstock && git commit
, then pushgit push upstream master
.
When everything is configured you can trigger a build with a push to the feedstock repo on github.