-
Notifications
You must be signed in to change notification settings - Fork 62
120 lines (107 loc) · 3.47 KB
/
nightly.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
name: Nightly Builds
on:
push:
branches: ["actions/**"]
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
outputs:
runs-on: ubuntu-latest
outputs:
saw-version: ${{ steps.saw.outputs.saw-version }}
name: ${{ steps.saw.outputs.name }}
steps:
- uses: actions/checkout@v2
- id: saw
run: |
.github/ci.sh set_version
.github/ci.sh output name saw-$(.github/ci.sh ver)-$(date -I)
docker-saw:
runs-on: ubuntu-latest
needs: [outputs]
continue-on-error: true
steps:
- uses: actions/checkout@v2
with:
submodules: true
- run: git -C deps/abcBridge submodule update --init
- name: Publish to Registry
uses: docker/build-push-action@v1
with:
username: ${{ secrets.GITHUBSAW_USERNAME }}
password: ${{ secrets.GITHUBSAW }}
repository: galoisinc/saw
tags: "nightly"
add_git_labels: true
push: ${{ github.event_name == 'schedule' }}
docker-saw-remote-api:
runs-on: ubuntu-latest
needs: [outputs]
continue-on-error: true
steps:
- uses: actions/checkout@v2
with:
submodules: true
- run: git -C deps/abcBridge submodule update --init
- name: Publish to Registry
uses: docker/build-push-action@v1
with:
username: ${{ secrets.GITHUBSAW_USERNAME }}
password: ${{ secrets.GITHUBSAW }}
repository: galoisinc/saw-remote-api
tags: "nightly"
file: Dockerfile-remote-api
add_git_labels: true
push: ${{ github.event_name == 'schedule' }}
build:
needs: [outputs]
runs-on: ${{ matrix.os }}
env:
VERSION: ${{ needs.outputs.outputs.saw-version }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
ghc: [8.8.4]
continue-on-error: true
steps:
- uses: actions/checkout@v2
with:
submodules: true
- run: git -C deps/abcBridge submodule update --init
- uses: actions/setup-haskell@v1
id: setup-haskell
with:
ghc-version: ${{ matrix.ghc }}
- uses: actions/cache@v2
name: Cache cabal store
with:
path: |
${{ steps.setup-haskell.outputs.cabal-store }}
dist-newstyle
key: cabal-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-${{ github.sha }}
restore-keys: |
cabal-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles(format('cabal.GHC-{0}.config', matrix.ghc)) }}-
- shell: bash
run: .github/ci.sh build_abc
if: runner.os != 'Windows'
- shell: bash
run: .github/ci.sh build
- shell: bash
run: .github/ci.sh setup_dist_bins
- shell: bash
run: |
.github/ci.sh build_cryptol
.github/ci.sh extract_exe "cryptol" "dist/bin" "deps/cryptol/dist-newstyle"
- shell: bash
run: .github/ci.sh bundle_files
- shell: bash
env:
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
name: ${{ needs.outputs.outputs.name }}-${{ runner.os }}-x86_64
run: .github/ci.sh zip_dist
- uses: actions/upload-artifact@v2
with:
name: ${{ needs.outputs.outputs.name }}-${{ runner.os }}-x86_64
path: "${{ needs.outputs.outputs.name }}-${{ runner.os }}-x86_64.tar.gz*"