From 3ef98d4c7ca216cc41f8fc0be02a03546845fd0c Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sun, 12 Sep 2021 22:12:15 +0200 Subject: [PATCH] New github action for StarPU CI --- .github/workflows/ci-starpu.yml | 34 +++++++++++++++++++++ tools/jenkins/ci-starpu.sh | 53 +++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 .github/workflows/ci-starpu.yml create mode 100755 tools/jenkins/ci-starpu.sh diff --git a/.github/workflows/ci-starpu.yml b/.github/workflows/ci-starpu.yml new file mode 100644 index 0000000000..7b4fcb5418 --- /dev/null +++ b/.github/workflows/ci-starpu.yml @@ -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 index 0000000000..fc0ced67a7 --- /dev/null +++ b/tools/jenkins/ci-starpu.sh @@ -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 -- 2.20.1