From 5ece29c5d839306ca269e215ab53d7d55d334fc4 Mon Sep 17 00:00:00 2001 From: Bruno Blais Date: Mon, 2 Oct 2023 13:24:45 -0400 Subject: [PATCH] Self hosted runners (#898) Description of the problem Our Debug CI using Github Actions is very slow (taking over 4 hours and a half to complete). Description of the solution I have deployed two local machines here to become our DEBUG CI. They take around 50 minutes to complete everything, which is a significant improvement. How Has This Been Tested? Ran them for a day and it seems everything is still good. Comments -More machines will be added in the following weeks. Hoping to reach like 5. --- .github/workflows/main_debug.yml | 25 +++++++------------------ .github/workflows/main_release.yml | 2 +- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/.github/workflows/main_debug.yml b/.github/workflows/main_debug.yml index c6126d93dc..e6ad43b7ee 100644 --- a/.github/workflows/main_debug.yml +++ b/.github/workflows/main_debug.yml @@ -16,13 +16,14 @@ concurrency: env: - COMPILE_JOBS: 2 - MULTI_CORE_TESTS_REGEX: "mpirun=2" + COMPILE_JOBS: 8 + TEST_JOBS: 5 + jobs: build: name: Build (deal.ii:${{ matrix.dealii_version }}) - runs-on: ubuntu-latest + runs-on: self-hosted strategy: fail-fast: false @@ -67,19 +68,7 @@ jobs: export OMPI_ALLOW_RUN_AS_ROOT=1 export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 cd build-debug - # Print the tests to be executed - ctest -N --exclude-regex ${{ env.MULTI_CORE_TESTS_REGEX }} - # Run in parallel - ctest --output-on-failure -j${{ env.COMPILE_JOBS }} --exclude-regex ${{ env.MULTI_CORE_TESTS_REGEX }} + ctest -N - # These tests require two cores each so we will run them sequencially - - name: Run multi-core Lethe tests (Debug-deal.ii:${{ matrix.dealii_version }}) - run: | - #Allow OMPI to run as root - export OMPI_ALLOW_RUN_AS_ROOT=1 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 - cd build-debug - # Print the tests to be executed - ctest -N --tests-regex ${{ env.MULTI_CORE_TESTS_REGEX }} - # Run sequencially - ctest --output-on-failure --tests-regex ${{ env.MULTI_CORE_TESTS_REGEX }} + # Run in parallel + ctest --output-on-failure -j${{ env.TEST_JOBS }} diff --git a/.github/workflows/main_release.yml b/.github/workflows/main_release.yml index c6ef35b409..9545059728 100644 --- a/.github/workflows/main_release.yml +++ b/.github/workflows/main_release.yml @@ -15,7 +15,7 @@ concurrency: cancel-in-progress: true env: - COMPILE_JOBS: 2 + COMPILE_JOBS: 8 MULTI_CORE_TESTS_REGEX: "mpirun=2" jobs: