Self-hosted runner with slow tests (scheduled) #132
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Self-hosted runner with slow tests (scheduled) | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 2 * * *" | |
env: | |
RUN_SLOW: "yes" | |
IS_GITHUB_CI: "1" | |
# To be able to run tests on CUDA 12.2 | |
NVIDIA_DISABLE_REQUIRE: "1" | |
SLACK_API_TOKEN: ${{ secrets.SLACK_API_TOKEN }} | |
jobs: | |
run_all_tests_single_gpu: | |
strategy: | |
fail-fast: false | |
runs-on: [self-hosted, single-gpu, nvidia-gpu, t4, ci] | |
env: | |
CUDA_VISIBLE_DEVICES: "0" | |
TEST_TYPE: "single_gpu" | |
container: | |
image: huggingface/peft-gpu:latest | |
options: --gpus all --shm-size "16gb" -e NVIDIA_DISABLE_REQUIRE=true | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Pip install | |
run: | | |
source activate peft | |
pip install -e . --no-deps | |
pip install pytest-reportlog | |
- name: Run common tests on single GPU | |
run: | | |
source activate peft | |
make tests_common_gpu | |
- name: Run examples on single GPU | |
run: | | |
source activate peft | |
make tests_examples_single_gpu | |
- name: Run core tests on single GPU | |
run: | | |
source activate peft | |
make tests_core_single_gpu | |
- name: Run regression tests on single GPU | |
run: | | |
source activate peft | |
make tests_regression | |
- name: Generate Report | |
if: always() | |
run: | | |
pip install slack_sdk tabulate | |
python scripts/log_reports.py >> $GITHUB_STEP_SUMMARY | |
run_all_tests_multi_gpu: | |
strategy: | |
fail-fast: false | |
runs-on: [self-hosted, multi-gpu, nvidia-gpu, t4, ci] | |
env: | |
CUDA_VISIBLE_DEVICES: "0,1" | |
TEST_TYPE: "multi_gpu" | |
container: | |
image: huggingface/peft-gpu:latest | |
options: --gpus all --shm-size "16gb" -e NVIDIA_DISABLE_REQUIRE=true | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Pip install | |
run: | | |
source activate peft | |
pip install -e . --no-deps | |
pip install pytest-reportlog | |
- name: Run core GPU tests on multi-gpu | |
run: | | |
source activate peft | |
- name: Run common tests on multi GPU | |
run: | | |
source activate peft | |
make tests_common_gpu | |
- name: Run examples on multi GPU | |
run: | | |
source activate peft | |
make tests_examples_multi_gpu | |
- name: Run core tests on multi GPU | |
run: | | |
source activate peft | |
make tests_core_multi_gpu | |
- name: Generate Report | |
if: always() | |
run: | | |
pip install slack_sdk tabulate | |
python scripts/log_reports.py >> $GITHUB_STEP_SUMMARY |