diff --git a/.github/actions/build-py/action.yml b/.github/actions/build-py/action.yml index 9b954fe4ef..ed7e937538 100644 --- a/.github/actions/build-py/action.yml +++ b/.github/actions/build-py/action.yml @@ -30,8 +30,16 @@ runs: cp dist/*.whl wheelhouse fi cp -r wheelhouse .. - - name: Upload Python Wheels + - name: Upload Python Wheels Simulation # See Issue #939 uses: actions/upload-artifact@v3 + if: inputs.package == 'simulation' + with: + name: python-wheels-${{ inputs.package }} + path: pycode/wheelhouse + - name: Upload Python Wheels + uses: actions/upload-artifact@v4 + if: inputs.package != 'simulation' with: name: python-wheels-${{ inputs.package }} path: pycode/wheelhouse + diff --git a/.github/actions/linux-benchmark/action.yml b/.github/actions/linux-benchmark/action.yml index fc404ab835..e2f403cf86 100644 --- a/.github/actions/linux-benchmark/action.yml +++ b/.github/actions/linux-benchmark/action.yml @@ -14,7 +14,7 @@ runs: sudo apt-get -qq -y install libhdf5-10* wget gnupg lcov sudo apt-get -qq update - name: Download built test directory - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.build-artifact }} path: cpp @@ -30,7 +30,7 @@ runs: sudo chmod a+x abm_benchmark ./abm_benchmark --benchmark_out="abm_benchmark.json" --benchmark_repetitions=10 - name: Upload benchmark result - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: abm-benchmark-report path: cpp/build/bin/abm_benchmark.json diff --git a/.github/actions/linux-build/action.yml b/.github/actions/linux-build/action.yml index 148e2850f2..418ace362a 100644 --- a/.github/actions/linux-build/action.yml +++ b/.github/actions/linux-build/action.yml @@ -97,7 +97,7 @@ runs: cd cpp tar -czf build.tar.gz build - name: Upload built directory - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: #artifacts in one pipeline must have a different name, so options must add a suffix to the artifact name if different values are used in the same pipeline name: build-cpp-linux-${{ inputs.compiler }}-${{ inputs.version }}-${{ inputs.config }}${{ inputs.optional-dependencies == 'OFF' && '-nodep' || ''}}${{ inputs.openmp == 'ON' && '-omp' || ''}} diff --git a/.github/actions/linux-run_examples/action.yml b/.github/actions/linux-run_examples/action.yml index 5be2d98949..fbbf75f88e 100644 --- a/.github/actions/linux-run_examples/action.yml +++ b/.github/actions/linux-run_examples/action.yml @@ -14,7 +14,7 @@ runs: sudo apt-get -qq -y install libhdf5-10* wget gnupg lcov sudo apt-get -qq update - name: Download examples directory - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.build-artifact }} path: cpp diff --git a/.github/actions/linux-test/action.yml b/.github/actions/linux-test/action.yml index bce0a1a9f8..2ae4d5c860 100644 --- a/.github/actions/linux-test/action.yml +++ b/.github/actions/linux-test/action.yml @@ -1,17 +1,25 @@ name: "Linux Test" description: "Run the C++ unit tests on linux." inputs: - build-artifact: - description: "Name of the build artifact that contains the unit test binary." + artifact-pattern: + description: "Name of the build artifact that contains the unit test binary, and coverage artifacts that will be uploaded." required: true coverage: description: "Create coverage report (ON or OFF)" required: false default: "OFF" + optional-deps: + description: "Optional dependencies of unit test binary (ON or OFF, default ON). If OFF, adds `-nodep` to the artifact name." + required: false + default: "ON" num-repeat: description: "Repeat tests, e.g. to catch random failures like race conditions." required: false default: "1" + openmp: + description: "Enabled Multithreading with OpenMP (ON or OFF, default OFF). If ON, adds `-omp` to the name of the artifact." + required: false + default: "OFF" runs: using: "composite" steps: @@ -22,9 +30,9 @@ runs: sudo apt-get -qq -y install libhdf5-10* wget gnupg lcov sudo apt-get -qq update - name: Download built test directory - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ inputs.build-artifact }} + name: build-cpp-linux-${{ inputs.artifact-pattern }}${{ inputs.optional-deps == 'OFF' && '-nodep' || ''}}${{ inputs.openmp == 'ON' && '-omp' || ''}} path: cpp - name: extract build archive shell: bash @@ -48,16 +56,16 @@ runs: cmake --build . --target coverage/fast fi - name: Upload test report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: test-cpp-linux-report + name: test-cpp-linux-report-${{ inputs.artifact-pattern }}${{ inputs.optional-deps == 'OFF' && '-nodep' || ''}}${{ inputs.openmp == 'ON' && '-omp' || ''}} path: cpp/build/bin/report.xml if-no-files-found: error retention-days: 1 - name: Upload coverage reports - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: test-cpp-coverage-reports + name: test-cpp-coverage-reports-${{ inputs.artifact-pattern }}${{ inputs.optional-deps == 'OFF' && '-nodep' || ''}}${{ inputs.openmp == 'ON' && '-omp' || ''}} path: | cpp/build/coverage.info cpp/build/coverage diff --git a/.github/actions/test-docs/action.yml b/.github/actions/test-docs/action.yml index 02b3d5bc1f..01971cf006 100644 --- a/.github/actions/test-docs/action.yml +++ b/.github/actions/test-docs/action.yml @@ -14,7 +14,7 @@ runs: cd docs doxygen - name: Upload Documentation - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: documentation path: docs/html diff --git a/.github/actions/test-py/action.yml b/.github/actions/test-py/action.yml index 5a619f65c1..6a549d0d25 100644 --- a/.github/actions/test-py/action.yml +++ b/.github/actions/test-py/action.yml @@ -25,25 +25,32 @@ runs: sudo apt-get -qq -y install python3-pip gnupg fi python -m pip install --upgrade pip - - name: Download Python Wheels + - name: Download Python Wheels Simulation uses: actions/download-artifact@v3 + if: inputs.package == 'simulation' #WORKAROUND! See Issue #939 + with: + name: python-wheels-${{ inputs.package }} + path: pycode/wheelhouse + - name: Download Python Wheels + uses: actions/download-artifact@v4 + if: inputs.package != 'simulation' with: name: python-wheels-${{ inputs.package }} path: pycode/wheelhouse - name: Download additional Python Wheels for plot package - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 if: inputs.package == 'plot' with: name: python-wheels-epidata path: pycode/wheelhouse - name: Download Python Wheels for surrogatemodel - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v3 #WORKAROUND! Upgrade to v4 asap. See Issue #939 if: inputs.package == 'surrogatemodel' with: name: python-wheels-simulation path: pycode/wheelhouse - name: Set up Python ${{ inputs.version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ inputs.version }} - name: Install Python Wheels @@ -80,11 +87,11 @@ runs: gethospitalizationdata --help fi - name: Upload coverage reports - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: test-py-coverage-reports-${{ inputs.package }} + name: test-py-coverage-reports-${{ inputs.package }}-${{ inputs.version }} path: | - pycode/memilio-${{ inputs.package }}/**/coverage_python.xml + pycode/memilio-${{ inputs.package }}/**/coverage_python_${{ inputs.version }}.xml coverage_python retention-days: 7 if-no-files-found: ${{ inputs.coverage == 'ON' && 'error' || 'ignore' }} diff --git a/.github/actions/test-pylint/action.yml b/.github/actions/test-pylint/action.yml index 10541a5d84..9f9f50bc2c 100644 --- a/.github/actions/test-pylint/action.yml +++ b/.github/actions/test-pylint/action.yml @@ -14,7 +14,7 @@ runs: sudo apt-get -qq -y install python3-pip gnupg python -m pip install --upgrade pip - name: Download Python Wheels - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: python-wheels-${{ inputs.package }} - name: Install Python Wheels @@ -31,7 +31,7 @@ runs: python setup.py pylint pylint-json2html -f jsonextended -o build_pylint/pylint.html < build_pylint/pylint_extended.json - name: Upload Pylint Report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: pylint-report-${{ inputs.package }} path: pycode/memilio-${{ inputs.package }}/build_pylint/pylint.html diff --git a/.github/actions/windows-build/action.yml b/.github/actions/windows-build/action.yml index 2628b13da7..84ae042567 100644 --- a/.github/actions/windows-build/action.yml +++ b/.github/actions/windows-build/action.yml @@ -51,7 +51,7 @@ runs: cmake -G "Ninja" -DCMAKE_BUILD_TYPE=${{ inputs.config }} -DMEMILIO_USE_BUNDLED_JSONCPP=${{ inputs.optional-dependencies }} -DHDF5_USE_STATIC_LIBRARIES=ON -DHDF5_DIR="${{github.workspace}}/hdf5/share/cmake/hdf5" .. cmake --build . -- -j 4 - name: Upload built binary files - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: #artifacts in one pipeline must have a different name, so options must add a suffix to the artifact name if different values are used in the same pipeline name: build-cpp-windows-msvc-${{ inputs.version }}-${{ inputs.config }}${{ inputs.optional-dependencies == 'OFF' && '-nodep' || ''}} diff --git a/.github/actions/windows-run_examples/action.yml b/.github/actions/windows-run_examples/action.yml index ddb9d7b119..7e74ceb42a 100644 --- a/.github/actions/windows-run_examples/action.yml +++ b/.github/actions/windows-run_examples/action.yml @@ -8,7 +8,7 @@ runs: using: "composite" steps: - name: Download built example directory - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.build-artifact }} path: cpp/build-win/bin diff --git a/.github/actions/windows-test/action.yml b/.github/actions/windows-test/action.yml index 434b162081..56e4242f99 100644 --- a/.github/actions/windows-test/action.yml +++ b/.github/actions/windows-test/action.yml @@ -1,16 +1,20 @@ name: "Windows Test" description: "Run the C++ unit tests on Windows" inputs: - build-artifact: - description: "Name of the build artifact that contains the unit test binary." + artifact-pattern: + description: "Name of the build artifact that contains the unit test binary, will also be used for upload artifacts." required: true + optional-deps: + description: "Optional dependencies of unit test binary (ON or OFF, default ON). If OFF, adds `-nodep` to the artifact name." + required: false + default: "ON" runs: using: "composite" steps: - name: Download built test directory - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ inputs.build-artifact }} + name: build-cpp-windows-${{ inputs.artifact-pattern }}${{ inputs.optional-deps == 'OFF' && '-nodep' || ''}} path: cpp/build-win/bin - name: Run unit tests shell: pwsh @@ -18,9 +22,9 @@ runs: cd cpp/build-win/bin .\memilio-test.exe --gtest_output="xml:report.xml" - name: Upload report - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: test-cpp-win-report + name: test-cpp-win-report-${{ inputs.artifact-pattern }}${{ inputs.optional-deps == 'OFF' && '-nodep' || ''}} path: | cpp/build-win/bin/report.xml retention-days: 1 diff --git a/.github/workflows/epidata_main.yml b/.github/workflows/epidata_main.yml index 159501c10d..543d87ab5e 100644 --- a/.github/workflows/epidata_main.yml +++ b/.github/workflows/epidata_main.yml @@ -22,18 +22,17 @@ jobs: pre-commit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: 3.11 - - uses: pre-commit/action@v3.0.0 + - uses: pre-commit/action@v3.0.1 build-py-epidata: runs-on: ubuntu-latest - container: - image: quay.io/pypa/manylinux2014_x86_64 + container: quay.io/pypa/manylinux_2_28_x86_64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/build-py with: package: epidata @@ -41,21 +40,24 @@ jobs: build-py-plot: if: github.event.pull_request.draft == false runs-on: ubuntu-latest - container: - image: quay.io/pypa/manylinux2014_x86_64 + container: quay.io/pypa/manylinux_2_28_x86_64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/build-py with: package: plot test-py-epidata: needs: build-py-epidata + strategy: + matrix: + version: ["3.8", "3.11"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-py with: + version: ${{ matrix.version }} package: epidata coverage: ON @@ -67,17 +69,31 @@ jobs: version: ["3.8", "3.11"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-py with: + version: ${{ matrix.version }} package: plot coverage: ON + merge-artifacts: + runs-on: ubuntu-latest + strategy: + matrix: + packages: [epidata, plot] + needs: [test-py-plot, test-py-epidata] + steps: + - name: merge epidata reports + uses: actions/upload-artifact/merge@v4 + with: + name: test-py-coverage-reports-${{ matrix.packages }} + pattern: test-py-coverage-reports-${{ matrix.packages }}-* + test-pylint-epidata: needs: build-py-epidata runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-pylint with: package: epidata @@ -86,7 +102,7 @@ jobs: needs: build-py-plot runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-pylint with: package: plot @@ -96,19 +112,19 @@ jobs: runs-on: ubuntu-latest continue-on-error: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get -qq update sudo apt-get -qq -y install python3-pip gnupg python -m pip install --upgrade pip - name: Download Python Wheels - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: python-wheels-epidata path: pycode/wheelhouse - name: Set up Python 3.11 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: 3.11 - name: Install Python Wheels @@ -126,7 +142,7 @@ jobs: getvaccinationdata -o data_dl --no-progress-indicators gethospitalizationdata -o data_dl --no-progress-indicators - name: Upload Data - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: data path: | diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dbea60003d..2b2e921e90 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,11 +20,11 @@ jobs: pre-commit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: 3.11 - - uses: pre-commit/action@v3.0.0 + - uses: pre-commit/action@v3.0.1 build-cpp-gcc_clang: if: github.event.pull_request.draft == false @@ -40,7 +40,7 @@ jobs: os: "ubuntu-20.04" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/linux-build with: compiler: ${{ matrix.compiler }} @@ -54,7 +54,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/linux-build with: compiler: gcc @@ -66,7 +66,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/linux-build with: compiler: gcc @@ -87,7 +87,7 @@ jobs: os: "windows-2019" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/windows-build with: config: ${{ matrix.config }} @@ -97,7 +97,7 @@ jobs: if: github.event.pull_request.draft == false runs-on: windows-2022 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/windows-build with: config: Release @@ -119,21 +119,47 @@ jobs: os: "ubuntu-20.04" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/linux-test with: - build-artifact: build-cpp-linux-${{ matrix.compiler }}-${{ matrix.version }}-${{ matrix.config }} + artifact-pattern: ${{ matrix.compiler }}-${{ matrix.version }}-${{ matrix.config }} coverage: ${{ (matrix.compiler == 'gcc' && matrix.version == 'latest' && matrix.config == 'Debug') && 'ON' || 'OFF' }} + + merge-test-artifacts: + needs: [test-cpp-gcc_clang, test-cpp-msvc, test-py-surrogatemodel] + runs-on: ubuntu-latest + steps: + - name: merge-coverage-artifacts + uses: actions/upload-artifact/merge@v4 + with: + name: test-cpp-coverage-reports + pattern: test-cpp-coverage-reports-* + - name: merge-linux-artifacts + uses: actions/upload-artifact/merge@v4 + with: + name: test-cpp-linux-report + pattern: test-cpp-linux-report-* + - name: merge-windows-artifacts + uses: actions/upload-artifact/merge@v4 + with: + name: test-cpp-win-report + pattern: test-cpp-win-report-* + - name: merge python reports + uses: actions/upload-artifact/merge@v4 + with: + name: test-py-coverage-reports-surrogatemodel + pattern: test-py-coverage-reports-surrogatemodel-* test-cpp-gcc-no-optional-deps: if: github.event.pull_request.draft == false needs: build-cpp-gcc-no-optional-deps runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/linux-test with: - build-artifact: build-cpp-linux-gcc-latest-Release-nodep + artifact-pattern: gcc-latest-Release + optional-deps: OFF test-cpp-gcc-openmp: if: github.event.pull_request.draft == false @@ -143,11 +169,12 @@ jobs: env: OMP_NUM_THREADS: 4 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/linux-test with: - build-artifact: build-cpp-linux-gcc-latest-Release-omp + artifact-pattern: gcc-latest-Release num-repeat: 10 + openmp: ON test-cpp-msvc: if: github.event.pull_request.draft == false @@ -163,20 +190,21 @@ jobs: os: "windows-2019" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/windows-test with: - build-artifact: build-cpp-windows-msvc-${{ matrix.version }}-${{ matrix.config }} + artifact-pattern: msvc-${{ matrix.version }}-${{ matrix.config }} test-cpp-msvc-no-optional-deps: if: github.event.pull_request.draft == false needs: build-cpp-msvc-no-optional-deps runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/windows-test with: - build-artifact: build-cpp-windows-msvc-latest-Release-nodep + artifact-pattern: msvc-latest-Release + optional-deps: OFF run_examples-cpp-gcc_clang: if: github.event.pull_request.draft == false @@ -193,7 +221,7 @@ jobs: os: "ubuntu-20.04" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/linux-run_examples with: build-artifact: build-cpp-linux-${{ matrix.compiler }}-${{ matrix.version }}-${{ matrix.config }} @@ -212,7 +240,7 @@ jobs: os: "windows-2019" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/windows-run_examples with: build-artifact: build-cpp-windows-msvc-${{ matrix.version }}-${{ matrix.config }} @@ -220,10 +248,9 @@ jobs: build-py-generation: if: github.event.pull_request.draft == false runs-on: ubuntu-latest - container: - image: quay.io/pypa/manylinux2014_x86_64 + container: quay.io/pypa/manylinux_2_28_x86_64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/build-py with: package: generation @@ -231,10 +258,9 @@ jobs: build-py-simulation: if: github.event.pull_request.draft == false runs-on: ubuntu-latest - container: - image: quay.io/pypa/manylinux2014_x86_64 + container: quay.io/pypa/manylinux2014_x86_64 #use manylinux2014 here, to be changed when actions for this job will be updated. See Issue #939 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3 # use v3 here as v4 produces error with cmake - uses: ./.github/actions/build-py with: package: simulation @@ -242,10 +268,9 @@ jobs: build-py-surrogatemodel: if: github.event.pull_request.draft == false runs-on: ubuntu-latest - container: - image: quay.io/pypa/manylinux2014_x86_64 + container: quay.io/pypa/manylinux_2_28_x86_64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/build-py with: package: surrogatemodel @@ -258,7 +283,7 @@ jobs: needs: build-py-generation runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-py with: package: generation @@ -271,7 +296,7 @@ jobs: version: ["3.8", "3.11"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-py with: package: simulation @@ -284,9 +309,10 @@ jobs: version: ["3.8", "3.11"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-py with: + version: ${{ matrix.version }} package: surrogatemodel coverage: ON @@ -294,25 +320,25 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ./.github/actions/test-docs codecov: if: github.event.pull_request.draft == false - needs: [test-cpp-gcc_clang, test-py-surrogatemodel] + needs: merge-test-artifacts runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get -qq update sudo apt-get -qq -y install git curl - name: Download python coverage report - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: test-py-coverage-reports-surrogatemodel - name: Download cpp coverage report - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: test-cpp-coverage-reports - name: Deploy to codecov.io @@ -327,20 +353,20 @@ jobs: if: github.event.pull_request.draft == false permissions: contents: write - needs: [test-cpp-gcc_clang, test-docs, test-py-surrogatemodel] + needs: [test-docs, merge-test-artifacts] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get -qq update sudo apt-get -qq -y install git - name: Download python coverage report - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: test-py-coverage-reports-surrogatemodel - name: Download cpp coverage report - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: test-cpp-coverage-reports - name: Download pylint report @@ -352,7 +378,7 @@ jobs: name: pylint-report-epidata path: pycode/build_pylint - name: Download documentation - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: documentation path: docs/html @@ -377,7 +403,7 @@ jobs: cp -r coverage_python/* public/coverage/python/ cp -r coverage/* public/coverage/cpp/ - name: Upload pages as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: github.event_name == 'pull_request' && github.ref != 'refs/heads/main' with: name: pages