Skip to content

Merge branch 'master' into 761_nsa_help #1325

Merge branch 'master' into 761_nsa_help

Merge branch 'master' into 761_nsa_help #1325

Workflow file for this run

name: CI
on: [push]
defaults:
run:
shell: bash
env:
DYNAWO_VERSION: 1.7.0
jobs:
build-linux:
runs-on: ubuntu-latest
container: dynawo/dynawo-ci:latest
env:
DYNAFLOW_LAUNCHER_BUILD_TYPE: Debug
DYNAFLOW_LAUNCHER_PROCESSORS_USED: 2
DYNAFLOW_LAUNCHER_FORCE_CXX11_ABI: "true"
DYNAFLOW_LAUNCHER_LOCALE: "en_GB"
DYNAFLOW_LAUNCHER_USE_DOXYGEN: "OFF"
DYNAFLOW_LAUNCHER_BUILD_TESTS: "OFF"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Fetch Dynawo and Dynawo algorithms
run: |
curl -LOs https://github.com/${{ github.repository_owner }}/dynawo/releases/download/nightly/Dynawo_headers_v$DYNAWO_VERSION.zip
curl -LOs https://github.com/${{ github.repository_owner }}/dynawo-algorithms/releases/download/nightly/DynawoAlgorithms_headers_v$DYNAWO_VERSION.zip
- name: Unzip Dynawo and Dynawo algorithms
run: |
unzip -qq "Dynawo_headers_v${DYNAWO_VERSION}.zip"
unzip -qq "DynawoAlgorithms_headers_v${DYNAWO_VERSION}.zip"
- name: Dynawo and Dynawo algorithms versions
run: |
./dynawo/dynawo.sh version
./dynawo-algorithms/dynawo-algorithms.sh --version
- name: Build
run: |
source /etc/profile.d/00-modulepath.sh
source /etc/profile.d/modules.sh
source /usr/share/lmod/lmod/init/bash
module load mpi/mpich-x86_64
export DYNAWO_HOME=$(pwd)/dynawo
export DYNAWO_ALGORITHMS_HOME=$(pwd)/dynawo-algorithms
export DYNAFLOW_LAUNCHER_HOME=$(pwd)
scripts/envDFL.sh build-user
coverage:
runs-on: ubuntu-latest
container: dynawo/dynawo-ci:latest
env:
DYNAFLOW_LAUNCHER_BUILD_TYPE: Debug
DYNAFLOW_LAUNCHER_PROCESSORS_USED: 2
DYNAFLOW_LAUNCHER_FORCE_CXX11_ABI: "true"
DYNAFLOW_LAUNCHER_LOCALE: "en_GB"
DYNAFLOW_LAUNCHER_USE_DOXYGEN: "OFF"
DYNAFLOW_LAUNCHER_BUILD_TESTS: "ON"
DYNAFLOW_LAUNCHER_BROWSER_SHOW: "false"
steps:
- name: Install Sonar wrapper
working-directory: ${{ runner.workspace }}
env:
CONTAINER_WORKSPACE: ${{ runner.workspace }}
run: |
wget https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip
unzip build-wrapper-linux-x86.zip
- name: Install Sonar scanner
working-directory: ${{ runner.workspace }}
env:
SONAR_SCANNER_VERSION: 4.6.0.2311
run: |
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_SCANNER_VERSION}.zip
unzip sonar-scanner-cli-${SONAR_SCANNER_VERSION}.zip
ln -s sonar-scanner-${SONAR_SCANNER_VERSION} sonar
rm sonar-scanner-cli-${SONAR_SCANNER_VERSION}.zip
cd /
curl -LO https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz
tar xzf openjdk-17.0.2_linux-x64_bin.tar.gz
- name: Checkout sources
uses: actions/checkout@v4
- name: Fetch Dynawo and Dynawo algorithms
run: |
curl -LOs https://github.com/${{ github.repository_owner }}/dynawo/releases/download/nightly/Dynawo_headers_v$DYNAWO_VERSION.zip
curl -LOs https://github.com/${{ github.repository_owner }}/dynawo-algorithms/releases/download/nightly/DynawoAlgorithms_headers_v$DYNAWO_VERSION.zip
- name: Unzip Dynawo and Dynawo algorithms
run: |
unzip -qq "Dynawo_headers_v${DYNAWO_VERSION}.zip"
unzip -qq "DynawoAlgorithms_headers_v${DYNAWO_VERSION}.zip"
- name: Build
env:
CONTAINER_WORKSPACE: ${{ runner.workspace }}
run: |
source /etc/profile.d/00-modulepath.sh
source /etc/profile.d/modules.sh
source /usr/share/lmod/lmod/init/bash
module load mpi/mpich-x86_64
export DYNAWO_HOME=$(pwd)/dynawo
export DYNAWO_ALGORITHMS_HOME=$(pwd)/dynawo-algorithms
export DYNAFLOW_LAUNCHER_HOME=$(pwd)
$CONTAINER_WORKSPACE/build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-output scripts/envDFL.sh build-tests-coverage
- name: Sonarcloud
working-directory: ${{ runner.workspace }}/dynaflow-launcher
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
CONTAINER_WORKSPACE: ${{ runner.workspace }}
JAVA_HOME: /jdk-17.0.2
run: |
export PATH=${JAVA_HOME}/bin:${PATH}
$CONTAINER_WORKSPACE/sonar/bin/sonar-scanner -Dsonar.host.url=https://sonarcloud.io -Dsonar.cfamily.threads=2
build-windows:
runs-on: windows-2019
steps:
- name: No LF to CRLF conversion
shell: cmd
run: git config --global core.autocrlf input
- name: Checkout sources
uses: actions/checkout@v4
- name: Download MS-MPI
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
shell: cmd
run: |
msmpisdk.msi /passive
msmpisetup.exe /unattend
- name: Fetch Dynawo
shell: bash
run: curl -LOs https://github.com/${{ github.repository_owner }}/dynawo/releases/download/nightly/Dynawo_Windows_v$DYNAWO_VERSION.zip
- name: Unzip Dynawo
shell: cmd
run: 7z x Dynawo_Windows_v%DYNAWO_VERSION%.zip -o..\deploy
- name: Dynawo version
shell: cmd
run: ..\deploy\dynawo\dynawo version
- name: Fetch Dynawo-Algorithms
shell: bash
run: curl -LOs https://github.com/${{ github.repository_owner }}/dynawo-algorithms/releases/download/nightly/DynawoAlgorithms_Windows_v$DYNAWO_VERSION.zip
- name: Unzip Dynawo-Algorithms
shell: cmd
run: 7z x DynawoAlgorithms_Windows_v%DYNAWO_VERSION%.zip -o..\deploy
- name: Dynawo-Algorithms version
shell: cmd
run: ..\deploy\dynawo-algorithms\dynawo-algorithms version
# use a minimal PATH to avoid too long command lines and conflict with Strawberry pkg-config !
- 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\
MSMPI_BIN: C:\Program Files\Microsoft MPI\Bin\
PATH: C:\Windows\system32;C:\Program Files\Git\cmd;C:\hostedtoolcache\windows\Python\3.7.9\x64
run: |
set PATH=%MSMPI_BIN%;%PATH%
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
call scripts\dynaflow-launcher verbose build
- name: Dynaflow-Launcher version
shell: cmd
env:
PATH: C:\Windows\system32;C:\Program Files\Git\cmd;C:\hostedtoolcache\windows\Python\3.7.9\x64
run: call ..\dfl-i\dynaflow-launcher verbose version
- name: Build and run unit tests
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\
MSMPI_BIN: C:\Program Files\Microsoft MPI\Bin\
PATH: C:\Windows\system32;C:\Program Files\Git\cmd;C:\hostedtoolcache\windows\Python\3.7.9\x64
run: |
set PATH=%MSMPI_BIN%;%PATH%
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
call scripts\dynaflow-launcher verbose tests "^^[^^M]"