|
name: Doctests |
|
|
|
on: |
|
push: |
|
branches: |
|
- doctest* |
|
repository_dispatch: |
|
schedule: |
|
- cron: "0 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: |
|
- uses: actions/checkout@v3 |
|
- name: NVIDIA-SMI |
|
run: | |
|
nvidia-smi |
|
|
|
- name: GPU visibility |
|
run: | |
|
python3 utils/print_env.py |
|
|
|
- name: Show installed libraries and their versions |
|
run: pip freeze |
|
|
|
- name: Prepare files for doctests |
|
run: | |
|
python3 utils/prepare_for_doc_test.py src docs |
|
|
|
- name: Run doctests |
|
run: | |
|
python3 -m pytest -v --make-reports doc_tests_gpu --doctest-modules $(cat utils/documentation_tests.txt) -sv --doctest-continue-on-failure --doctest-glob="*.mdx" |
|
|
|
- name: Clean files after doctests |
|
run: | |
|
python3 utils/prepare_for_doc_test.py src docs --remove_new_line |
|
|
|
- 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 |
|
|