Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
86732ec
initial try
stefdoerr Apr 7, 2025
7fce7cf
cpu build working
stefdoerr Apr 7, 2025
db005cd
cleanup the installation
stefdoerr Apr 7, 2025
d8bace0
time to test it on all OSs
stefdoerr Apr 7, 2025
f097d51
wront path
stefdoerr Apr 7, 2025
e76d87b
fixes
stefdoerr Apr 7, 2025
a886cab
ignore missing deps on OSX
stefdoerr Apr 7, 2025
28f6353
jom for Windows
stefdoerr Apr 7, 2025
cde2efa
no gpus on CI
stefdoerr Apr 7, 2025
2918023
include the includes. continue on error for OSX
stefdoerr Apr 7, 2025
88f6ea5
fix windows opencl path
stefdoerr Apr 7, 2025
00ef6e1
forgot one path
stefdoerr Apr 7, 2025
11a5de8
fix OSX rpath
stefdoerr Apr 7, 2025
ec96e89
fixes for windows and osx
stefdoerr Apr 7, 2025
22cd17f
osx fix
stefdoerr Apr 7, 2025
93290a2
cleanup
stefdoerr Apr 7, 2025
91d1e4d
rpath for linux
stefdoerr Apr 7, 2025
0cd5007
test file paths relative to the test folder
stefdoerr Apr 7, 2025
b992394
minor mistake
stefdoerr Apr 7, 2025
5a3f39f
pytest run from main dir
stefdoerr Apr 7, 2025
4a5b441
missing curr_dir
stefdoerr Apr 7, 2025
8b00683
try installing the right CUDA version to set the path correctly
stefdoerr Apr 8, 2025
5872d4a
manually install opencl
stefdoerr Apr 8, 2025
f43034e
set CUDA_PATH on Windows builds
stefdoerr Apr 8, 2025
e159b8c
full workflow
stefdoerr Apr 8, 2025
865d989
quick test with just 3.10
stefdoerr Apr 8, 2025
63e311b
Merge pull request #1 from stefdoerr/cibuildwheel
stefdoerr Apr 8, 2025
2ec36e4
build all versions
stefdoerr Apr 8, 2025
20bc5d6
can't use setuptools versioning since it will be inconsistent with th…
stefdoerr Apr 8, 2025
2d7344c
add runtime requirements for CUDA packages
stefdoerr Apr 8, 2025
c46457a
get dependencies dynamically
stefdoerr Apr 8, 2025
b53e180
cuda 12.6 releases
stefdoerr Apr 17, 2025
ac28a56
correct build
stefdoerr Apr 17, 2025
9a66524
forgot the upload part
stefdoerr Apr 17, 2025
9705b68
add simtk also to the package
stefdoerr Apr 17, 2025
1284ed1
switch to CXX11_ABI=1 since pytorch also moved to it and we need to k…
stefdoerr Apr 24, 2025
527b977
cuda 12.8 release
stefdoerr Apr 24, 2025
1417d03
Merge branch 'master' into cibuildwheel
stefdoerr Apr 24, 2025
e53385b
more cuda versions to be compatible with pytorch releases
stefdoerr Apr 25, 2025
485911a
fix test file paths
stefdoerr Apr 25, 2025
81a5b6d
fix cuda detection on Windows
stefdoerr Apr 28, 2025
9b41d6e
merge master
stefdoerr May 23, 2025
d74f353
run tests from inside test folder
stefdoerr May 23, 2025
ca87f33
undo path changes in OpenMM tests
stefdoerr May 23, 2025
01ef012
fix CI test issues
stefdoerr May 23, 2025
516cc0a
delay import to solve circular import issue
stefdoerr May 23, 2025
510a234
include data files in the package
stefdoerr May 23, 2025
556e93f
resolve github warning
stefdoerr May 23, 2025
f1c3783
cleanup
stefdoerr May 23, 2025
d6bcc3c
actions permissions
stefdoerr May 23, 2025
5346fdf
fix windows path for cd
stefdoerr May 23, 2025
51edeaf
fix windows again?
stefdoerr May 23, 2025
501b42a
fix windows again?
stefdoerr May 23, 2025
347bfb9
symlink the test files into current directory hoping windows pytest m…
stefdoerr May 23, 2025
60a3168
ls the symlink
stefdoerr May 23, 2025
112392d
try with cp
stefdoerr May 23, 2025
1c19a51
try cping right before the pytest
stefdoerr May 23, 2025
061fab2
conda publishing
stefdoerr May 26, 2025
bca9383
better naming of cuda openmm packages
stefdoerr May 28, 2025
1f7e096
merge workflows
stefdoerr May 28, 2025
6b8ee9a
rename yaml
stefdoerr May 28, 2025
2709892
fallback if openmm_library_path is not in openmm/lib to search in env…
stefdoerr May 28, 2025
2a58d6d
try to make both setup.py and pyproject.toml work at the same time
stefdoerr May 28, 2025
12d57d7
fix windows
stefdoerr May 28, 2025
f662123
test fix for conda windows builds
stefdoerr May 29, 2025
ae2e068
some debugging prints
stefdoerr May 29, 2025
8c191d6
fix the directory
stefdoerr May 29, 2025
9a4f009
windows handles site-packages differently
stefdoerr May 29, 2025
bc5af82
fixed windows, removing debugging
stefdoerr May 29, 2025
6692c99
correct package extension
stefdoerr May 29, 2025
c057bb2
update release candidate version in CI
stefdoerr May 30, 2025
27cb32e
Merge branch 'master' into cibuildwheel
stefdoerr Jun 17, 2025
fcb994e
Merge branch 'master' into cibuildwheel
stefdoerr Aug 12, 2025
6810a69
public PyPI unofficial OpenMM version for cuda 11.8 and 12.0 only
stefdoerr Aug 13, 2025
d37a039
update windows version
stefdoerr Aug 13, 2025
bfb6212
placeholder package name since pyproject doesn't allow dynamic packag…
stefdoerr Aug 13, 2025
88facdb
disable hip for now
stefdoerr Aug 13, 2025
e566d37
Merge branch 'master' into cibuildwheel
stefdoerr Aug 25, 2025
997aacc
don't build for 3.14t release candidate
stefdoerr Aug 25, 2025
9f0909f
updated the runtime dependencies
stefdoerr Aug 27, 2025
1e7b3d6
back to not hard-coding the cuda deps
stefdoerr Aug 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
249 changes: 249 additions & 0 deletions .github/workflows/conda_publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
name: Test code and publish package

on:
workflow_dispatch:
workflow_call:

jobs:
deploy_linux_cuda11:
strategy:
fail-fast: false
matrix:
config_file:
[
"conda_package/variants/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11numpy1.22python3.9.____cpython.yaml",
"conda_package/variants/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11numpy1.22python3.10.____cpython.yaml",
"conda_package/variants/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11numpy1.23python3.11.____cpython.yaml",
"conda_package/variants/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11numpy1.26python3.12.____cpython.yaml",
]

runs-on: ubuntu-latest
container: quay.io/condaforge/linux-anvil-cuda:11.8

steps:
- uses: actions/checkout@v1

- name: Build openmm package
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda build conda_package/recipe/ --variant-config-files ${{ matrix.config_file }} --output-folder ./pkg/ --no-include-recipe --no-anaconda-upload -c conda-forge
env:
OPENMM_VERSION: ${{ github.ref_name }}
OPENMM_COMMIT: ${{ github.sha }}

- name: Upload to conda
shell: bash -l {0}
run: |
/opt/conda/bin/anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera pkg/linux-64/openmm-*.tar.bz2 --skip-existing

deploy_linux_cuda12:
Comment on lines +9 to +40

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 5 months ago

To fix the issue, we will add a permissions block at the root level of the workflow file. This block will define the minimum required permissions for the workflow. Based on the actions performed in the workflow (e.g., checking out the repository, building packages, and uploading them), the workflow likely requires contents: read and possibly packages: write for uploading packages. We will analyze the steps and set the permissions accordingly.


Suggested changeset 1
.github/workflows/conda_publish.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/conda_publish.yml b/.github/workflows/conda_publish.yml
--- a/.github/workflows/conda_publish.yml
+++ b/.github/workflows/conda_publish.yml
@@ -6,2 +6,6 @@
 
+permissions:
+  contents: read
+  packages: write
+
 jobs:
EOF
@@ -6,2 +6,6 @@

permissions:
contents: read
packages: write

jobs:
Copilot is powered by AI and may make mistakes. Always verify output.
strategy:
fail-fast: false
matrix:
config_file:
[
"conda_package/variants/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy1.22python3.9.____cpython.yaml",
"conda_package/variants/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy1.22python3.10.____cpython.yaml",
"conda_package/variants/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy1.23python3.11.____cpython.yaml",
"conda_package/variants/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12numpy1.26python3.12.____cpython.yaml",
]

runs-on: ubuntu-latest
container: quay.io/condaforge/linux-anvil-cos7-x86_64

steps:
- uses: actions/checkout@v1

- name: Build openmm package
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda build conda_package/recipe/ --variant-config-files ${{ matrix.config_file }} --output-folder ./pkg/ --no-include-recipe --no-anaconda-upload -c conda-forge
env:
OPENMM_VERSION: ${{ github.ref_name }}
OPENMM_COMMIT: ${{ github.sha }}

- name: Upload to conda
shell: bash -l {0}
run: |
/opt/conda/bin/anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera pkg/linux-64/openmm-*.tar.bz2 --skip-existing

deploy_osx_64:
Comment on lines +41 to +72

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 5 months ago

To fix the issue, we will add a permissions block to the root of the workflow file. This block will define the minimal permissions required for the workflow to function correctly. Based on the workflow's operations, the following permissions are needed:

  • contents: read for checking out the repository.
  • packages: write for uploading packages to the conda repository.

The permissions block will be added at the root level to apply to all jobs in the workflow. If any job requires additional permissions, they can be defined specifically for that job.


Suggested changeset 1
.github/workflows/conda_publish.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/conda_publish.yml b/.github/workflows/conda_publish.yml
--- a/.github/workflows/conda_publish.yml
+++ b/.github/workflows/conda_publish.yml
@@ -6,2 +6,6 @@
 
+permissions:
+  contents: read
+  packages: write
+
 jobs:
EOF
@@ -6,2 +6,6 @@

permissions:
contents: read
packages: write

jobs:
Copilot is powered by AI and may make mistakes. Always verify output.
strategy:
fail-fast: false
matrix:
config_file:
[
"conda_package/variants/osx_64_numpy1.22opencl_implapplepython3.9.____cpython.yaml",
"conda_package/variants/osx_64_numpy1.22opencl_implapplepython3.9.____cpython.yaml",
"conda_package/variants/osx_64_numpy1.22opencl_implkhronospython3.10.____cpython.yaml",
"conda_package/variants/osx_64_numpy1.22opencl_implkhronospython3.9.____cpython.yaml",
"conda_package/variants/osx_64_numpy1.23opencl_implapplepython3.11.____cpython.yaml",
"conda_package/variants/osx_64_numpy1.23opencl_implkhronospython3.11.____cpython.yaml",
"conda_package/variants/osx_64_numpy1.26opencl_implapplepython3.12.____cpython.yaml",
"conda_package/variants/osx_64_numpy1.26opencl_implkhronospython3.12.____cpython.yaml",
]
runs-on: macos-13

steps:
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
activate-environment: ../deploy-env
python-version: "3.10"

- name: Build openmm package
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda install anaconda-client conda-build
conda build conda_package/recipe/ --variant-config-files ${{ matrix.config_file }} --output-folder ./pkg/ --no-include-recipe --no-anaconda-upload -c conda-forge
env:
OPENMM_VERSION: ${{ github.ref_name }}
OPENMM_COMMIT: ${{ github.sha }}

- name: Upload to conda
shell: bash -l {0}
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera pkg/*/openmm-*.conda --skip-existing

deploy_osx_arm64:
Comment on lines +73 to +113

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 5 months ago

To fix the issue, we need to add a permissions block to the workflow file. This block should specify the minimal permissions required for the workflow to function correctly. Based on the operations performed in the workflow (e.g., checking out code, building packages, and uploading them), the contents: read permission is sufficient for most steps, while no additional permissions are required for the GITHUB_TOKEN.

The permissions block can be added at the root level of the workflow to apply to all jobs, or it can be added to each job individually for finer control. In this case, adding it at the root level is sufficient and simplifies the configuration.


Suggested changeset 1
.github/workflows/conda_publish.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/conda_publish.yml b/.github/workflows/conda_publish.yml
--- a/.github/workflows/conda_publish.yml
+++ b/.github/workflows/conda_publish.yml
@@ -6,2 +6,5 @@
 
+permissions:
+  contents: read
+
 jobs:
EOF
@@ -6,2 +6,5 @@

permissions:
contents: read

jobs:
Copilot is powered by AI and may make mistakes. Always verify output.
strategy:
fail-fast: false
matrix:
config_file:
[
"conda_package/variants/osx_arm64_numpy1.22opencl_implapplepython3.10.____cpython.yaml",
"conda_package/variants/osx_arm64_numpy1.22opencl_implapplepython3.9.____cpython.yaml",
"conda_package/variants/osx_arm64_numpy1.22opencl_implkhronospython3.10.____cpython.yaml",
"conda_package/variants/osx_arm64_numpy1.22opencl_implkhronospython3.9.____cpython.yaml",
"conda_package/variants/osx_arm64_numpy1.23opencl_implapplepython3.11.____cpython.yaml",
"conda_package/variants/osx_arm64_numpy1.23opencl_implkhronospython3.11.____cpython.yaml",
"conda_package/variants/osx_arm64_numpy1.26opencl_implapplepython3.12.____cpython.yaml",
"conda_package/variants/osx_arm64_numpy1.26opencl_implkhronospython3.12.____cpython.yaml",
]
runs-on: macos-latest

steps:
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
activate-environment: ../deploy-env
python-version: "3.10"

- name: Build openmm package
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda install anaconda-client conda-build
conda build conda_package/recipe/ --variant-config-files ${{ matrix.config_file }} --output-folder ./pkg/ --no-include-recipe --no-anaconda-upload -c conda-forge
env:
OPENMM_VERSION: ${{ github.ref_name }}
OPENMM_COMMIT: ${{ github.sha }}

- name: Upload to conda
shell: bash -l {0}
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera pkg/*/openmm-*.conda --skip-existing

deploy_win_64_cuda11:
Comment on lines +114 to +154

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 5 months ago

To fix the issue, we will add a permissions block to the workflow. This block will be added at the root level to apply to all jobs unless overridden by job-specific permissions. Based on the workflow's operations, the following permissions are required:

  • contents: read for accessing repository contents.
  • packages: write for uploading packages to the repository.

This ensures that the workflow has only the permissions it needs to function correctly.


Suggested changeset 1
.github/workflows/conda_publish.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/conda_publish.yml b/.github/workflows/conda_publish.yml
--- a/.github/workflows/conda_publish.yml
+++ b/.github/workflows/conda_publish.yml
@@ -6,2 +6,6 @@
 
+permissions:
+  contents: read
+  packages: write
+
 jobs:
EOF
@@ -6,2 +6,6 @@

permissions:
contents: read
packages: write

jobs:
Copilot is powered by AI and may make mistakes. Always verify output.
strategy:
fail-fast: false
matrix:
config_file:
[
"conda_package/variants/win_64_cuda_compilernvcccuda_compiler_version11.8numpy1.22python3.10.____cpython.yaml",
"conda_package/variants/win_64_cuda_compilernvcccuda_compiler_version11.8numpy1.22python3.9.____cpython.yaml",
"conda_package/variants/win_64_cuda_compilernvcccuda_compiler_version11.8numpy1.23python3.11.____cpython.yaml",
"conda_package/variants/win_64_cuda_compilernvcccuda_compiler_version11.8numpy1.26python3.12.____cpython.yaml",
]
runs-on: windows-2022

steps:
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
activate-environment: ../deploy-env
python-version: "3.10"
channels: conda-forge

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- name: Setup CUDA Toolkit
id: cuda-toolkit
shell: pwsh
run: conda_package/scripts/setup_cuda.ps1
env:
INPUT_CUDA_VERSION: 11.8.0

- name: Build openmm package
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda install anaconda-client conda-build
conda clean --all -y
conda build conda_package/recipe/ --variant-config-files ${{ matrix.config_file }} --output-folder ./pkg/ --no-include-recipe --no-anaconda-upload -c conda-forge
env:
OPENMM_VERSION: ${{ github.ref_name }}
OPENMM_COMMIT: ${{ github.sha }}

- name: Upload to conda
shell: bash -l {0}
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera pkg/*/openmm-*.conda --skip-existing

deploy_win_64_cuda12:
strategy:
fail-fast: false
matrix:
config_file:
[
"conda_package/variants/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0numpy1.22python3.10.____cpython.yaml",
"conda_package/variants/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0numpy1.22python3.9.____cpython.yaml",
"conda_package/variants/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0numpy1.23python3.11.____cpython.yaml",
"conda_package/variants/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0numpy1.26python3.12.____cpython.yaml",
]
runs-on: windows-2022

steps:
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: "latest"
activate-environment: ../deploy-env
python-version: "3.10"

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2

- name: Setup CUDA Toolkit
id: cuda-toolkit
shell: pwsh
run: conda_package/scripts/setup_cuda.ps1
env:
INPUT_CUDA_VERSION: 12.0.0

- name: Build openmm package
shell: bash -l {0}
run: |
git config --global --add safe.directory '*'
conda install anaconda-client conda-build
conda clean --all -y
conda build conda_package/recipe/ --variant-config-files ${{ matrix.config_file }} --output-folder ./pkg/ --no-include-recipe --no-anaconda-upload -c conda-forge
env:
OPENMM_VERSION: ${{ github.ref_name }}
OPENMM_COMMIT: ${{ github.sha }}

- name: Upload to conda
shell: bash -l {0}
run: |
anaconda -t ${{ secrets.ANACONDA_TOKEN_BASIC }} upload -u acellera pkg/*/openmm-*.conda --skip-existing
Comment on lines +204 to +249

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI 5 months ago

To fix the issue, we will add a permissions block at the workflow level to define the minimal permissions required for the workflow. Based on the operations in the workflow, the following permissions are necessary:

  • contents: read for accessing repository contents.
  • packages: write for uploading packages to the repository.

This change will ensure that the workflow has only the permissions it needs, reducing the risk of unintended access.


Suggested changeset 1
.github/workflows/conda_publish.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/conda_publish.yml b/.github/workflows/conda_publish.yml
--- a/.github/workflows/conda_publish.yml
+++ b/.github/workflows/conda_publish.yml
@@ -2,2 +2,6 @@
 
+permissions:
+  contents: read
+  packages: write
+
 on:
EOF
@@ -2,2 +2,6 @@

permissions:
contents: read
packages: write

on:
Copilot is powered by AI and may make mistakes. Always verify output.
Loading
Loading