-
Notifications
You must be signed in to change notification settings - Fork 0
79 lines (71 loc) · 2.2 KB
/
linux.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
name: Linux Build ipickme
on:
push:
paths-ignore:
- 'LICENSE'
- 'README.org'
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # See https://github.com/PaulHatch/semantic-version#important-note-regarding-the-checkout-action
- name: apt-get
run: |
sudo apt-get update
sudo apt-get install -y sbcl libgtk-3-dev
- name: Setup
run: |
mkdir -pv ~/Downloads
mkdir -pv ~/quicklisp
mkdir -pv ~/.cache/common-lisp
shell: bash
- name: Get Current Month
id: current-month
run: echo "::set-output name=value::$(date -u '+%Y-%m')"
- name: Cache SBCL Setup
id: cache
uses: actions/cache@v2
env:
cache-name: cache-sbcl-ubuntu-ipickme
with:
path: |
~/quicklisp
~/.cache/common-lisp
~/Downloads
key: "${{ steps.current-month.outputs.value }}-${{ env.cache-name }}-${{ runner.os }}"
- name: Install quicklisp
run: |
cd ~/Downloads
wget https://beta.quicklisp.org/quicklisp.lisp
sbcl --non-interactive \
--eval '(load "quicklisp.lisp")' \
--eval '(quicklisp-quickstart:install)' \
--eval '(ql-util:without-prompting (ql:add-to-init-file))' \
--eval '(ql:update-all-dists)'
if: steps.cache.outputs.cache-hit != 'true'
- name: Build Binary
run: |
make SBCL_COMPRESSION=1
- name: Test Run
run: |
./ipickme -h
- uses: actions/upload-artifact@v2
if: "!startsWith(github.ref, 'refs/tags/')"
with:
name: ipickme-linux-x86_64
path: ipickme
if-no-files-found: error
- name: Stable Release
uses: marvinpinto/action-automatic-releases@latest
if: "startsWith(github.ref, 'refs/tags/')"
with:
prerelease: false
repo_token: "${{ secrets.GITHUB_TOKEN }}"
files: |
ipickme
LICENSE
# - name: DEBUG SHELL
# uses: mxschmitt/action-tmate@v3
# if: ${{ failure() }}