Skip to content

Commit b51900c

Browse files
dkueglerm-reuter
authored andcommitted
Fix the freesurfer build image (extract version from install_fs_pruned.sh)
1 parent 33f29bd commit b51900c

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

.github/actions/build-docker/action.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ runs:
3333
- name: Set up Docker Buildx
3434
uses: docker/setup-buildx-action@v3
3535
- name: Recover freesurfer build image
36-
if: ${{ startsWith( inputs.freesurfer-build-image, 'fastsurfer:') }}
36+
if: ${{ contains( inputs.freesurfer-build-image, 'fastsurfer-build:freesurfer') }}
3737
uses: ./.github/actions/load-docker
3838
with:
3939
docker-image: ${{ inputs.freesurfer-build-image }}
@@ -46,18 +46,18 @@ runs:
4646
run: |
4747
echo "::group::Build FastSurfer Image"
4848
if [[ "${{ inputs.tag }}" != "auto" ]] ; then image_name="${{ inputs.tag }}"
49-
else v="$(bash $FASTSURFER_HOME/run_fastsurfer.sh --version)" ; image_name="fastsurfer:cpu-${v/+/_}"
49+
else v="$(bash "$FASTSURFER_HOME/run_fastsurfer.sh" --version)" ; image_name="fastsurfer:cpu-${v/+/_}"
5050
fi
51-
cmd="python $FASTSURFER_HOME/Docker/build.py --device cpu --tag $image_name --target ${{ inputs.target }}"
51+
cmd=(python "$FASTSURFER_HOME/Docker/build.py" --device cpu --tag "$image_name" --target "${{ inputs.target }}")
5252
if [[ "${{ inputs.freesurfer-build-image }}" != "rebuild" ]] ; then
53-
cmd="$cmd --freesurfer_build_image ${{ inputs.freesurfer-build-image }}"
53+
cmd+=(--freesurfer_build_image "${{ inputs.freesurfer-build-image }}")
5454
fi
55-
$cmd
55+
"${cmd[@]}"
5656
echo "::endgroup::"
5757
echo "::group::Save image as artifact"
5858
echo "IMAGE_NAME=$image_name" | tee /tmp/image_name.env >> $GITHUB_OUTPUT
5959
# Export image
60-
docker save $image_name -o /tmp/docker-image.tar
60+
docker save "$image_name" -o /tmp/docker-image.tar
6161
- name: Save docker image
6262
uses: actions/upload-artifact@v4
6363
with:

.github/workflows/quicktest.yaml

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ on:
2424
workflow_dispatch:
2525
inputs:
2626
docker-image:
27-
name: 'Docker image to run with'
2827
description: 'Which docker image should be used to run this test (build-cached => build from git)'
2928
default: build-cached
3029
type: string
30+
freesurfer_build_image:
31+
description: 'FreeSurfer build image to build with'
32+
type: string
3133

3234
env:
3335
SUBJECTS_DIR: /tmp/subjects
@@ -99,13 +101,29 @@ jobs:
99101
steps:
100102
- name: Checkout repository
101103
uses: actions/checkout@v4
104+
- name: Get the FreeSurfer version
105+
shell: bash
106+
run: |
107+
# get the FreeSurfer verson from install_fs_pruned.sh
108+
{
109+
eval "$(grep "^fslink=" ./Docker/install_fs_pruned.sh)"
110+
fs_version="$(basename "$(dirname "$fslink")")"
111+
fs_version_short="${fs_version//\./}"
112+
echo "FS_VERSION=$fs_version"
113+
echo "FS_VERSION_SHORT=$fs_version_short"
114+
if [[ -n "${{ inputs.freesurfer_build_image }}" ]] ; then
115+
echo "FS_BUILD_IMAGE=${{ inputs.freesurfer_build_image }}"
116+
else
117+
echo "FS_BUILD_IMAGE=deepmi/fastsurfer-build:freesurfer$fs_version_short"
118+
fi
119+
} > $GITHUB_ENV
102120
- uses: ./.github/actions/build-docker@dev
103121
# This action needs the "full" checkout (located at ${{ inputs.fastsurfer-home }})
104122
with:
105123
fastsurfer-home: .
106124
# currently, this image has to be updated and used to circumvent storage limitations in github actions
107125
# and it is also faster to use this prebuilt, reduced-size freesurfer distribution
108-
freesurfer-build-image: dkuegler/fastsurfer:fs741-build-image
126+
freesurfer-build-image: "${{ env.FS_BUILD_IMAGE }}"
109127
run-1mm:
110128
name: 'Run FastSurfer on the 1mm sample image'
111129
needs: build-docker-latest

0 commit comments

Comments
 (0)