Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of framagit.org:simgrid/simgrid
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 13 Sep 2021 17:05:11 +0000 (19:05 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Mon, 13 Sep 2021 17:05:11 +0000 (19:05 +0200)
.github/workflows/ci-batsim.yml [new file with mode: 0644]
.github/workflows/ci-bigdft.yml
.github/workflows/ci-starpu.yml
.github/workflows/ci-wrench.yml
tools/jenkins/ci-batsim.sh [new file with mode: 0755]
tools/jenkins/ci-bigdft.sh
tools/jenkins/ci-starpu.sh
tools/jenkins/ci-wrench.sh

diff --git a/.github/workflows/ci-batsim.yml b/.github/workflows/ci-batsim.yml
new file mode 100644 (file)
index 0000000..78ac347
--- /dev/null
@@ -0,0 +1,34 @@
+name: CI BatSim
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '0 20 * * 0'
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+    container: simgrid/unstable
+
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build and test BatSim
+        run: |
+          set -e
+          ./tools/jenkins/ci-batsim.sh
+
+      - name: Create the failure Message
+        if: ${{ failure() }}
+        run: |
+          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"@millian: BatSim failed to build on simgrid/unstable docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
+      - name: Create the success Message
+        if: ${{ success() }}
+        run: |
+          echo "{\"attachments\": [{\"color\": \"#00FF00\", \"text\":\"BatSim successfully built on simgrid/unstable docker image. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
+      - uses: mattermost/action-mattermost-notify@master
+        if: ${{ always() }}
+        env:
+          MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
+          MATTERMOST_CHANNEL: ${{ secrets.MATTERMOST_CHANNEL}}
+
index 76a8bc6..3b6c0f0 100644 (file)
@@ -3,7 +3,7 @@ name: CI BigDFT
 on:
   workflow_dispatch:
   schedule:
-    - cron: '43 18 * * 0'
+    - cron: '0 20 * * 0'
 
 jobs:
   build:
@@ -21,13 +21,13 @@ jobs:
       - name: Create the failure Message
         if: ${{ failure() }}
         run: |
-          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"BigDFT failed to build on simgrid/unstable docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
+          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"@adegomme: BigDFT failed to build on simgrid/unstable docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
       - name: Create the success Message
         if: ${{ success() }}
         run: |
           echo "{\"attachments\": [{\"color\": \"#00FF00\", \"text\":\"BigDFT successfully built on simgrid/unstable docker image. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
       - uses: mattermost/action-mattermost-notify@master
-        if: ${{ failure() }}
+        if: ${{ always() }}
         env:
           MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
           MATTERMOST_CHANNEL: ${{ secrets.MATTERMOST_CHANNEL}}
index 8ef8156..6b63238 100644 (file)
@@ -3,7 +3,7 @@ name: CI StarPU
 on:
   workflow_dispatch:
   schedule:
-    - cron: '43 18 * * 0'
+    - cron: '0 20 * * 0'
 
 jobs:
   build:
@@ -21,11 +21,11 @@ jobs:
       - name: Create the failure Message
         if: ${{ failure() }}
         run: |
-          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"@sthibaul: StarPu failed to build on simgrid/unstable docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
+          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"@sthibaul: StarPU failed to build on simgrid/unstable docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
       - name: Create the success Message
         if: ${{ success() }}
         run: |
-          echo "{\"attachments\": [{\"color\": \"#00FF00\", \"text\":\"@sthibaul: StarPu successfully built on simgrid/unstable docker image. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
+          echo "{\"attachments\": [{\"color\": \"#00FF00\", \"text\":\"StarPU successfully built on simgrid/unstable docker image. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
       - uses: mattermost/action-mattermost-notify@master
         if: ${{ always() }}
         env:
index 3668f13..224b03e 100644 (file)
@@ -3,7 +3,7 @@ name: CI Wrench
 on:
   workflow_dispatch:
   schedule:
-    - cron: '43 18 * * 0'
+    - cron: '0 20 * * 0'
 
 jobs:
   build:
@@ -21,13 +21,13 @@ jobs:
       - name: Create the failure Message
         if: ${{ failure() }}
         run: |
-          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"Wrench's git failed to build on simgrid/unstable docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
+          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"@henricasanova: Wrench's git failed to build on simgrid/unstable docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
       - name: Create the success Message
         if: ${{ success() }}
         run: |
           echo "{\"attachments\": [{\"color\": \"#00FF00\", \"text\":\"Wrench's git successfully built on simgrid/unstable docker image. ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
       - uses: mattermost/action-mattermost-notify@master
-        if: ${{ failure() }}
+        if: ${{ always() }}
         env:
           MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
           MATTERMOST_CHANNEL: ${{ secrets.MATTERMOST_CHANNEL}}
diff --git a/tools/jenkins/ci-batsim.sh b/tools/jenkins/ci-batsim.sh
new file mode 100755 (executable)
index 0000000..b2af1a0
--- /dev/null
@@ -0,0 +1,51 @@
+#! /bin/sh
+
+# Test this script locally as follows (rerun `docker pull simgrid/unstable` to get a fresh version).
+# cd (simgrid)/tools/jenkins
+# docker run -it --rm --volume `pwd`:/source simgrid/unstable /source/ci-batsim.sh
+
+set -ex
+
+echo "XXXXXXXXXXXXXXXX Install APT dependencies"
+
+export SUDO=""
+$SUDO apt-get update
+$SUDO apt-get -y install gcc g++ git
+
+# Dependencies of BatSim
+# OK  simgrid-3.28
+# SRC intervalset-1.2.0
+# PKG rapidjson-1.1.0
+# ??  redox
+# PKG hiredis-1.0.0
+# PKG zeromq-4.3.4
+# PKG docopt.cpp-0.6.3
+# PKG pugixml-1.11.1
+# PKG gtest-1.10.0-dev
+$SUDO apt-get -y install meson pkg-config libpugixml-dev libgtest-dev rapidjson-dev python3-hiredis libzmq3-dev libdocopt-dev libboost-all-dev
+
+echo "XXXXXXXXXXXXXXXX Install intervalset"
+git clone https://framagit.org/batsim/intervalset.git
+cd intervalset 
+meson build --prefix=/usr
+cd build && ninja install
+cd ../..
+
+echo "XXXXXXXXXXXXXXXX Install redox"
+$SUDO apt-get -y install libhiredis-dev libev-dev cmake #for redox
+git clone --depth=1 --branch=install-pkg-config-file https://github.com/mpoquet/redox.git
+cd redox 
+cmake -DCMAKE_INSTALL_PREFIX=/usr -Dstatic_lib=OFF . && make -j$(nproc) install
+cp redox.pc /usr/lib/pkgconfig/
+cd ..
+
+echo "XXXXXXXXXXXXXXXX Install and test batsim"
+# install BatSim from their upstream git into the batsim.git directory
+git clone --depth 1 https://gitlab.inria.fr/batsim/batsim
+cd batsim
+meson build -Ddo_unit_tests=true
+ninja -C build
+meson test -C build
+
+echo "XXXXXXXXXXXXXXXX cat /batsim/build/meson-logs/testlog.txt"
+cat build/meson-logs/testlog.txt
index 5199a4a..457c8ad 100755 (executable)
@@ -1,10 +1,18 @@
-#!/usr/bin/env sh
+#!/bin/sh
+
+# Test this script locally as follows (rerun `docker pull simgrid/unstable` to get a fresh version).
+# cd (simgrid)/tools/jenkins
+# docker run -it --rm --volume `pwd`:/source simgrid/unstable /source/ci-bigdft.sh
+
 set -ex
 export OMP_NUM_THREADS=1
+
+echo "XXXXXXXXXXXXXXXX Install APT dependencies"
 SUDO="" # to ease the local testing
 $SUDO apt-get -y update
 $SUDO apt-get -y install git build-essential gfortran python-is-python3 python3-six python3-distutils automake cmake libboost-dev libblas-dev liblapack-dev wget
 
+echo "XXXXXXXXXXXXXXXX build and test BigDFT (git version)"
 git clone --depth=1 https://gitlab.com/l_sim/bigdft-suite.git
 cd bigdft-suite
 
index fc0ced6..22fc426 100755 (executable)
@@ -1,18 +1,19 @@
 #!/usr/bin/env sh
-set -e
+
+# Test this script locally as follows (rerun `docker pull simgrid/unstable` to get a fresh version).
+# cd (simgrid)/tools/jenkins
+# docker run -it --rm --volume `pwd`:/source simgrid/unstable /source/ci-starpu.sh
+
+set -ex
 
 export SUDO=""
 
-# Update refs, just in case
+echo "XXXXXXXXXXXXXXXX Install APT dependencies"
 $SUDO apt-get update
-
-# Install basic tools
-$SUDO apt-get -y install build-essential
-$SUDO apt-get -y install libboost-all-dev
-$SUDO apt-get -y install wget
-$SUDO apt-get -y install git
+$SUDO apt-get -y install build-essential libboost-all-dev wget git
 
 for i in master 1.3 ; do
+  echo "XXXXXXXXXXXXXXXX Build and test StarPU $i"
   rm -rf starpu*
   wget https://files.inria.fr/starpu/simgrid/starpu-simgrid-$i.tar.gz
   md5sum starpu-simgrid-$i.tar.gz
@@ -38,7 +39,7 @@ for i in master 1.3 ; do
     cat ./config.log
     false
   fi
-  make -j 2 V=1
+  make -j$(nproc) V=1
 
   for STARPU_SCHED in eager dmdas ; do
     export STARPU_SCHED
index 7fdb5b4..7d605b4 100755 (executable)
@@ -1,29 +1,26 @@
+#! /bin/sh
+
+# Test this script locally as follows (rerun `docker pull simgrid/unstable` to get a fresh version).
+# cd (simgrid)/tools/jenkins
+# docker run -it --rm --volume `pwd`:/source simgrid/unstable /source/ci-wrench.sh
+
+set -ex
+
 export CXX="g++"
 export CC="gcc"
 export SUDO=""
 
-# Update refs, just in case
+echo "XXXXXXXXXXXXXXXX Install APT dependencies"
+
 $SUDO apt-get update
+$SUDO apt-get -y install cmake gcc g++ git
+$SUDO apt-get -y install unzip doxygen wget
+$SUDO apt-get -y install libboost-all-dev libpugixml-dev nlohmann-json3-dev libgtest-dev
 
-# Install basic tools
-$SUDO apt-get -y install cmake
-$SUDO apt-get -y install gcc
-$SUDO apt-get -y install g++
-$SUDO apt-get -y install unzip
-$SUDO apt-get -y install doxygen
-$SUDO apt-get -y install wget
-$SUDO apt-get -y install git
-$SUDO apt-get -y install libboost-all-dev
-$SUDO apt-get -y install libpugixml-dev
-$SUDO apt-get -y install nlohmann-json3-dev
-
-# install googletest
-wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz && tar xf release-1.8.0.tar.gz && cd googletest-release-1.8.0/googletest && cmake . && make && $SUDO make install && cd ../.. && rm -rf release-1.8.0.tar.gz googletest-release-1.8.0
-
-set -e
+echo "XXXXXXXXXXXXXXXX build and test wrench (git version)"
 # install WRENCH from their upstream git into the wrench.git directory
 rm -rf wrench.git && git clone --depth 1 --branch simgrid-external-project-ci https://github.com/wrench-project/wrench.git wrench.git
-(mkdir wrench.git/build && cd wrench.git/build && cmake -DSIMGRID_INSTALL_PATH=/usr/ .. && make unit_tests && ./unit_tests && cd ../.. && rm -rf wrench.git) || exit 1
+(mkdir wrench.git/build && cd wrench.git/build && cmake -DSIMGRID_INSTALL_PATH=/usr/ .. && make -j$(nproc) unit_tests && ./unit_tests && cd ../.. && rm -rf wrench.git) || exit 1