diff --git a/.github/workflows/nightly-release.yml b/.github/workflows/nightly-release.yml index 0b634e9c..be518a00 100644 --- a/.github/workflows/nightly-release.yml +++ b/.github/workflows/nightly-release.yml @@ -65,14 +65,20 @@ jobs: fedora: if: always() && !cancelled() && !failure() && (github.event.action == 'nightly-linux' || (github.event_name == 'workflow_dispatch' && inputs.perform-linux) || !endsWith(github.event_name, '_dispatch')) - name: Linux Fedora (Release, GCC, cxx11) + name: Linux Fedora (Release, GCC, cxx11) (${{ matrix.use-mpi.text }}) runs-on: ubuntu-latest container: dynawo/dynawo-distribution-cxx11:latest + strategy: + matrix: + use-mpi: + - { value: YES, text: 'with MPI' } + - { value: NO, text: 'without MPI' } needs: nightly env: DYNAWO_RESULTS_SHOW: "false" DYNAWO_BUILD_TYPE: Release DYNAWO_FORCE_CXX11_ABI: "true" + DYNAWO_USE_MPI: ${{ matrix.use-mpi.value }} DYNAWO_NB_PROCESSORS_USED: 2 steps: - name: Checkout @@ -140,9 +146,16 @@ jobs: windows: if: always() && !cancelled() && !failure() && (github.event.action == 'nightly-windows' || (github.event_name == 'workflow_dispatch' && inputs.perform-windows) || !endsWith(github.event_name, '_dispatch')) - name: Windows 2019 (Release, VS2019) + name: Windows 2019 (Release, VS2019) (${{ matrix.use-mpi.text }}) runs-on: windows-2019 + strategy: + matrix: + use-mpi: + - { value: YES, text: 'with MPI' } + - { value: NO, text: 'without MPI' } needs: nightly + env: + DYNAWO_USE_MPI: ${{ matrix.use-mpi.value }} steps: - name: No LF to CRLF conversion shell: cmd @@ -152,12 +165,14 @@ jobs: uses: actions/checkout@v3 - name: Download MS-MPI + if: ${{ matrix.use-mpi.value == 'YES' }} shell: bash run: | curl -Os https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisdk.msi curl -Os https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe - name: Install MS-MPI + if: ${{ matrix.use-mpi.value == 'YES' }} shell: cmd run: | msmpisdk.msi /passive @@ -179,11 +194,11 @@ jobs: - name: Build and install shell: cmd env: - MSMPI_INC: C:\Program Files (x86)\Microsoft SDKs\MPI\Include\ - MSMPI_LIB32: C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\ - MSMPI_LIB64: C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\ PATH: C:\Windows\system32;C:\Program Files\Git\cmd;C:\hostedtoolcache\windows\Python\3.7.9\x64 run: | + if "${{ matrix.use-mpi.value }}" == "YES" set MSMPI_INC=C:\Program Files (x86)\Microsoft SDKs\MPI\Include\ + if "${{ matrix.use-mpi.value }}" == "YES" set MSMPI_LIB32=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\ + if "${{ matrix.use-mpi.value }}" == "YES" set MSMPI_LIB64=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\ call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" call util\windows\dynawo-algorithms verbose build || exit /b 1 @@ -194,7 +209,7 @@ jobs: run: call ..\da-i\dynawo-algorithms verbose version || exit /b 1 - name: Run NRT - if: github.event_name != 'workflow_dispatch' || inputs.perform-nrt + if: matrix.use-mpi.value == 'YES' && (github.event_name != 'workflow_dispatch' || inputs.perform-nrt) shell: cmd env: MSMPI_BENCHMARKS: C:\Program Files\Microsoft MPI\Benchmarks\ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd0360ff..139d3296 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -127,8 +127,15 @@ jobs: distribution-windows: if: github.event_name != 'workflow_dispatch' || inputs.perform-windows - name: Distribution Windows + name: Distribution Windows (${{ matrix.use-mpi.text }}) runs-on: windows-2019 + strategy: + matrix: + use-mpi: + - { value: YES, text: 'with MPI' } + - { value: NO, text: 'without MPI' } + env: + DYNAWO_USE_MPI: ${{ matrix.use-mpi.value }} steps: - name: No LF to CRLF conversion shell: cmd @@ -138,12 +145,14 @@ jobs: uses: actions/checkout@v3 - name: Download MS-MPI + if: ${{ matrix.use-mpi.value == 'YES' }} shell: bash run: | curl -Os https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisdk.msi curl -Os https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe - name: Install MS-MPI + if: ${{ matrix.use-mpi.value == 'YES' }} shell: cmd run: | msmpisdk.msi /passive @@ -161,11 +170,11 @@ jobs: - name: Build and install shell: cmd env: - MSMPI_INC: C:\Program Files (x86)\Microsoft SDKs\MPI\Include\ - MSMPI_LIB32: C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\ - MSMPI_LIB64: C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\ PATH: C:\Windows\system32;C:\Program Files\Git\cmd;C:\hostedtoolcache\windows\Python\3.7.9\x64 run: | + if "${{ matrix.use-mpi.value }}" == "YES" set MSMPI_INC=C:\Program Files (x86)\Microsoft SDKs\MPI\Include\ + if "${{ matrix.use-mpi.value }}" == "YES" set MSMPI_LIB32=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\ + if "${{ matrix.use-mpi.value }}" == "YES" set MSMPI_LIB64=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\ call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" call util\windows\dynawo-algorithms verbose build || exit /b 1 call util\windows\dynawo-algorithms verbose distrib-headers distrib || exit /b 1