From cb54f15dec036fa61cf43216231a88a39c4233d7 Mon Sep 17 00:00:00 2001 From: Jakob Fritz Date: Fri, 15 Dec 2023 13:47:46 +0100 Subject: [PATCH] Reverted initial changes so that Github-Actions now should run again --- .github/workflows/ci_pipeline.yml | 328 +++++++++++++++--------------- 1 file changed, 164 insertions(+), 164 deletions(-) diff --git a/.github/workflows/ci_pipeline.yml b/.github/workflows/ci_pipeline.yml index 16f9cd94e7..870685bc2d 100644 --- a/.github/workflows/ci_pipeline.yml +++ b/.github/workflows/ci_pipeline.yml @@ -3,8 +3,8 @@ name: CI pipeline for pySDC on: push: pull_request: - # schedule: - # - cron: '1 5 * * 1' + schedule: + - cron: '1 5 * * 1' jobs: @@ -54,119 +54,119 @@ jobs: GITLAB_PROJECT_ID: "5992" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # user_cpu_tests_linux: - # runs-on: ubuntu-latest - - # strategy: - # matrix: - # python: ['3.7', '3.8', '3.9', '3.10'] - # env: ['base', 'fenics', 'mpi4py', 'petsc'] - - # defaults: - # run: - # shell: bash -l {0} - - # steps: - # - name: Checkout - # uses: actions/checkout@v3 - - # - name: Install Conda environment with Micromamba - # uses: mamba-org/setup-micromamba@v1 - # with: - # environment-file: "etc/environment-${{ matrix.env }}.yml" - # create-args: >- - # python=${{ matrix.python }} - - # - name: Run pytest for CPU stuff - # run: | - # echo "print('Loading sitecustomize.py...') - # import coverage - # coverage.process_startup() " > sitecustomize.py - # coverage run -m pytest --continue-on-collection-errors -v --durations=0 pySDC/tests -m ${{ matrix.env }} - - # - name: Make coverage report - # run: | - # mv data data_${{ matrix.python }} - # coverage combine - # mv .coverage coverage_${{ matrix.env }}_${{ matrix.python }}.dat - - # - name: Uploading artifacts - # uses: actions/upload-artifact@v3 - # if: matrix.python == '3.10' - # with: - # name: cpu-test-artifacts - # path: | - # data_3.10 - # coverage_${{ matrix.env }}_3.10.dat - - # user_libpressio_tests: - # runs-on: ubuntu-latest - - # container: - # image: brownbaerchen/libpressio:amd64_2 - # volumes: - # - ${{ github.workspace }}:/pySDC - - # defaults: - # run: - # shell: bash -l {0} - - # steps: + user_cpu_tests_linux: + runs-on: ubuntu-latest + + strategy: + matrix: + python: ['3.7', '3.8', '3.9', '3.10'] + env: ['base', 'fenics', 'mpi4py', 'petsc'] + + defaults: + run: + shell: bash -l {0} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install Conda environment with Micromamba + uses: mamba-org/setup-micromamba@v1 + with: + environment-file: "etc/environment-${{ matrix.env }}.yml" + create-args: >- + python=${{ matrix.python }} + + - name: Run pytest for CPU stuff + run: | + echo "print('Loading sitecustomize.py...') + import coverage + coverage.process_startup() " > sitecustomize.py + coverage run -m pytest --continue-on-collection-errors -v --durations=0 pySDC/tests -m ${{ matrix.env }} + + - name: Make coverage report + run: | + mv data data_${{ matrix.python }} + coverage combine + mv .coverage coverage_${{ matrix.env }}_${{ matrix.python }}.dat + + - name: Uploading artifacts + uses: actions/upload-artifact@v3 + if: matrix.python == '3.10' + with: + name: cpu-test-artifacts + path: | + data_3.10 + coverage_${{ matrix.env }}_3.10.dat + + user_libpressio_tests: + runs-on: ubuntu-latest + + container: + image: brownbaerchen/libpressio:amd64_2 + volumes: + - ${{ github.workspace }}:/pySDC + + defaults: + run: + shell: bash -l {0} + + steps: - # - name: Checkout - # uses: actions/checkout@v3 + - name: Checkout + uses: actions/checkout@v3 - # - name: Install pySDC and pytest - # run: | - # source /pySDC/pySDC/projects/compression/Docker/install_pySDC.sh - - # - name: Run pytest - # run: | - # source /opt/spack/share/spack/setup-env.sh - # spack load libpressio + - name: Install pySDC and pytest + run: | + source /pySDC/pySDC/projects/compression/Docker/install_pySDC.sh + + - name: Run pytest + run: | + source /opt/spack/share/spack/setup-env.sh + spack load libpressio - # coverage run -m pytest --continue-on-collection-errors -v --durations=0 pySDC/tests -m libpressio - - # - name: Make coverage report - # run: | - # source /opt/spack/share/spack/setup-env.sh - # spack load libpressio - - # mv data data_libpressio - # coverage combine - # mv .coverage coverage_libpressio_3.10.dat - - # - name: Upload artifacts - # uses: actions/upload-artifact@v3 - # with: - # name: cpu-test-artifacts - # path: | - # data_libpressio - # coverage_libpressio_3.10.dat + coverage run -m pytest --continue-on-collection-errors -v --durations=0 pySDC/tests -m libpressio + + - name: Make coverage report + run: | + source /opt/spack/share/spack/setup-env.sh + spack load libpressio + + mv data data_libpressio + coverage combine + mv .coverage coverage_libpressio_3.10.dat + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: cpu-test-artifacts + path: | + data_libpressio + coverage_libpressio_3.10.dat - # user_cpu_tests_macos: - # runs-on: macos-12 + user_cpu_tests_macos: + runs-on: macos-12 - # strategy: - # matrix: - # env: ['base', 'fenics', 'mpi4py', 'petsc'] + strategy: + matrix: + env: ['base', 'fenics', 'mpi4py', 'petsc'] - # defaults: - # run: - # shell: bash -l {0} + defaults: + run: + shell: bash -l {0} - # steps: - # - name: Checkout - # uses: actions/checkout@v3 + steps: + - name: Checkout + uses: actions/checkout@v3 - # - name: Install Conda environment with Micromamba - # uses: mamba-org/setup-micromamba@v1 - # with: - # environment-file: "etc/environment-${{ matrix.env }}.yml" + - name: Install Conda environment with Micromamba + uses: mamba-org/setup-micromamba@v1 + with: + environment-file: "etc/environment-${{ matrix.env }}.yml" - # - name: Run pytest for CPU stuff - # run: | - # pytest --continue-on-collection-errors -v --durations=0 pySDC/tests -m ${{ matrix.env }} + - name: Run pytest for CPU stuff + run: | + pytest --continue-on-collection-errors -v --durations=0 pySDC/tests -m ${{ matrix.env }} wait_for_gitlab: @@ -203,50 +203,50 @@ jobs: # ls -ratl - # post-processing: - # runs-on: ubuntu-latest + post-processing: + runs-on: ubuntu-latest - # if: ${{ github.repository_owner == 'Parallel-in-Time'}} + if: ${{ github.repository_owner == 'Parallel-in-Time'}} - # needs: - # - lint - # - user_cpu_tests_linux - # - user_libpressio_tests + needs: + - lint + - user_cpu_tests_linux + - user_libpressio_tests # - wait_for_gitlab - # defaults: - # run: - # shell: bash -l {0} - - # steps: - # - name: Checkout - # uses: actions/checkout@v3 - - # - name: Install Conda environment with Micromamba - # uses: mamba-org/setup-micromamba@v1 - # with: - # environment-file: "etc/environment-base.yml" - - # - name: Downloading artifacts - # uses: actions/download-artifact@v3 - # with: - # path: . - - # - name: Prepare artifacts - # run: | - # ls -artl cpu-test-artifacts - # cp cpu-test-artifacts/data_3.10/* data/. - # python -m coverage combine cpu-test-artifacts/coverage_*_3.10.dat - # python -m coverage xml - # python -m coverage html - - # - name: Generate Coverage badge - # run: | - # pip install genbadge[all] - # genbadge coverage -i coverage.xml -o htmlcov/coverage-badge.svg + defaults: + run: + shell: bash -l {0} + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install Conda environment with Micromamba + uses: mamba-org/setup-micromamba@v1 + with: + environment-file: "etc/environment-base.yml" + + - name: Downloading artifacts + uses: actions/download-artifact@v3 + with: + path: . + + - name: Prepare artifacts + run: | + ls -artl cpu-test-artifacts + cp cpu-test-artifacts/data_3.10/* data/. + python -m coverage combine cpu-test-artifacts/coverage_*_3.10.dat + python -m coverage xml + python -m coverage html + + - name: Generate Coverage badge + run: | + pip install genbadge[all] + genbadge coverage -i coverage.xml -o htmlcov/coverage-badge.svg - # - name: Upload coverage reports to Codecov - # uses: codecov/codecov-action@v3 + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 # - name: Generate benchmark report # uses: pancetta/github-action-benchmark@v1 @@ -271,13 +271,13 @@ jobs: # user_email: 'sig.pancetta+github@email.com' # user_name: 'pancetta' - # - name: Build html I - # run: | - # chmod u+x ./docs/update_apidocs.sh - # ./docs/update_apidocs.sh - # sphinx-build -b html docs/source docs/build/html - # mkdir -p docs/build/html/coverage - # mv htmlcov/* docs/build/html/coverage/. + - name: Build html I + run: | + chmod u+x ./docs/update_apidocs.sh + ./docs/update_apidocs.sh + sphinx-build -b html docs/source docs/build/html + mkdir -p docs/build/html/coverage + mv htmlcov/* docs/build/html/coverage/. # - name: Build html II # if: "!contains(github.event.head_commit.message, '[CI-no-benchmarks]')" @@ -285,18 +285,18 @@ jobs: # mkdir -p docs/build/html/benchmarks # cp -r bench/${{ github.head_ref || github.ref_name }}/* docs/build/html/benchmarks/. - # - name: Store docs - # uses: actions/upload-artifact@v3 - # with: - # name: docs - # path: docs/build/html - - # - name: Deploy 🚀 - # uses: JamesIves/github-pages-deploy-action@v4 - # if: ${{ github.event_name == 'push' && github.repository_owner == 'Parallel-in-Time' && github.ref == 'refs/heads/master' }} - # with: - # branch: gh-pages # The branch the action should deploy to. - # folder: docs/build/html # The folder the action should deploy. + - name: Store docs + uses: actions/upload-artifact@v3 + with: + name: docs + path: docs/build/html + + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + if: ${{ github.event_name == 'push' && github.repository_owner == 'Parallel-in-Time' && github.ref == 'refs/heads/master' }} + with: + branch: gh-pages # The branch the action should deploy to. + folder: docs/build/html # The folder the action should deploy. # spawn_gitlab_and_postprocess: # runs-on: ubuntu-latest