Integration Tests (push to "main") #59
Workflow file for this run
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
# CI for specifically ensuring integrations work fine (`transformers` mainly) on GPUs | |
# Useful tips: | |
# - `working-directory` should be set to the root of the repo, which is cloned on the actual CI runner. | |
# It follows the directory structure of `actions-runner/_work/{repo_name}/{repo_name}/{cloned_repo} on | |
# prem, but in Actions setting `working-directory` looks just in the `{repo_name}` level. | |
# - New integrations to test should have its own job, and follow a strategy method where we check both | |
# the pypi and github versions. | |
# - Workflow call lets this be called from `build_and_run_tests.yml` | |
# - When using a docker container, it's recommended to set `--shm-size`, we use 16gb. | |
name: Integration Tests (push to "main") | |
on: | |
workflow_call: | |
workflow_dispatch: | |
env: | |
HF_HOME: ~/hf_cache | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
run-trainer-tests: | |
container: | |
image: huggingface/accelerate-gpu:latest | |
options: --gpus all --shm-size "16gb" | |
runs-on: [self-hosted, docker-gpu, multi-gpu, gcp] | |
strategy: | |
fail-fast: false | |
matrix: | |
transformers-version: [ | |
pypi, | |
github | |
] | |
cuda_visible_devices: [ | |
"0", | |
"0,1" | |
] | |
steps: | |
- name: Install transformers | |
run: | | |
source activate accelerate | |
git clone --filter=blob:none --no-checkout https://github.com/huggingface/transformers | |
cd transformers | |
if [[ ${{ matrix.transformers-version }} = pypi ]]; then | |
git checkout $(git tag --sort=taggerdate | tail -1); else | |
git checkout main | |
fi | |
pip install .[torch,deepspeed-testing] | |
cd .. | |
- name: Install accelerate | |
run: | |
source activate accelerate; | |
git clone https://github.com/huggingface/accelerate | |
cd accelerate | |
git checkout ${{ github.sha }} | |
pip install -e .[testing]; | |
cd .. | |
- name: Show installed libraries | |
run: | | |
source activate accelerate; | |
pip freeze | |
- name: Run trainer tests | |
working-directory: transformers/ | |
env: | |
CUDA_VISIBLE_DEVICES: ${{ matrix.cuda_visible_devices }} | |
WANDB_DISABLED: true | |
run: | | |
source activate accelerate; | |
pytest -sv tests/trainer | |
- name: Run deepspeed tests | |
working-directory: transformers/ | |
env: | |
CUDA_VISIBLE_DEVICES: ${{ matrix.cuda_visible_devices }} | |
WANDB_DISABLED: true | |
if: always() | |
run: | | |
source activate accelerate; | |
pytest -sv tests/deepspeed | |
run-skorch-tests: | |
container: | |
image: huggingface/accelerate-gpu:latest | |
options: --gpus all --shm-size "16gb" | |
runs-on: [self-hosted, docker-gpu, multi-gpu, gcp] | |
strategy: | |
fail-fast: false | |
matrix: | |
skorch-version: [ | |
pypi, | |
github | |
] | |
steps: | |
- name: Install accelerate | |
run: | |
source activate accelerate; | |
git clone https://github.com/huggingface/accelerate | |
cd accelerate | |
git checkout ${{ github.sha }}; | |
pip install -e .[testing]; | |
cd .. | |
- name: Install skorch | |
run: | | |
source activate accelerate | |
git clone --filter=blob:none --no-checkout https://github.com/skorch-dev/skorch | |
cd skorch | |
if [[ ${{ matrix.skorch-version }} = pypi ]]; then | |
git checkout $(git describe --tags `git rev-list --tags --max-count=1`); else | |
git checkout main | |
fi | |
pip install .[testing] | |
pip install flaky | |
cd .. | |
- name: Show installed libraries | |
run: | | |
source activate accelerate; | |
pip freeze | |
- name: Run skorch tests | |
working-directory: skorch/ | |
run: | | |
source activate accelerate; | |
pytest -sv -k TestAccelerate |