-
Notifications
You must be signed in to change notification settings - Fork 7
174 lines (155 loc) · 5.39 KB
/
ci-lib.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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
name: Build
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
########################################################################
## CONFIGURATION
########################################################################
env:
SCHEME: scheme
jobs:
ubuntu-chez:
runs-on: ubuntu-latest
env:
PACK_DIR: /root/.pack
strategy:
fail-fast: false
container: ghcr.io/stefan-hoeck/idris2-pack:latest
steps:
- name: Checkout idris2-tls
uses: actions/checkout@v2
- name: Install idris deps
run: pack install-deps tls.ipkg
- name: Build package
run: make install
- name: Test package
run: make test
# windows-chez:
# runs-on: windows-latest
# env:
# MSYSTEM: MINGW64
# MSYS2_PATH_TYPE: inherit
# SCHEME: scheme
# CC: gcc
# steps:
# - name: Init
# run: |
# git config --global core.autocrlf false
# - name: Checkout
# uses: actions/checkout@v2
# # This caching step allows us to save a lot of building time by only
# # rebuilding Idris2 from boostrap if absolutely necessary
# - name: Cache Idris2
# uses: actions/cache@v2
# id: cache-idris2
# with:
# path: |
# ChezScheme
# .idris2
# key: ${{ runner.os }}-${{ env.IDRIS2_COMMIT }}
# - name: Get Chez Scheme
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# git clone --depth 1 https://github.com/cisco/ChezScheme
# c:\msys64\usr\bin\bash -l -c "pacman -S --noconfirm tar make mingw-w64-x86_64-gcc"
# echo "PWD=$(c:\msys64\usr\bin\cygpath -u $(pwd))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# - name: Configure and Build Chez Scheme
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# c:\msys64\usr\bin\bash -l -c "cd $env:PWD && cd ChezScheme && ./configure --threads && make"
# - name: Set Path
# run: |
# $chez="$(pwd)\ChezScheme\ta6nt\bin\ta6nt"
# $idris="$(pwd)\.idris2"
# echo "$chez" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# echo "$idris\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# echo "IDRIS_PREFIX=$idris" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# echo "PREFIX=$(c:\msys64\usr\bin\cygpath -u $idris)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# - name: Test Scheme
# run: |
# scheme --version
# - name: Install Idris2
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# git clone https://github.com/idris-lang/idris2
# cd idris2
# git checkout ${{ env.IDRIS2_COMMIT }}
# c:\msys64\usr\bin\bash -l -c "cd $env:PWD && cd idris2 && make bootstrap && make install"
# - name: Install idris2-elab-util
# run: |
# git clone https://github.com/stefan-hoeck/idris2-elab-util
# cd idris2-elab-util
# git checkout ${{ env.ELAB_COMMIT }}
# make install
# - name: Checkout idris2-tls
# uses: actions/checkout@v2
# with:
# path: tls
# - name: Install idris deps
# run: |
# cd tls
# - name: Build package
# run: |
# cd tls
# echo "TLS=$(c:\msys64\usr\bin\cygpath -u $(pwd))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# make install
# - name: Test package
# run: c:\msys64\usr\bin\bash -l -c "cd $env:TLS && make test"
# macos-chez:
# runs-on: macos-latest
# env:
# SCHEME: chez
# steps:
# # This caching step allows us to save a lot of building time by only
# # rebuilding Idris2 from boostrap if absolutely necessary
# - name: Cache Idris2
# uses: actions/cache@v2
# id: cache-idris2
# with:
# path: |
# ~/.idris2
# key: ${{ runner.os }}-${{ env.IDRIS2_COMMIT }}
# - name: Install Idris2 build dependencies
# run: |
# brew install chezscheme
# brew install coreutils
# echo "$HOME/.idris2/bin" >> "$GITHUB_PATH"
# - name: Build Idris 2 from bootstrap
# if: steps.cache-idris2.outputs.cache-hit != 'true'
# run: |
# git clone https://github.com/idris-lang/idris2
# cd idris2
# git checkout ${{ env.IDRIS2_COMMIT }}
# chmod -R a-w bootstrap
# make bootstrap && make install
# shell: bash
# - name: Install idris2-elab-util
# run: |
# git clone https://github.com/stefan-hoeck/idris2-elab-util
# cd idris2-elab-util
# git checkout ${{ env.ELAB_COMMIT }}
# make install
# shell: bash
# - name: Install idris2-sop
# run: |
# git clone https://github.com/stefan-hoeck/idris2-sop
# cd idris2-sop
# git checkout ${{ env.SOP_COMMIT }}
# idris2 --install sop.ipkg
# shell: bash
# - name: Checkout idris2-tls
# uses: actions/checkout@v2
# with:
# path: tls
# - name: Build package
# run: |
# cd tls
# make install
# - name: Test package
# run: |
# cd tls
# make test