-
-
Notifications
You must be signed in to change notification settings - Fork 12
39 lines (35 loc) · 1.34 KB
/
docker.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: "Build"
on: [push, pull_request]
jobs:
build:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
# Workaround for 'No space left on device' error
- name: free disk space
run: |
sudo docker rmi $(docker image ls -aq) >/dev/null 2>&1 || true
sudo swapoff -a
sudo rm -f /swapfile
sudo apt clean
df -h
# In this step, this action saves a list of existing images, the cache is created without them in the post run.
# It also restores the cache if it exists.
- uses: jpribyl/[email protected]
continue-on-error: true # Ignore the failure of a step and avoid terminating the job.
- name: Build and test
run: |
set -eo pipefail
export TIMESTAMP=$(date +%s)
docker build -f Dockerfile . -t souffle-haskell:$TIMESTAMP | tee souffle-haskell-lang-${{matrix.os}}.log
docker run --rm souffle-haskell:$TIMESTAMP bash -c "make tests" | tee -a souffle-haskell-lang-${{matrix.os}}.log
- name: Upload logs
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: souffle-haskell-lang-${{matrix.os}}.log
path: souffle-haskell-lang-${{matrix.os}}.log