Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable GPU tests runner for notebooks nightly #2039

Merged
merged 97 commits into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
0fcdcca
Add build treon reusable workflow
yatarkan May 22, 2024
619c27b
Enable build treon reusable workflow
yatarkan May 22, 2024
d6cca53
[Test] Limit testing notebooks
yatarkan May 22, 2024
b6ed506
Fix container matrix
yatarkan May 22, 2024
6cb3bfa
Fix script syntax
yatarkan May 22, 2024
4e4aadf
Remove job name
yatarkan May 22, 2024
46878b1
Comment set os name step
yatarkan May 22, 2024
168f509
Use runs_on as os name
yatarkan May 22, 2024
bb6a7b4
Revert "Use runs_on as os name"
yatarkan May 22, 2024
5fafe93
Revert "Comment set os name step"
yatarkan May 22, 2024
f7b44ef
Remove uninstalling openvino packages
yatarkan May 22, 2024
ffbe22a
Merge branch 'latest' into yt/add-gpu-to-statuses
yatarkan May 23, 2024
d2d2ff3
[Testing] Disable precommit workflow
yatarkan May 23, 2024
b77dc72
[Testing] Add pr trigger for nightly workflow
yatarkan May 23, 2024
4423d12
Remove sudo for installing apt dependencies in container mode
yatarkan May 23, 2024
7af1b5c
Fix ternary operator in workflow
yatarkan May 23, 2024
061fd3f
[Testing] Disable redeploy after nightly
yatarkan May 23, 2024
3823670
Add apt update for container use case
yatarkan May 23, 2024
4c67407
[Testing] Change artifact name to prevent overriding
yatarkan May 23, 2024
837b569
Add libssl installation
yatarkan May 23, 2024
0951342
Add separate step for installing dependencies in container
yatarkan May 23, 2024
32b9e59
Fix steps if statements
yatarkan May 23, 2024
ad6bf3b
Remove glibc installation
yatarkan May 23, 2024
046e4bf
Add unzip apt dependency
yatarkan May 23, 2024
d9ff679
Enable test device and test report dir variables
yatarkan May 23, 2024
8bfd876
Add device to aggregate notebook report generation
yatarkan May 23, 2024
3959b1e
Add installation of ov dependencies and gpu drivers
yatarkan May 23, 2024
ed19d1b
List dir
yatarkan May 23, 2024
8247819
Change downloaded script permissions
yatarkan May 23, 2024
65219b9
Add env vars to prevent user input durin packages installation
yatarkan May 23, 2024
36ab0a3
[Testing] Prevent triggering deploy workflow
yatarkan May 23, 2024
e2e1b07
Maked testing and inored notebooks sorted
yatarkan May 23, 2024
0ca2d40
Add sqlite dependency
yatarkan May 23, 2024
9d7dfea
Add libgl dependency
yatarkan May 23, 2024
ea29d0f
Add libgl libraries
yatarkan May 23, 2024
64ae760
Rename cache key
yatarkan May 23, 2024
f7c06b1
Trigger workflow
yatarkan May 23, 2024
00eff46
Skip set cache dir step
yatarkan May 23, 2024
4c863ee
Comment cache steps
yatarkan May 23, 2024
c65d0e8
Uncomment set cache dir step
yatarkan May 24, 2024
797bdf1
Skip installation of ov dependencies
yatarkan May 24, 2024
94b083a
Debug printing
yatarkan May 24, 2024
8630a4e
Add print python step for debugging
yatarkan May 24, 2024
42997ca
Set agent tools directory env var
yatarkan May 24, 2024
122ce6a
Set tools directory for container use case only
yatarkan May 24, 2024
88e1dce
Unskip steps with cache
yatarkan May 27, 2024
10b20fc
Limit testing notebooks to 3 items
yatarkan May 27, 2024
e53846b
Use latest dotenv actions
yatarkan May 27, 2024
d037853
Update notebooks status interface with device level
yatarkan May 27, 2024
d0f5385
Add gpu statuses to table
yatarkan May 27, 2024
fb229fb
Add test prefix to aggregated report file
yatarkan May 27, 2024
af25819
Enable aggregate reports step
yatarkan May 27, 2024
486cccb
Remove limitation of testing notebooks
yatarkan May 27, 2024
85db380
Add todo
yatarkan May 28, 2024
8d38052
Merge branch 'latest' into yt/add-gpu-to-statuses
yatarkan May 28, 2024
31451a4
Update dotenv action version
yatarkan May 28, 2024
6b1cdde
Add input for testing only changed notebooks
yatarkan May 28, 2024
c5a2190
Reuse build treon workflow for precommit
yatarkan May 28, 2024
3dfd1b2
Add heavy ubuntu gpu notebooks to validation ignore list
yatarkan May 28, 2024
9a388a1
Fix heavy ubuntu gpu file name
yatarkan May 28, 2024
69ffa1f
Fix commant new line wrap
yatarkan May 28, 2024
12439bd
Set GIT_CLONE_PROTECTION_ACTIVE env var
yatarkan May 28, 2024
5e0604a
Merge branch 'latest' into yt/add-gpu-to-statuses
yatarkan May 28, 2024
0ab2631
Check git version
yatarkan May 29, 2024
203f866
Add git install for container
yatarkan May 29, 2024
60b6248
Add printing of available devices
yatarkan May 30, 2024
3cccbfa
Limit testing notebooks
yatarkan May 30, 2024
8aa183d
Remove check git step
yatarkan May 30, 2024
a7c4631
Add explicit ov installation
yatarkan May 30, 2024
faf8209
Merge branch 'latest' into yt/add-gpu-to-statuses
yatarkan May 30, 2024
fbc7c21
Skip print devices step
yatarkan May 30, 2024
2045566
Switch to ov 24.2 dev for testing
yatarkan May 30, 2024
e3a5901
Revert "Switch to ov 24.2 dev for testing"
yatarkan May 30, 2024
f2d2f1e
Add debug install detectron
yatarkan May 30, 2024
966e9ae
Add printing torch version
yatarkan May 30, 2024
d97ec1b
Try using torch v2.2 for detectron
yatarkan May 31, 2024
8870974
Revert "Try using torch v2.2 for detectron"
yatarkan May 31, 2024
34cc125
Limit job matrix for testing
yatarkan May 31, 2024
4795e2b
Skip pip cache step
yatarkan May 31, 2024
9eb54db
Add torch python import for debugging
yatarkan May 31, 2024
152f681
Add no build isolation flag
yatarkan May 31, 2024
bdc5cc0
Add ninja installation
yatarkan May 31, 2024
16c13d6
Skip AGENT_TOOLSDIRECTORY
yatarkan May 31, 2024
69177df
Remove index url
yatarkan May 31, 2024
5b8f7ac
Add wheel installation for detectron
yatarkan May 31, 2024
effde5a
Remove debug step
yatarkan May 31, 2024
e1d3d7f
Add wheel dependency to detectron notebook
yatarkan May 31, 2024
654eb32
Add opencv dependency to detectron notebook
yatarkan May 31, 2024
6e1e2de
Limit testing notebooks to detectron only
yatarkan May 31, 2024
6ac7504
Limit testing notebooks to 6 items
yatarkan May 31, 2024
dd10d83
Unskip treon gpu job
yatarkan May 31, 2024
066be83
Merge branch 'latest' into yt/add-gpu-to-statuses
yatarkan Jun 3, 2024
a5d5634
Remove testing notebooks limitation
yatarkan Jun 3, 2024
dc04ec8
Remove test prefix for status file
yatarkan Jun 3, 2024
0c9fafa
Unskip disabled workflows
yatarkan Jun 3, 2024
af433d8
Fix black
yatarkan Jun 3, 2024
27f7dac
Fix steps order
yatarkan Jun 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions .ci/aggregate_notebooks_reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,29 @@
class ValidationMatrix:
os = ("ubuntu-20.04", "ubuntu-22.04", "windows-2019", "macos-12")
python = ("3.8", "3.9", "3.10")
device = ("cpu", "gpu")

@classmethod
def values(cls):
return product(cls.os, cls.python)
return product(cls.device, cls.os, cls.python)


def get_report_file_path(os: str, python: str) -> Path:
return Path(REPORTS_DIR) / f"{os}-{python}" / "test_report.csv"
def get_report_file_path(device: str, os: str, python: str) -> Path:
return Path(REPORTS_DIR) / f"{device}-{os}-{python}" / "test_report.csv"


def get_default_status_dict(notebook_name: str) -> Dict:
default_status = None

def _get_python_status_dict():
def _get_python_dict():
return dict((python, default_status) for python in ValidationMatrix.python)

def _get_device_dict():
return dict((device, _get_python_dict()) for device in ValidationMatrix.device)

return {
"name": notebook_name,
"status": dict((os, _get_python_status_dict()) for os in ValidationMatrix.os),
"status": dict((os, _get_device_dict()) for os in ValidationMatrix.os),
}


Expand All @@ -39,8 +43,11 @@ def write_json_file(filename: str, data: Dict):

def main():
NOTEBOOKS_STATUS_MAP = {}
for os, python in ValidationMatrix.values():
report_file_path = get_report_file_path(os, python)
for device, os, python in ValidationMatrix.values():
if device == "gpu" and not os.startswith("ubuntu"):
print(f'Tests are not available for "{device}" device and "{os}".')
continue
report_file_path = get_report_file_path(device, os, python)
if not report_file_path.exists():
print(f'Report file "{report_file_path}" does not exists.')
continue
Expand All @@ -51,7 +58,7 @@ def main():
status = row["status"]
if name not in NOTEBOOKS_STATUS_MAP:
NOTEBOOKS_STATUS_MAP[name] = get_default_status_dict(name)
NOTEBOOKS_STATUS_MAP[name]["status"][os][python] = status
NOTEBOOKS_STATUS_MAP[name]["status"][os][device][python] = status
write_json_file(Path(REPORTS_DIR) / "notebooks-status-map.json", NOTEBOOKS_STATUS_MAP)


Expand Down
3 changes: 2 additions & 1 deletion .ci/validate_notebooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ def prepare_test_plan(test_list: Optional[List[str]], ignore_list: List[str], nb
raise ValueError(
f"Ignore list items should be relative to repo root (e.g. 'notebooks/subdir/notebook.ipynb').\nInvalid ignored notebooks: {ignored_notebooks}"
)
ignored_notebooks = sorted(ignored_notebooks)
print(f"Ignored notebooks: {ignored_notebooks}")

testing_notebooks: List[Path] = []
Expand Down Expand Up @@ -121,7 +122,7 @@ def prepare_test_plan(test_list: Optional[List[str]], ignore_list: List[str], nb
"Testing notebooks should be provided to '--test_list' argument as a txt file or should be empty to test all notebooks.\n"
f"Received test list: {test_list}"
)
testing_notebooks = list(set(testing_notebooks))
testing_notebooks = sorted(list(set(testing_notebooks)))
print(f"Testing notebooks: {testing_notebooks}")

for notebook in test_plan:
Expand Down
314 changes: 314 additions & 0 deletions .github/workflows/build_treon_reusable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,314 @@
name: Build Treon Reusable Workflow

on:
workflow_call:
inputs:
runs_on:
required: true
type: string
python:
required: true
type: string
container:
required: false
type: string
default: null
test_only_changed:
required: false
type: boolean
default: false

jobs:
build_treon:
runs-on: ${{ inputs.runs_on }}
container:
image: ${{ inputs.container }}
options: --device /dev/dri:/dev/dri --group-add 109 --group-add 44
volumes:
- /dev/dri:/dev/dri
steps:
- name: Set env variables
uses: actions/github-script@v7
with:
script: |
const container = "${{ inputs.container }}";
const runsOn = "${{ inputs.runs_on }}";
const osName = !container ? "${{ inputs.runs_on }}" : container.replace(':', '-');
const testDevice = runsOn === 'gpu' ? 'gpu' : 'cpu';
const testReportDir = `${testDevice}-${osName}-${{ inputs.python }}`;
core.exportVariable('OS_NAME', osName);
core.exportVariable('TEST_DEVICE', testDevice);
core.exportVariable('TEST_REPORT_DIR', testReportDir);
core.exportVariable('GIT_CLONE_PROTECTION_ACTIVE', 'false');

#### Installation/preparation ####
#
# These steps are also copied to convert_notebooks.yml
- name: Checkout repository
uses: actions/checkout@v4

- name: Get changed files
if: ${{ inputs.test_only_changed }}
id: changed-files
uses: tj-actions/changed-files@v44
with:
files: |
notebooks/*/**
requirements.txt

- name: List all changed files
if: ${{ inputs.test_only_changed }}
shell: bash
run: |
touch test_notebooks.txt
changed_files="${{ steps.changed-files.outputs.all_changed_files }}"
changed_files=$(echo $changed_files | tr '\\' '/')
for file in $changed_files; do
echo "$file was changed"
echo $file >> test_notebooks.txt
done

- name: Dotenv Action
id: dotenv
uses: xom9ikk/[email protected]
with:
path: ./.github/workflows

- name: Install required packages
if: ${{ !inputs.container }}
shell: bash
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update -y
sudo apt-get install libsndfile1 -y
fi

- name: Install required packages (container)
if: ${{ inputs.container }}
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
TZ: 'Europe/London' # to prevent tzdata from waiting user input
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
apt-get update -y
apt-get install git curl wget libsndfile1 libssl-dev unzip libsqlite3-dev libedit-dev libgl1 libgl1-mesa-glx libglib2.0-0 -y
wget https://raw.githubusercontent.com/openvinotoolkit/openvino/master/scripts/install_dependencies/install_openvino_dependencies.sh
chmod +x ./install_openvino_dependencies.sh
./install_openvino_dependencies.sh -c=core -c=dev -c=gpu -y
fi

- name: Install GPU Drivers
if: ${{ inputs.container }}
shell: bash
run: |
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.15985.7/intel-igc-core_1.0.15985.7_amd64.deb
wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.15985.7/intel-igc-opencl_1.0.15985.7_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-level-zero-gpu-dbgsym_1.3.28454.6_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-level-zero-gpu_1.3.28454.6_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-opencl-icd-dbgsym_24.05.28454.6_amd64.ddeb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/intel-opencl-icd_24.05.28454.6_amd64.deb
wget https://github.com/intel/compute-runtime/releases/download/24.05.28454.6/libigdgmm12_22.3.11_amd64.deb
dpkg -i *.deb

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '${{ inputs.python }}'
env:
AGENT_TOOLSDIRECTORY: ${{ inputs.container && '/opt/hostedtoolcache' || '' }}

- name: Cache Pip Packages
id: cachepip
uses: actions/cache@v3
with:
path: |
pipcache
key: ${{ env.PIP_CACHE_KEY }}-${{ env.OS_NAME }}-${{ inputs.python }}

# Cache specific files to reduce downloads or prevent network issues
- name: Cache Files
id: cachefiles
uses: actions/cache@v3 # TODO Consider updating cache action to v4
with:
path: |
# NOTE: when modifying cache paths, update FILES_CACHE_KEY in .env
# and change cache paths in both treon.yml and convert_notebooks.yml
case_00030.zip
notebooks/ct-segmentation-quantize/kits19_frames_1
notebooks/pytorch-post-training-quantization-nncf/output/tiny-imagenet-200.zip
# omz cache location is set to this with test_replace
notebooks/optical-character-recognition/open_model_zoo_cache
notebooks/ct-scan-live-inference/kits19_frames_1
notebooks/pytorch-quantization-aware-training/data/tiny-imagenet-200.zip
key: ${{ env.FILES_CACHE_KEY }}

# PaddleGAN stores cache in ppgan directory in CACHE_DIR
- name: Set CACHE_DIR
shell: bash
run: |
python -c 'import os;print("CACHE_DIR={0}".format(os.path.expanduser(os.path.join("~", ".cache"))))'
# replace backslashes with forward slashes for Windows paths
python -c 'import os;print("CACHE_DIR={0}".format(os.path.expanduser(os.path.join("~", ".cache"))))' | sed -e 's/\\/\//g' >> $GITHUB_ENV

# PaddleHub stores cache in directory pointed to by HUB_HOME environment variable
- name: Set HUB_HOME
shell: bash
run: |
echo HUB_HOME=${{ env.CACHE_DIR }}/.paddlehub >> $GITHUB_ENV

# Cache PaddlePaddle cache directories to prevent CI failing due to network/download issues
- name: Cache PaddlePaddle cache directories
id: cacheusercache
uses: actions/cache@v3
with:
path: |
${{ env.HUB_HOME }}
${{ env.CACHE_DIR }}/paddle
${{ env.CACHE_DIR }}/ppgan
key: ${{ env.USER_CACHE_KEY }}-${{ env.OS_NAME }}

- name: Cache openvino packages
if: steps.cachepip.outputs.cache-hit != 'true'
run: |
python -m pip install --upgrade pip
mkdir pipcache
python -m pip install --cache-dir pipcache --no-deps openvino openvino-dev nncf
cp -r pipcache pipcache_openvino
# python -m pip uninstall -y openvino openvino-dev nncf

# Download a small dataset to use for testing purposes in monai-kidney training notebook
- name: Download CT files
if: steps.cachefiles.outputs.cache-hit != 'true'
run: |
curl -O https://storage.openvinotoolkit.org/data/test_data/openvino_notebooks/kits19/case_00030.zip
- name: Copy CT files
run: |
mkdir notebooks/ct-segmentation-quantize/kits19
mkdir notebooks/ct-segmentation-quantize/kits19/kits19_frames
unzip case_00030.zip
cp -r case_00030 case_00001
mv case_00030 notebooks/ct-segmentation-quantize/kits19/kits19_frames
mv case_00001 notebooks/ct-segmentation-quantize/kits19/kits19_frames

# Prevent test aborting by timeout for 'meter-reader' and 'paddle-ocr-webcam' notebooks
- name: Download long loading models for 'meter-reader' and 'paddle-ocr-webcam' notebooks
run: |
mkdir notebooks/meter-reader/model
curl -o notebooks/meter-reader/model/meter_det_model.tar.gz 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/meter-reader/meter_det_model.tar.gz'
curl -o notebooks/meter-reader/model/meter_seg_model.tar.gz 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/meter-reader/meter_seg_model.tar.gz'
mkdir notebooks/paddle-ocr-webcam/model
curl -o notebooks/paddle-ocr-webcam/model/ch_PP-OCRv3_det_infer.tar 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/paddle-ocr/ch_PP-OCRv3_det_infer.tar'
curl -o notebooks/paddle-ocr-webcam/model/ch_PP-OCRv3_rec_infer.tar 'https://storage.openvinotoolkit.org/repositories/openvino_notebooks/models/paddle-ocr/ch_PP-OCRv3_rec_infer.tar'

- name: Install python dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r .ci/dev-requirements.txt --cache-dir pipcache
python -m ipykernel install --user --name openvino_env

# Cache OpenVINO packages (`mv` works cross-platform)
- name: Make pipcache directory with OpenVINO packages
if: steps.cachepip.outputs.cache-hit != 'true'
run: |
mv pipcache pipcache_full
mv pipcache_openvino pipcache

# Create list of installed pip packages that can be downloaded as artifacts
# to verify the exact environment of a specific test run
- name: pip freeze
run: |
python -m pip freeze
python -m pip freeze > pip-freeze-${{ env.TEST_DEVICE }}-${{ github.sha }}-${{ env.OS_NAME }}-${{ inputs.python }}.txt
- name: Upload pip freeze artifact
uses: actions/upload-artifact@v4
with:
name: pip-freeze-${{ env.TEST_DEVICE }}-${{ env.OS_NAME }}-${{ inputs.python }}
path: pip-freeze-${{ env.TEST_DEVICE }}-${{ github.sha }}-${{ env.OS_NAME }}-${{ inputs.python }}.txt
#### End installation/preparation

- name: Check install
run: |
python check_install.py

# Patch long running cells to run faster
- name: Patch notebooks
run: |
python .ci/patch_notebooks.py . -td ${{ env.TEST_DEVICE }}

# Test that JupyterLab runs without errors
- name: Test Jupyterlab
run: |
jupyter lab notebooks --help

# Main notebooks test. Verifies that all notebooks run without errors
- name: Analysing with treon (Windows) python > 3.8
if: runner.os == 'Windows' && inputs.python != '3.8'
shell: bash
run: |
python .ci/validate_notebooks.py \
${{ inputs.test_only_changed && '--test_list test_notebooks.txt' || '' }} \
--ignore_list .ci/ignore_treon_win.txt \
--report_dir test_report/${{ env.TEST_REPORT_DIR }} \
--move_notebooks_dir c:/notebooks \
--timeout 1200
- name: Analysing with treon (Windows) python 3.8
if: runner.os == 'Windows' && inputs.python == '3.8'
shell: bash
run: |
python .ci/validate_notebooks.py \
${{ inputs.test_only_changed && '--test_list test_notebooks.txt' || '' }} \
--ignore_list .ci/ignore_treon_win.txt .ci/ignore_treon_py38.txt \
--report_dir test_report/${{ env.TEST_REPORT_DIR }} \
--move_notebooks_dir c:/notebooks \
--timeout 1200
- name: Analysing with treon (Linux) python > 3.8
if: runner.os == 'Linux' && inputs.python != '3.8'
shell: bash
run: |
python .ci/validate_notebooks.py \
${{ inputs.test_only_changed && '--test_list test_notebooks.txt' || '' }} \
--ignore_list .ci/ignore_treon_linux.txt ${{ env.TEST_DEVICE == 'gpu' && '.ci/heavy_ubuntu_gpu.txt' || '' }} \
--report_dir test_report/${{ env.TEST_REPORT_DIR }} \
--timeout 1200
- name: Analysing with treon (Linux) python 3.8
if: runner.os == 'Linux' && inputs.python == '3.8'
shell: bash
run: |
python .ci/validate_notebooks.py \
${{ inputs.test_only_changed && '--test_list test_notebooks.txt' || '' }} \
--ignore_list .ci/ignore_treon_linux.txt .ci/ignore_treon_py38.txt ${{ env.TEST_DEVICE == 'gpu' && '.ci/heavy_ubuntu_gpu.txt' || '' }} \
--report_dir test_report/${{ env.TEST_REPORT_DIR }} \
--timeout 1200
- name: Analysing with treon (MacOS) python > 3.8
if: runner.os == 'MacOS' && inputs.python != '3.8'
shell: bash
run: |
python .ci/validate_notebooks.py \
${{ inputs.test_only_changed && '--test_list test_notebooks.txt' || '' }} \
--ignore_list .ci/ignore_treon_mac.txt \
--report_dir test_report/${{ env.TEST_REPORT_DIR }} \
--timeout 1200
- name: Analysing with treon (MacOS) python 3.8
if: runner.os == 'MacOS' && inputs.python == '3.8'
shell: bash
run: |
python .ci/validate_notebooks.py \
${{ inputs.test_only_changed && '--test_list test_notebooks.txt' || '' }} \
--ignore_list .ci/ignore_treon_mac.txt .ci/ignore_treon_py38.txt \
--report_dir test_report/${{ env.TEST_REPORT_DIR }} \
--timeout 1200

- name: Archive notebook test report
if: always()
uses: actions/upload-artifact@v4
with:
name: test_report-${{ env.TEST_REPORT_DIR }}
path: test_report/

# Show the cache after running the notebooks
- name: Show cache
if: runner.os != 'Windows'
run: |
ls -laR ${{ env.CACHE_DIR }}
du -sh ${{ env.CACHE_DIR }}
2 changes: 1 addition & 1 deletion .github/workflows/codecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
uses: actions/checkout@v4
- name: Dotenv Action
id: dotenv
uses: xom9ikk/dotenv@v1.0.2
uses: xom9ikk/dotenv@v2.3.0
with:
path: ./.github/workflows
- name: Set up Python
Expand Down
Loading
Loading