-
Notifications
You must be signed in to change notification settings - Fork 0
147 lines (126 loc) · 4.1 KB
/
push.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
name: push
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
name: build cache
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-
- uses: actions/cache@v3
name: deps cache
id: cache-deps
with:
path: |
~/.cargo/bin/
apt/*.deb
key: ${{ runner.os }}-deps
- name: install gtk/glslang/naga
if: '!steps.cache-deps.outputs.cache-hit'
run: |
sudo apt install --download-only glslang-tools build-essential libgtk-3-dev
mkdir -p apt
cp /var/cache/apt/archives/*.deb apt
sudo apt install glslang-tools build-essential libgtk-3-dev
cargo install naga-cli
- name: unpack gtk/glslang
if: 'steps.cache-deps.outputs.cache-hit'
run: |
sudo cp apt/*.deb /var/cache/apt/archives/
sudo apt install glslang-tools build-essential libgtk-3-dev
- name: check shader compilers are working
run: |
naga backend-wgpu/src/shaders/stroke_mesh.wgsl
glslangValidator backend-gl/src/shaders/stroke_line.vert
- name: test
run: cargo test
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
name: build cache
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-
- uses: actions/cache@v3
name: deps cache
id: cache-deps
with:
path: |
C:\glslang\
~/.cargo/bin/
key: ${{ runner.os }}-deps
- name: download glslang/naga
if: '!steps.cache-deps.outputs.cache-hit'
run: |
Invoke-WebRequest -URI https://ci.appveyor.com/api/buildjobs/73ctb6evrl4d1r10/artifacts/build%2Finstall%2Fglslang-master-windows-x64-Release.zip -OutFile glslang.zip
7z x glslang.zip -oC:\glslang
cargo install naga-cli
- name: check shader compilers
run: |
Add-Content $env:GITHUB_PATH 'C:\glslang\bin'
$env:Path += ';C:\glslang\bin'
glslangValidator backend-gl/src/shaders/stroke_line.vert
naga backend-wgpu/src/shaders/stroke_mesh.wgsl
- name: test
run: cargo test
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
name: build cache
with:
path: |
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-
- uses: actions/cache@v3
name: deps cache
id: cache-deps
with:
path: |
/usr/local/Cellar/glslang/*
~/.cargo/bin/
key: ${{ runner.os }}-deps
- name: install glslang/naga
if: '!steps.cache-deps.outputs.cache-hit'
run: |
cargo install naga-cli
brew install glslang
- name: link glslang
if: 'steps.cache-deps.outputs.cache-hit'
run: brew link glslang
- name: check shader compilers are working
run: |
naga backend-wgpu/src/shaders/stroke_mesh.wgsl
glslangValidator backend-gl/src/shaders/stroke_line.vert
- name: test
run: cargo test