diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 267787f455..5185637281 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -50,6 +50,3 @@ my be illegible. It may be easiest to save the output of each to a file. #### Does this change modify the behaviour of other functions? If so, which? yes / no - - -skip ci diff --git a/.github/workflows/ci_cpu.yml b/.github/workflows/ci_cpu.yml index 312abbcf13..a8b3f2efa7 100644 --- a/.github/workflows/ci_cpu.yml +++ b/.github/workflows/ci_cpu.yml @@ -10,11 +10,11 @@ jobs: - name: Mirror + trigger CI uses: SvanBoxel/gitlab-mirror-and-ci-action@master with: - args: "https://gitlab.jsc.fz-juelich.de/haf/heat" + args: "https://gitlab.hzdr.de/haf/heat" env: FORCE_PUSH: "true" - GITLAB_HOSTNAME: "gitlab.jsc.fz-juelich.de" + GITLAB_HOSTNAME: "gitlab.hzdr.de" GITLAB_USERNAME: "" - GITLAB_PASSWORD: ${{ secrets.GITLAB_TOKEN }} - GITLAB_PROJECT_ID: "4935" + GITLAB_PASSWORD: ${{ secrets.GITLAB_TOKEN_1 }} + GITLAB_PROJECT_ID: "845" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 10a3b4f889..822a501a9a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,19 +1,29 @@ test: - image: ubuntu:20.04 + image: nvidia/cuda:11.6.2-runtime-ubuntu20.04 tags: - - heat + - cuda + - x86_64 script: - - apt update - - apt -y install build-essential python3-pip curl - - DEBIAN_FRONTEND=noninteractive apt -y install libopenmpi-dev openmpi-bin openmpi-doc - - apt -y install libhdf5-openmpi-dev libpnetcdf-dev - - pip install pytest coverage - - pip install .[hdf5,netcdf] - - COVERAGE_FILE=report/cov/coverage1 mpirun --allow-run-as-root -n 1 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report1.xml heat/ - - COVERAGE_FILE=report/cov/coverage2 mpirun --allow-run-as-root -n 3 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report2.xml heat/ - - COVERAGE_FILE=report/cov/coverage5 mpirun --allow-run-as-root -n 5 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report5.xml heat/ - - COVERAGE_FILE=report/cov/coverage8 mpirun --allow-run-as-root -n 8 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report8.xml heat/ - - coverage combine report/cov/* - - coverage report - - coverage xml - - curl -s https://codecov.io/bash | bash -s -- -c -F unit -f coverage.xml -t $CODECOV_TOKEN || echo "Codecov failed to upload" + - apt update + - apt -y install build-essential python3-pip curl git + - DEBIAN_FRONTEND=noninteractive apt -y install libopenmpi-dev openmpi-bin openmpi-doc + - apt -y install libhdf5-openmpi-dev libpnetcdf-dev + - pip install pytest coverage + - pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116 + - pip install .[hdf5,netcdf] + - COVERAGE_FILE=report/cov/coverage1 HEAT_TEST_USE_DEVICE=cpu mpirun --allow-run-as-root -n 1 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report1.xml heat/ + - COVERAGE_FILE=report/cov/coverage2 HEAT_TEST_USE_DEVICE=gpu mpirun --allow-run-as-root -n 3 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report3.xml heat/ + - COVERAGE_FILE=report/cov/coverage5 HEAT_TEST_USE_DEVICE=cpu mpirun --allow-run-as-root -n 5 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report5.xml heat/ + - COVERAGE_FILE=report/cov/coverage8 HEAT_TEST_USE_DEVICE=gpu mpirun --allow-run-as-root -n 6 coverage run --source=heat --parallel-mode -m pytest --junitxml=report/test/report6.xml heat/ + - coverage combine report/cov/* + - coverage report + - coverage xml + - curl -Os https://uploader.codecov.io/latest/linux/codecov + - chmod +x codecov + - ./codecov -F unit -f ./coverage.xml -t $CODECOV_TOKEN -Z + artifacts: + when: always + paths: + - report/test/report*.xml + reports: + junit: report/test/report*.xml diff --git a/README.md b/README.md index ad5ebcfc35..fc2b53886e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Heat is a distributed tensor framework for high performance data analytics. Project Status -------------- -[![Mirror and run GitLab CI](https://github.com/helmholtz-analytics/heat/actions/workflows/ci_cpu.yml/badge.svg?branch=main)](https://github.com/helmholtz-analytics/heat/actions/workflows/ci_cpu.yml) +[![Mirror and run GitLab CI](https://github.com/helmholtz-analytics/heat/actions/workflows/ci_cpu.yml/badge.svg)](https://github.com/helmholtz-analytics/heat/actions/workflows/ci_cpu.yml) [![Documentation Status](https://readthedocs.org/projects/heat/badge/?version=latest)](https://heat.readthedocs.io/en/latest/?badge=latest) [![codecov](https://codecov.io/gh/helmholtz-analytics/heat/branch/main/graph/badge.svg)](https://codecov.io/gh/helmholtz-analytics/heat) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) diff --git a/codecov.yml b/codecov.yml index 6ea47e1bf2..95cd8ab0a5 100644 --- a/codecov.yml +++ b/codecov.yml @@ -13,28 +13,15 @@ coverage: # basic target: auto threshold: 3% - base: auto flags: - unit paths: - "heat" - # advanced settings - branches: - - main - if_ci_failed: error #success, failure, error, ignore - informational: false - only_pulls: false patch: default: # basic target: auto threshold: 3% - base: auto - # advanced - branches: - - main - if_ci_failed: error #success, failure, error, ignore - only_pulls: false flags: - "unit" paths: diff --git a/setup.py b/setup.py index 5aaea7ff3e..e97991ec3b 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,7 @@ install_requires=[ "mpi4py>=3.0.0", "numpy>=1.13.0", - "torch>=1.7.0, <=1.12.1", + "torch>=1.7.0, <1.13", "scipy>=0.14.0", "pillow>=6.0.0", "torchvision>=0.8.0",