name: e2e-docker-tests | |
on: | |
pull_request: | |
paths: | |
- '**.py' | |
- 'requirements.txt' | |
- '.github/workflows/*.yml' | |
workflow_dispatch: | |
jobs: | |
build-axolotl: | |
if: github.repository_owner == 'OpenAccess-AI-Collective' | |
# this job needs to be run on self-hosted GPU runners... | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- cuda: 118 | |
cuda_version: 11.8.0 | |
python_version: "3.10" | |
pytorch: 2.0.1 | |
- cuda: 121 | |
cuda_version: 12.1.0 | |
python_version: "3.10" | |
pytorch: 2.1.1 | |
runs-on: [self-hosted, gpu, docker] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build Docker image | |
run: | | |
# Set up build arguments | |
BASE_TAG="main-base-py${{ matrix.python_version }}-cu${{ matrix.cuda }}-${{ matrix.pytorch }}" | |
CUDA="${{ matrix.cuda }}" | |
PYTORCH_VERSION="${{ matrix.pytorch }}" | |
# Build the Docker image | |
docker build . \ | |
--file ./docker/Dockerfile-tests \ | |
--build-arg BASE_TAG=$BASE_TAG \ | |
--build-arg CUDA=$CUDA \ | |
--build-arg GITHUB_REF=$GITHUB_REF \ | |
--build-arg PYTORCH_VERSION=$PYTORCH_VERSION \ | |
--tag test-axolotl \ | |
--no-cache | |
- name: Unit Tests w docker image | |
run: | | |
docker run --rm test-axolotl pytest --ignore=tests/e2e/ /workspace/axolotl/tests/ | |
- name: GPU Unit Tests w docker image | |
run: | | |
docker run --privileged --gpus "all" --env WANDB_DISABLED=true --rm test-axolotl pytest --ignore=tests/e2e/patched/ /workspace/axolotl/tests/e2e/ | |
- name: GPU Unit Tests monkeypatched w docker image | |
run: | | |
docker run --privileged --gpus "all" --env WANDB_DISABLED=true --rm test-axolotl pytest /workspace/axolotl/tests/e2e/patched/ | |