-
Notifications
You must be signed in to change notification settings - Fork 1
112 lines (95 loc) · 3.55 KB
/
test.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
# This is a basic workflow to help you get started with Actions
name: Test
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ]
paths:
- 'shaderc.asd'
- 'src/**'
- 'test/**'
schedule:
- cron: '0 0 1 * *'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
test:
name: ${{ matrix.lisp }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
# allegro: roswell installs 32bit version
# clisp: can't be installed via roswell
# cmucl: can't load cffi (which is strange because that wasn't a problem before)
lisp: [abcl, ccl, ecl, sbcl-bin]
os: [ubuntu-latest]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Install Vulkan SDK (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
### Install Vulkan SDK
# Add lunarg apt sources
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-focal.list https://packages.lunarg.com/vulkan/lunarg-vulkan-focal.list
# Update package lists
sudo apt-get update -qq
# Install dependencies
sudo apt-get install -y \
vulkan-sdk
- name: Install Roswell
env:
LISP: ${{ matrix.lisp }}
run: curl -L https://raw.githubusercontent.com/roswell/roswell/v20.06.14.107/scripts/install-for-ci.sh | sh
- name: Install Rove
run: ros install rove
- name: Setup CMUCL
if: matrix.lisp == 'cmu-bin'
run: |
ln -s $GITHUB_WORKSPACE/vk ~/.roswell/lisp/quicklisp/local-projects/shaderc
ros -e "(ql:register-local-projects)"
ros -e "(ql:quickload :cffi)"
- name: Run tests
run: |
PATH="~/.roswell/bin:$PATH"
rove shaderc.asd
test-windows:
name: ${{ matrix.lisp }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
# Roswell can only install SBCL on windows, it seems
lisp: [sbcl-bin]
os: [windows-latest]
vulkan-sdk: [1.2.182.0]
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: Install Vulkan SDK
run: |
Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/${{ matrix.vulkan-sdk }}/windows/VulkanSDK-${{ matrix.vulkan-sdk }}-Installer.exe" -OutFile VulkanSDK.exe
$installer = Start-Process -FilePath VulkanSDK.exe -Wait -PassThru -ArgumentList @("/S");
$installer.WaitForExit();
- name: Install Roswell
env:
LISP: ${{ matrix.lisp }}
ROSWELL_INSTALL_DIR: /c/roswell
shell: bash
run: |
PATH="/c/roswell/bin:$PATH"
curl -L https://raw.githubusercontent.com/fukamachi/roswell/windows-source-registry-settings/scripts/install-for-ci.sh | sh
- name: Install Rove
shell: bash
run: /c/roswell/bin/ros install rove
- name: Run tests
shell: bash
run: |
# Add Roswel to path
PATH="~/.roswell/bin:/c/roswell/bin:$PATH"
# Add VulkanSDK to path
PATH="/c/VulkanSDK/${{ matrix.vulkan-sdk }}/Bin:/c/VulkanSDK/${{ matrix.vulkan-sdk }}/Bin32:$PATH"
# Run tests
rove shaderc.asd