.github/workflows/doctests.yml #2
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
name: Doctests | |
on: | |
push: | |
branches: | |
- doctest* | |
repository_dispatch: | |
schedule: | |
- cron: "0 0 * * *" | |
env: | |
HF_HOME: /mnt/cache | |
RUN_SLOW: yes | |
OMP_NUM_THREADS: 16 | |
MKL_NUM_THREADS: 16 | |
jobs: | |
run_doctests: | |
runs-on: [single-gpu, nvidia-gpu, a10, ci] | |
container: | |
image: huggingface/diffusers-all-latest-gpu | |
options: --gpus 0 --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ | |
steps: | |
- name: Checkout diffusers | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: NVIDIA-SMI | |
uses: actions/checkout@v3 | |
run: | | |
nvidia-smi | |
- name: Install dependencies | |
run: python3 -m pip install -e .[quality,test,training] | |
- name: Environment | |
run: | | |
python3 utils/print_env.py | |
- name: Get doctest files | |
run: | | |
$(python3 -c 'from utils.tests_fetcher import get_all_doctest_files; to_test = get_all_doctest_files(); to_test = " ".join(to_test); fp = open("doc_tests.txt", "w"); fp.write(to_test); fp.close()') | |
- name: Run doctests | |
env: | |
HUGGING_FACE_HUB_TOKEN: ${{ secrets.HUGGING_FACE_HUB_TOKEN }} | |
run: | | |
python3 -m pytest -v --make-reports doc_tests_gpu --doctest-modules $(cat doc_tests.txt) -sv --doctest-continue-on-failure --doctest-glob="*.md" | |
- name: Failure short reports | |
if: ${{ failure() }} | |
continue-on-error: true | |
run: cat reports/doc_tests_gpu/failures_short.txt | |
- name: Test suite reports artifacts | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: doc_tests_gpu_test_reports | |
path: reports/doc_tests_gpu | |
send_results: | |
name: Send results to webhook | |
runs-on: ubuntu-22.04 | |
if: always() | |
needs: [run_doctests] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
- name: Send message to Slack | |
env: | |
CI_SLACK_BOT_TOKEN: ${{ secrets.CI_SLACK_BOT_TOKEN }} | |
CI_SLACK_CHANNEL_ID: ${{ secrets.CI_SLACK_CHANNEL_ID_DAILY_DOCS }} | |
CI_SLACK_CHANNEL_ID_DAILY: ${{ secrets.CI_SLACK_CHANNEL_ID_DAILY_DOCS }} | |
CI_SLACK_CHANNEL_DUMMY_TESTS: ${{ secrets.CI_SLACK_CHANNEL_DUMMY_TESTS }} | |
run: | | |
pip install slack_sdk | |
python utils/notification_service_doc_tests.py |