Skip to content

eval: script for classifying conformational changes #156

eval: script for classifying conformational changes

eval: script for classifying conformational changes #156

Workflow file for this run

name: GPU Tests
on:
push:
branches: [main]
paths:
- 'src/**'
- 'tests/**'
- 'pyproject.toml'
- 'pixi.lock'
- '.github/workflows/gpu-tests.yml'
pull_request_target:
branches: [main]
paths:
- 'src/**'
- 'tests/**'
- 'pyproject.toml'
- 'pixi.lock'
- '.github/workflows/gpu-tests.yml'
workflow_dispatch:
concurrency:
group: gpu-tests-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
gpu-tests:
runs-on: gpu-1
timeout-minutes: 30
environment: gpu-testing
permissions:
contents: read
strategy:
fail-fast: false
matrix:
environment: [boltz-dev, protenix-dev, rf3-dev]
name: ${{ matrix.environment }}
steps:
- name: Checkout code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
# pull_request_target checks out the base branch by default. We need
# the PR head to actually test PR code. This runs untrusted code on
# gpu-1, mitigated by: environment approval gate (gpu-testing),
# read-only token (contents: read), and reviewer sign-off before any
# steps execute. Reviewers: validate security-sensitive changes before
# approving.
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Install pixi
uses: prefix-dev/setup-pixi@19eac09b398e3d0c747adc7921926a6d802df4da # v0.8.8
with:
cache: false # NFS-backed cache on self-hosted runner handles this
- name: Build CUDA extensions
run: pixi run -e ${{ matrix.environment }} python3 -c "from sampleworks.core.forward_models.xray.real_space_density_deps.ops.csrc import dilate_points_cuda"
- name: Run tests
run: pixi run -e ${{ matrix.environment }} gpu-tests