Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
New github action for StarPU CI
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 12 Sep 2021 20:12:15 +0000 (22:12 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 12 Sep 2021 20:33:05 +0000 (22:33 +0200)
.github/workflows/ci-starpu.yml [new file with mode: 0644]
tools/jenkins/ci-starpu.sh [new file with mode: 0755]

diff --git a/.github/workflows/ci-starpu.yml b/.github/workflows/ci-starpu.yml
new file mode 100644 (file)
index 0000000..7b4fcb5
--- /dev/null
@@ -0,0 +1,34 @@
+name: CI StarPU
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '43 18 * * 0'
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+    container: simgrid/unstable
+
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build and test StarPU
+        run: |
+          set -e
+          ./tools/jenkins/ci-starpu.sh
+
+      - name: Create the failure Message
+        if: ${{ failure() }}
+        run: |
+          echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"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\":\"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: ${{ failure() }}
+        env:
+          MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
+          MATTERMOST_CHANNEL: ${{ secrets.MATTERMOST_CHANNEL}}
+
diff --git a/tools/jenkins/ci-starpu.sh b/tools/jenkins/ci-starpu.sh
new file mode 100755 (executable)
index 0000000..fc0ced6
--- /dev/null
@@ -0,0 +1,53 @@
+#!/usr/bin/env sh
+set -e
+
+export SUDO=""
+
+# Update refs, just in case
+$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
+
+for i in master 1.3 ; do
+  rm -rf starpu*
+  wget https://files.inria.fr/starpu/simgrid/starpu-simgrid-$i.tar.gz
+  md5sum starpu-simgrid-$i.tar.gz
+  tar xf starpu-simgrid-$i.tar.gz
+  cd starpu-1*
+
+  # NOTE: Do *not* introduce parameters to "make it work" here.
+  # Things should "just work" with default parameters!
+  # Users should not have to tinker to get starpu working on top of simgrid, that is precisely why we have this CI
+
+  if [ $i = master ]; then
+    # On master, fail if we use deprecated functions, so that StarPU people know they have to stop using them, fix it, and thus make CI happy again
+    CFLAGS="-Werror=deprecated-declarations"
+    CXXFLAGS="-Werror=deprecated-declarations"
+  else
+    CFLAGS=""
+    CXXFLAGS=""
+  fi
+  if ! ./configure CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" \
+                   --enable-simgrid --disable-shared --enable-mpi-check --disable-cuda \
+                   --disable-build-doc --enable-quick-check
+  then
+    cat ./config.log
+    false
+  fi
+  make -j 2 V=1
+
+  for STARPU_SCHED in eager dmdas ; do
+    export STARPU_SCHED
+    if ! make check -k
+    then
+      make showsuite
+      make showfailed
+      false
+    fi
+  done
+  cd ..
+done