Skip to content

[CI] Allow skipping GPU test pipelines with a tag in commit message #35

[CI] Allow skipping GPU test pipelines with a tag in commit message

[CI] Allow skipping GPU test pipelines with a tag in commit message #35

name: Random Search Tests (GPU)
on:
push:
branches: ["dev", "refactoring"]
pull_request:
branches: ["dev", "refactoring"]
permissions:
contents: read
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
env:
POETRY_VERSION: '1.8.3'
PYTHON_VERSION: '3.11'
jobs:
test-random-search-gpu:
if: github.event.pull_request.draft == false
runs-on:
- self-hosted
- Linux
- ubuntu
- gpu
steps:
- name: Skip or not skip
env:
COMMIT_FILTER: "[skip gpu]"
run: |
# Get last commit message
readonly local last_commit_log=$(git log -1 --pretty=format:"%s")
echo "last commit log: $last_commit_log"
readonly local filter_count=$(echo "$last_commit_log" | grep -c "$COMMIT_FILTER" )
echo "number of occurrence of '$COMMIT_FILTER' in '$last_commit_log': $filter_count"
if [[ "$filter_count" -eq 0 ]]; then
echo "all good, continue"
else
echo "the last commit log \"$last_commit_log\" contains \"$COMMIT_FILTER\", stopping"
exit 0
fi
- uses: actions/checkout@v4
- uses: snok/install-poetry@v1
with:
version: ${{ env.POETRY_VERSION }}
virtualenvs-create: false
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Run Random Search tests on GPU
run: |
source "${HOME}/miniconda3/etc/profile.d/conda.sh"
make env.conda
conda activate "${{ github.workspace }}"/env
make install
cd tests
poetry run pytest \
--junitxml=./test-reports/test_random_search_report.xml \
--disable-warnings \
--verbose \
--basetemp=$HOME/actions_runner_workdir/random_search \
--input_data_directory=/mnt/data/clinicadl_data_ci/data_ci \
test_random_search.py
- name: Cleaning
run: |
rm -rf $HOME/actions_runner_workdir/random_search/*