name: Doctests on: push: branches: - doctest* repository_dispatch: schedule: - cron: "17 2 * * *" env: HF_HOME: /mnt/cache TRANSFORMERS_IS_CI: yes RUN_SLOW: yes OMP_NUM_THREADS: 16 MKL_NUM_THREADS: 16 SIGOPT_API_TOKEN: ${{ secrets.SIGOPT_API_TOKEN }} TF_FORCE_GPU_ALLOW_GROWTH: true jobs: run_doctests: runs-on: [self-hosted, doc-tests-gpu] container: image: huggingface/transformers-all-latest-gpu options: --gpus 0 --shm-size "16gb" --ipc host -v /mnt/cache/.cache/huggingface:/mnt/cache/ steps: - name: uninstall transformers (installed during docker image build) run: python3 -m pip uninstall -y transformers - uses: actions/checkout@v3 - name: NVIDIA-SMI run: | nvidia-smi - name: Install transformers in edit mode run: python3 -m pip install -e .[flax] - name: GPU visibility run: | python3 utils/print_env.py - name: Show installed libraries and their versions run: pip freeze - 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 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-latest 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