Skip to content

Commit c45210e

Browse files
Use pixi in workflow
1 parent fafebb5 commit c45210e

File tree

1 file changed

+20
-72
lines changed

1 file changed

+20
-72
lines changed

.github/workflows/build.yml

Lines changed: 20 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -62,55 +62,29 @@ jobs:
6262
matrix:
6363
python-version: ["3.10", "3.11", "3.12", "3.13"]
6464

65-
env:
66-
CONDA_ENV_NAME: "testing_env"
67-
6865
steps:
6966
- uses: actions/checkout@v4
7067

71-
- name: Install Miniforge
72-
run: |
73-
choco install miniforge3
68+
- name: Set up Pixi
69+
uses: prefix-dev/setup-pixi@v0.8.8
7470

75-
- name: Add conda to PATH
76-
run: |
77-
echo "$env:CONDA" | Out-File -Append -FilePath $env:GITHUB_PATH
78-
echo "$env:CONDA\Scripts" | Out-File -Append -FilePath $env:GITHUB_PATH
79-
80-
- name: Set up Miniforge
81-
run: |
82-
conda init powershell
83-
conda create --name $env:CONDA_ENV_NAME -c conda-forge -c schrodinger --override-channels `
84-
python=${{ matrix.python-version }} `
85-
pip `
86-
catch2=2.13.3 `
87-
collada2gltf `
88-
freetype `
89-
glew `
90-
glm `
91-
libpng `
92-
libxml2-devel `
93-
libnetcdf `
71+
- name: Set Python version
72+
run: pixi add "python==${{ matrix.python-version }}.*"
9473

9574
- name: Get additional sources
75+
shell: bash
9676
run: |
97-
conda activate $env:CONDA_ENV_NAME
98-
77+
PIXI_PREFIX="$(pixi info --json | python3 -c 'import sys,json; print(json.loads(sys.stdin.read())["environments_info"][0]["prefix"])')"
9978
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git
100-
Copy-Item -Recurse -Path mmtf-cpp/include\* -Destination "$env:CONDA_PREFIX\Library\include"
79+
cp -R mmtf-cpp/include/* "${PIXI_PREFIX}/Library/include/"
10180
git clone --depth 1 --single-branch --branch cpp_master https://github.com/msgpack/msgpack-c.git
102-
Copy-Item -Recurse -Path msgpack-c/include\* -Destination "$env:CONDA_PREFIX\Library\include"
103-
dir $env:CONDA_PREFIX\Library\include
81+
cp -R msgpack-c/include/* "${PIXI_PREFIX}/Library/include/"
10482
10583
- name: Build PyMOL
106-
run: |
107-
conda activate $env:CONDA_ENV_NAME
108-
pip install -v --config-settings testing=True .[dev]
84+
run: pixi run pip install -v --config-settings testing=True .[dev]
10985

11086
- name: Test
111-
run: |
112-
conda activate $env:CONDA_ENV_NAME
113-
pymol -ckqy testing\testing.py --run all
87+
run: pixi run pymol -ckqy testing\testing.py --run all
11488

11589

11690
build-MacOS:
@@ -121,52 +95,26 @@ jobs:
12195
matrix:
12296
python-version: ["3.10", "3.11", "3.12", "3.13"]
12397

124-
env:
125-
CONDA_ROOT: "/tmp/miniforge"
126-
CONDA_ENV_NAME: "testing_env"
127-
12898
steps:
129-
- uses: actions/checkout@v4.0.0
99+
- uses: actions/checkout@v4
130100

131-
- name: Download Miniforge
132-
run: |
133-
curl -L -o $CONDA_ROOT.sh https://github.com/conda-forge/miniforge/releases/download/24.11.0-0/Miniforge3-MacOSX-x86_64.sh
134-
bash $CONDA_ROOT.sh -b -p $CONDA_ROOT
101+
- name: Set up Pixi
102+
uses: prefix-dev/setup-pixi@v0.8.8
135103

136-
- name: Add conda to PATH
137-
run: |
138-
echo "${CONDA_ROOT}/bin" >> "$GITHUB_PATH"
139-
140-
- name: Set up Miniforge
141-
run: |
142-
conda create --name $CONDA_ENV_NAME -c conda-forge -c schrodinger --override-channels \
143-
python=${{ matrix.python-version }} \
144-
pip \
145-
catch2=2.13.3 \
146-
collada2gltf \
147-
freetype \
148-
glew \
149-
glm \
150-
libpng \
151-
libxml2-devel \
152-
libnetcdf
104+
- name: Set Python version
105+
run: pixi add "python==${{ matrix.python-version }}.*"
153106

154107
- name: Get additional sources
155108
run: |
156-
source activate $CONDA_ENV_NAME
109+
PIXI_PREFIX="$(pixi info --json | python3 -c 'import sys,json; print(json.loads(sys.stdin.read())["environments_info"][0]["prefix"])')"
157110
git clone --depth 1 https://github.com/rcsb/mmtf-cpp.git
158-
cp -R mmtf-cpp/include/* ${CONDA_PREFIX}/include/
111+
cp -R mmtf-cpp/include/* "${PIXI_PREFIX}/include/"
159112
git clone --depth 1 --single-branch --branch cpp_master https://github.com/msgpack/msgpack-c.git
160-
cp -R msgpack-c/include/* ${CONDA_PREFIX}/include/
113+
cp -R msgpack-c/include/* "${PIXI_PREFIX}/include/"
161114
162115
- name: Build PyMOL
163-
run: |
164-
source activate $CONDA_ENV_NAME
165-
export MACOSX_DEPLOYMENT_TARGET=12.0
166-
pip install -v --config-settings testing=True '.[dev]'
116+
run: pixi run bash -c 'MACOSX_DEPLOYMENT_TARGET=12.0 pip install -v --config-settings testing=True ".[dev]"'
167117

168118
- name: Test
169-
run: |
170-
source activate $CONDA_ENV_NAME
171-
pymol -ckqy testing/testing.py --run all
119+
run: pixi run pymol -ckqy testing/testing.py --run all
172120

0 commit comments

Comments
 (0)