Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rework the gh action to build the stable dockers
[simgrid.git] / .github / workflows / docker-stable.yml
1 name: Docker stable
2
3 # This workflow uses actions that are not certified by GitHub.
4 # They are provided by a third-party and are governed by
5 # separate terms of service, privacy policy, and support
6 # documentation.
7
8 on:
9   workflow_dispatch:
10   # Rebuild when changing the stable branch
11   push:
12       branches:
13             - stable
14 #  release:
15 #    types: [published, created, edited]
16
17 jobs:
18   docker-stable:
19
20     runs-on: ubuntu-latest
21     permissions:
22       contents: read
23       packages: write
24
25     steps:
26       - name: Checkout repository
27         uses: actions/checkout@v2
28
29       # Login against a Docker registry except on PR
30       # https://github.com/docker/login-action
31       - name: Log into registry ${{ env.REGISTRY }}
32         uses: docker/login-action@v1
33         with:
34           username: ${{ secrets.DOCKERHUB_USERNAME }}
35           password: ${{ secrets.DOCKERHUB_TOKEN }}
36
37       - name: build
38         run: |
39           grep SIMGRID_VERSION_PATCH CMakeLists.txt| grep -q 'SIMGRID_VERSION_PATCH "0"' || (echo "Only run this action on stable source";exit 1)
40           cd tools/docker
41           make stable
42           docker push simgrid/stable
43       - name: Create the failure Message
44         if: ${{ failure() }}
45         run: |
46           echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"Failure when building STABLE docker image! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
47       - name: Create the success Message
48         if: ${{ success() }}
49         run: |
50           echo "{\"attachments\": [{\"color\": \"#00FF00\", \"text\":\"Docker STABLE image built and pushed successfully! ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
51       - uses: mattermost/action-mattermost-notify@master
52         env:
53           MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
54           MATTERMOST_CHANNEL: ${{ secrets.MATTERMOST_CHANNEL}}
55
56   docker-smpi:
57
58     # the Dockerfile builds upon the docker-stable image, so add a dependency
59     needs: docker-stable
60     
61     runs-on: ubuntu-latest
62     permissions:
63       contents: read
64       packages: write
65
66     steps:
67       - name: Checkout repository
68         uses: actions/checkout@v2
69
70       # Login against a Docker registry except on PR
71       # https://github.com/docker/login-action
72       - name: Log into registry ${{ env.REGISTRY }}
73         uses: docker/login-action@v1
74         with:
75           username: ${{ secrets.DOCKERHUB_USERNAME }}
76           password: ${{ secrets.DOCKERHUB_TOKEN }}
77
78       - name: build
79         run: |
80           grep SIMGRID_VERSION_PATCH CMakeLists.txt| grep -q 'SIMGRID_VERSION_PATCH "0"' || (echo "Only run this action on stable source";exit 1)
81           cd tools/docker
82           make tuto-smpi
83           docker push simgrid/tuto-smpi
84       - name: Create the failure Message
85         if: ${{ failure() }}
86         run: |
87           echo "{\"attachments\": [{\"color\": \"#FF0000\", \"text\":\"Failure when building SMPI docker image on stable docker! See ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
88       - name: Create the success Message
89         if: ${{ success() }}
90         run: |
91           echo "{\"attachments\": [{\"color\": \"#00FF00\", \"text\":\"Docker SMPI stable image built and pushed successfully! ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} \"}]}" > mattermost.json
92       - uses: mattermost/action-mattermost-notify@master
93         env:
94           MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
95           MATTERMOST_CHANNEL: ${{ secrets.MATTERMOST_CHANNEL}}
96