Skip to content

Commit 3b784de

Browse files
committed
updated Conda package management docuemntation to be easier to follow
1 parent 71c826a commit 3b784de

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

.github/RELEASING.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ See the [GitHub release workflow](https://github.com/sandialabs/WecOptTool/blob/
3030
**NOTE:** While GitHub lets you delete a release and then create a new one with the same name, PyPI does not. You can delete releases but you cannot upload a package with the same version as a previous one (even a deleted one).
3131

3232
## Conda package
33-
When a new release is available on PyPI, Conda-forge has a [bot](https://github.com/regro/autotick-bot) that will automatically find this and create a pull request in [wecopttool-feedstock](https://github.com/conda-forge/wecopttool-feedstock), the GitHub repository that houses the Conda recipe for WecOptTool. Conda-forge does not currently have full integration with `pyproject.toml` files, so we have to manually update the [`meta.yaml`](https://github.com/conda-forge/wecopttool-feedstock/blob/main/recipe/meta.yaml) file in the WecOptTool Conda recipe with any new or removed dependencies if changes were made in `pyproject.toml`. The version number, SHA256, and build number should be automatically updated by the bot, but these should also be checked just in case.
33+
The Conda package for WecOptTool is housed in the [wecopttool-feedstock](https://github.com/conda-forge/wecopttool-feedstock) repository.
34+
When a new release is available on PyPI, Conda-forge has a [bot](https://github.com/regro/autotick-bot) that will automatically detect it, create a pull request in [wecopttool-feedstock], and merge it.
35+
In other words, the WecOptTool Conda package will usually update automatically within a few hours of a new release being published.
3436

35-
Follow the instructions on the [Conda-forge maintainer documentation](https://conda-forge.org/docs/maintainer/updating_pkgs.html#pushing-to-regro-cf-autotick-bot-branch) to push any required changes to the bot-generated pull request. Merge and close the pull request once these updates are pushed and the Conda-forge CI passes. The Conda build will now install the new release for users.
37+
If any dependencies are added, removed, or changed in `pyproject.toml`[^1], the Conda recipe must be manually updated to reflect these changes.
38+
To do this:
39+
40+
1. Fork `wecopttool-feedstock`
41+
2. In a new branch, update [`wecopttool-feedstock/recipe/meta.yaml`](https://github.com/conda-forge/wecopttool-feedstock/blob/main/recipe/meta.yaml) (the file containing the Conda recipe) by editing the `run` list of `requirements` to mirror the dependency list in `pyproject.toml`.
42+
3. Create a [pull request](https://github.com/conda-forge/wecopttool-feedstock/pulls) to the `main` branch of `wecopttool-feedstock` from your new branch.
43+
4. Follow the instructions in the autogenerated checklist in the pull request description.
44+
5. Merge the pull request once the linter comes back clean and the CI passes.
45+
46+
Other changes to the Conda configuration unrelated to a new version release, such as changing package metadata or the maintainers list, also require a manual update to the recipe through this same process.
47+
48+
[^1]: At time of writing, Conda-forge does not currently have full integration with `pyproject.toml` files, see https://github.com/conda-forge/wecopttool-feedstock/pull/8.
49+
This may change in the future though: see https://github.com/conda/conda/issues/12462.

0 commit comments

Comments
 (0)