-
Notifications
You must be signed in to change notification settings - Fork 1
131 lines (104 loc) · 3.31 KB
/
artifacts.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
name: "Build"
permissions:
contents: write
on:
push:
tags:
- "*"
env:
MESA_VERSION: "24.3.4"
jobs:
swiftshader:
strategy:
fail-fast: false
matrix:
include:
- name: windows-x86_64-swiftshader
os: windows-latest
short_os: windows
out_dir: Windows
arch: x86_64
- name: macos-arm64-swiftshader
os: macos-latest
short_os: darwin
out_dir: Darwin
arch: arm64
- name: macos-x86_64-swiftshader
os: macos-latest
short_os: darwin
out_dir: Darwin
arch: x86_64
- name: linux-x86_64-swiftshader
os: ubuntu-latest
short_os: linux
out_dir: Linux
arch: x86_64
runs-on: ${{ matrix.os }}
name: ${{ matrix.name }}
steps:
- name: install ninja
uses: seanmiddleditch/gha-setup-ninja@master
- name: setup developer command prompt
uses: ilammy/msvc-dev-cmd@v1
if: matrix.short_os == 'windows'
- name: checkout swiftshader
uses: actions/checkout@v3
with:
repository: google/swiftshader
path: swiftshader
- name: cmake
run: |
cd swiftshader/build
# We don't need ccache anyway and windows builds fail due to a bug in ccache.
cmake .. -G Ninja -DCCACHE_FOUND=CCACHE_FOUND-NOTFOUND -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }}
- name: build
run: |
cd swiftshader/build
ninja
- name: compress
run: |
cd swiftshader/build
tar -cvf swiftshader-${{ matrix.short_os }}-${{ matrix.arch }}.tar.xz -C ${{ matrix.out_dir }} .
shell: bash
- name: release
uses: softprops/action-gh-release@v1
with:
files: swiftshader/build/swiftshader-${{ matrix.short_os }}-${{ matrix.arch }}.tar.xz
mesa:
strategy:
fail-fast: false
matrix:
include:
- name: linux-x86_64-mesa
os: ubuntu-latest
short_os: linux
arch: x86_64
runs-on: ${{ matrix.os }}
name: ${{ matrix.name }}
steps:
- name: install ninja
uses: seanmiddleditch/gha-setup-ninja@master
- name: install dependencies
run: |
sudo apt-get install -y libdrm-dev byacc flex python3-mako
pip3 install --user meson
- name: download mesa
run: |
curl -L --retry 5 https://archive.mesa3d.org/mesa-$MESA_VERSION.tar.xz -o mesa-$MESA_VERSION.tar.xz
tar xf mesa-$MESA_VERSION.tar.xz
- name: setup
run: |
cd mesa-$MESA_VERSION
meson setup builddir/ --buildtype=release -Dprefix="${PWD}/install/" -Dgallium-drivers=swrast -Dvulkan-drivers=swrast -Dplatforms= -Dglx=disabled
- name: build
run: |
cd mesa-$MESA_VERSION
meson install -C builddir/
- name: compress
run: |
cd mesa-$MESA_VERSION/install
tar -cvf ../mesa-$MESA_VERSION-${{ matrix.short_os }}-${{ matrix.arch }}.tar.xz .
- name: release
uses: softprops/action-gh-release@v1
with:
files: mesa-${{ env.MESA_VERSION }}/mesa-${{ env.MESA_VERSION }}-${{ matrix.short_os }}-${{ matrix.arch }}.tar.xz