forked from hexops/mach
-
Notifications
You must be signed in to change notification settings - Fork 0
88 lines (88 loc) · 3.68 KB
/
ci.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
name: CI
on:
- push
- pull_request
jobs:
x86_64-linux:
runs-on: ubuntu-latest
strategy:
matrix:
project: ['.', 'libs/glfw', 'libs/freetype']
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push
# to the branch.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
env:
DISPLAY: ':99.0'
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Zig
run: |
sudo apt install xz-utils libasound2-dev
sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.3952+9e070b653.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
# - name: x86_64-linux -> x86_64-linux-musl
# if: matrix.project == 'libs/freetype' || matrix.project == 'libs/glfw'
# run: cd ${{ matrix.project }} && zig build -Dtarget=x86_64-linux-musl
- name: x86_64-linux -> x86_64-macos
run: cd ${{ matrix.project }} && zig build -Dtarget=x86_64-macos.12-none
env:
AGREE: true
- name: x86_64-linux -> aarch64-macos
run: cd ${{ matrix.project }} && zig build -Dtarget=aarch64-macos.12-none
env:
AGREE: true
- name: x86_64-linux -> x86_64-windows
run: cd ${{ matrix.project }} && zig build -Dtarget=x86_64-windows-gnu
- name: compile all examples
if: matrix.project == '.'
run: cd ${{ matrix.project }} && zig build compile-all -Dtarget=x86_64-linux-gnu
- name: compile all examples (WASM)
if: matrix.project == '.'
run: cd ${{ matrix.project }} && zig build compile-all -Dtarget=wasm32-freestanding-none
- name: launch xvfb
run: Xvfb :99 -screen 0 1680x720x24 > /dev/null 2>&1 &
- name: test
if: matrix.project == '.'
run: |
sudo add-apt-repository -y ppa:kisak/kisak-mesa
sudo apt-get update
sudo apt-get install mesa-utils mesa-utils-extra mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers xvfb
cd ${{ matrix.project }} && zig build test
x86_64-windows:
runs-on: windows-latest
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push
# to the branch.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Git
run: choco install git
- name: Setup Zig
run: |
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri 'https://ziglang.org/builds/zig-windows-x86_64-0.10.0-dev.3952+9e070b653.zip' -OutFile 'C:\zig.zip'
cd C:\
7z x zig.zip
Add-Content $env:GITHUB_PATH 'C:\zig-windows-x86_64-0.10.0-dev.3027+0e26c6149\'
- name: compile all examples
run: zig build compile-all
- name: test
run: zig build test
x86_64-macos:
runs-on: macos-latest
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push
# to the branch.
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Zig
run: |
brew uninstall --ignore-dependencies libx11 # https://github.com/ziglang/zig/issues/11066
brew install xz
sudo sh -c 'wget -c https://ziglang.org/builds/zig-macos-x86_64-0.10.0-dev.3952+9e070b653.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
- name: test
run: zig build test
env:
AGREE: true