Skip to content

Update run_on_test_data.yaml #5

Update run_on_test_data.yaml

Update run_on_test_data.yaml #5

name: Run petdeface on test data
on:
workflow_dispatch:
push:
branches: [ main, dev ]
paths:
- 'petdeface/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/run_on_test_data.yaml'
pull_request:
branches: [ main, dev ]
paths:
- 'petdeface/**'
- 'pyproject.toml'
- 'uv.lock'
- '.github/workflows/run_on_test_data.yaml'
env:
FREESURFER_HOME: "/usr/local/freesurfer/7.4.1"
jobs:
test-petdeface:
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: latest
- name: Setup FreeSurfer environment
run: |
# Add FreeSurfer to PATH
export PATH=$FREESURFER_HOME:$PATH
# Source FreeSurfer setup script if it exists
if [ -f "$FREESURFER_HOME/SetUpFreeSurfer.sh" ]; then
source $FREESURFER_HOME/SetUpFreeSurfer.sh
fi
# Check if FreeSurfer is available
which mideface || echo "mideface not found in PATH"
echo "FREESURFER_HOME: $FREESURFER_HOME"
echo "PATH: $PATH"
- name: Build package with uv
run: |
uv build
- name: Create output directory
run: |
mkdir -p data_defaced
- name: Run petdeface on test data with uv run
run: |
uv run --with dist/*.whl petdeface petdeface/data/ data_defaced/ participant --participant_label sub-01