Skip to content

Commit 51912ca

Browse files
committed
feat(ci): publish CodeEntropy to CCPBioSim Anaconda org on release
1 parent 41fc6bd commit 51912ca

3 files changed

Lines changed: 91 additions & 0 deletions

File tree

.github/workflows/release.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,46 @@ jobs:
146146
env:
147147
FLIT_USERNAME: __token__
148148
FLIT_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
149+
150+
conda:
151+
name: publish conda to anaconda.org
152+
needs: [tag, release]
153+
runs-on: ubuntu-24.04
154+
155+
steps:
156+
- name: Checkout
157+
uses: actions/checkout@v4
158+
with:
159+
ref: main
160+
161+
- name: Set version in conda recipe
162+
run: |
163+
sed -i -E "s/^{% set version = \".*\" %}$/{% set version = \"${{ github.event.inputs.version }}\" %}/" conda-recipe/meta.yaml
164+
165+
- name: Setup Conda
166+
uses: conda-incubator/setup-miniconda@v3
167+
with:
168+
miniforge-variant: Miniforge3
169+
python-version: "3.12"
170+
auto-activate-base: false
171+
172+
- name: Install build tools
173+
shell: bash -l {0}
174+
run: |
175+
conda install -y conda-build anaconda-client
176+
conda config --add channels conda-forge
177+
conda config --set channel_priority strict
178+
conda config --set anaconda_upload no
179+
180+
- name: Build package
181+
shell: bash -l {0}
182+
run: |
183+
conda build conda-recipe
184+
185+
- name: Upload to Anaconda
186+
shell: bash -l {0}
187+
env:
188+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
189+
run: |
190+
PKG_PATH=$(conda build conda-recipe --output)
191+
anaconda -t "$ANACONDA_API_TOKEN" upload "$PKG_PATH" --user CCPBioSim --force

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ repos:
1212
- id: check-added-large-files
1313
- id: check-merge-conflict
1414
- id: check-yaml
15+
exclude: ^conda-recipe/meta\.yaml$
1516
- id: check-toml
1617
- id: check-case-conflict
1718
- id: check-ast

conda-recipe/meta.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{% set name = "CodeEntropy" %}
2+
{% set version = "0.0.0" %}
3+
4+
package:
5+
name: {{ name }}
6+
version: {{ version }}
7+
8+
source:
9+
path: ..
10+
11+
build:
12+
noarch: python
13+
script: python -m pip install . -vv --no-deps
14+
entry_points:
15+
- CodeEntropy=CodeEntropy.cli:main
16+
17+
requirements:
18+
host:
19+
- python >=3.11
20+
- pip
21+
- flit-core >=3.4,<4
22+
run:
23+
- python >=3.11
24+
- numpy >=2.3,<3.0
25+
- mdanalysis >=2.10,<3.0
26+
- pandas >=3.0,<3.1
27+
- psutil >=7.1,<8.0
28+
- pyyaml >=6.0,<7.0
29+
- python-json-logger >=4.0,<5.0
30+
- rich >=14.2,<15.0
31+
- art >=6.5,<7.0
32+
- networkx >=3.6,<3.7
33+
- matplotlib >=3.10,<3.11
34+
- waterentropy >=2,<2.1
35+
- requests >=2.32,<3.0
36+
37+
test:
38+
imports:
39+
- CodeEntropy
40+
commands:
41+
- CodeEntropy --help
42+
43+
about:
44+
home: https://ccpbiosim.github.io/CodeEntropy/
45+
license: MIT
46+
license_file: LICENSE
47+
summary: "Entropy analysis tools for macromolecular systems and MD simulation"

0 commit comments

Comments
 (0)