Skip to content

Commit 88cd64a

Browse files
authored
Port to fibs build system (#208)
1 parent 54f9a66 commit 88cd64a

File tree

18 files changed

+1206
-400
lines changed

18 files changed

+1206
-400
lines changed

.dockerignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
.git/
22
zig-*
3+
.zig-*
4+
.fibs/
5+
docs/
6+
.vscode/
7+
.github/
8+
test/
39
ext/SPIRV-Cross/reference
410
ext/SPIRV-Cross/shaders*
511
ext/SPIRV-Cross/test*
612
ext/SPIRV-Tools/test/
713
ext/glslang/Test/
8-

.github/workflows/build.yml

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,52 +6,79 @@ jobs:
66
windows:
77
runs-on: windows-latest
88
steps:
9-
- uses: lukka/get-cmake@latest
10-
- uses: actions/checkout@v4
9+
- uses: actions/checkout@main
1110
with:
1211
submodules: true
12+
- uses: denoland/setup-deno@v2
1313
- name: build debug
14-
run: python3 fips build win64-vstudio-debug
14+
run: |
15+
./fibs config win-vstudio-debug
16+
./fibs build
1517
- name: build release
16-
run: python3 fips build win64-vstudio-release
18+
run: |
19+
./fibs config win-vstudio-release
20+
./fibs build
1721
- name: test
18-
run: python3 fips run_tests win64-vstudio-release
22+
run: |
23+
./fibs runtests win-vstudio-release
1924
mac:
2025
runs-on: macos-latest
2126
steps:
22-
- uses: lukka/get-cmake@latest
23-
- uses: actions/checkout@v4
27+
- uses: actions/checkout@main
2428
with:
2529
submodules: true
30+
- uses: ashutoshvarma/setup-ninja@master
31+
- uses: denoland/setup-deno@v2
2632
- name: build debug
27-
run: python3 fips build osx-ninja-debug
33+
run: |
34+
./fibs config macos-ninja-debug
35+
./fibs build
2836
- name: build release
29-
run: python3 fips build osx-ninja-release
37+
run: |
38+
./fibs config macos-ninja-release
39+
./fibs build
3040
- name: test
31-
run: python3 fips run_tests osx-ninja-release
41+
run: |
42+
./fibs runtests macos-ninja-release
3243
linux:
3344
runs-on: ubuntu-latest
3445
steps:
35-
- uses: lukka/get-cmake@latest
36-
- uses: actions/checkout@v4
46+
- uses: actions/checkout@main
3747
with:
3848
submodules: true
49+
- uses: ashutoshvarma/setup-ninja@master
50+
- uses: denoland/setup-deno@v2
3951
- name: build debug
40-
run: python fips build linux-ninja-debug
52+
run: |
53+
./fibs config linux-ninja-debug
54+
./fibs build
4155
- name: build release
42-
run: python fips build linux-ninja-release
56+
run: |
57+
./fibs config linux-ninja-release
58+
./fibs build
4359
- name: test
44-
run: python3 fips run_tests linux-ninja-release
60+
run: |
61+
./fibs runtests linux-ninja-release
4562
linux-arm64:
4663
runs-on: ubuntu-24.04-arm
4764
steps:
48-
- uses: lukka/get-cmake@latest
49-
- uses: actions/checkout@v4
65+
- uses: actions/checkout@main
5066
with:
5167
submodules: true
68+
- uses: denoland/setup-deno@v2
69+
# NOTE: setup-ninja action doesn't work on ARM Linux, install x86 exe
70+
- name: install ninja
71+
run: |
72+
sudo apt-get update
73+
sudo apt install ninja-build
5274
- name: build debug
53-
run: python fips build linux-ninja-debug
75+
run: |
76+
./fibs config linux-ninja-debug
77+
./fibs build
5478
- name: build release
55-
run: python fips build linux-ninja-release
79+
run: |
80+
./fibs config linux-ninja-release
81+
./fibs build
5682
- name: test
57-
run: python3 fips run_tests linux-ninja-release
83+
run: |
84+
./fibs runtests linux-ninja-release

.github/workflows/deploy.yml

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,56 +6,58 @@ jobs:
66
windows:
77
runs-on: windows-latest
88
steps:
9-
- uses: lukka/get-cmake@latest
10-
- uses: actions/checkout@v4
9+
- uses: actions/checkout@main
1110
with:
1211
submodules: true
12+
- uses: denoland/setup-deno@v2
1313
- name: build
1414
run: |
15-
python3 fips set local on
16-
python3 fips build win64-vstudio-release
17-
md5sum fips-files/deploy/sokol-tools/win64-vstudio-release/sokol-shdc.exe
15+
./fibs config win-vstudio-release
16+
./fibs build
17+
md5sum .fibs/dist/win-vstudio-release/sokol-shdc.exe
1818
- name: upload
1919
uses: actions/upload-artifact@v4
2020
with:
21-
name: win64-vstudio-release
22-
path: fips-files/deploy/sokol-tools/win64-vstudio-release/sokol-shdc.exe
21+
name: win-vstudio-release
22+
path: .fibs/dist/win-vstudio-release/sokol-shdc.exe
2323
retention-days: 1
2424
mac_intel:
2525
runs-on: macos-latest
2626
steps:
27-
- uses: lukka/get-cmake@latest
28-
- uses: actions/checkout@v4
27+
- uses: actions/checkout@main
2928
with:
3029
submodules: true
30+
- uses: ashutoshvarma/setup-ninja@master
31+
- uses: denoland/setup-deno@v2
3132
- name: build
3233
run: |
33-
python3 fips set local on
34-
python3 fips build osx-x64-ninja-release
35-
md5 fips-files/deploy/sokol-tools/osx-x64-ninja-release/sokol-shdc
34+
./fibs config macos-x64-ninja-release
35+
./fibs build
36+
md5 .fibs/dist/macos-x64-ninja-release/sokol-shdc
3637
- name: upload
3738
uses: actions/upload-artifact@v4
3839
with:
39-
name: osx-x64-ninja-release
40-
path: fips-files/deploy/sokol-tools/osx-x64-ninja-release/sokol-shdc
40+
name: macos-x64-ninja-release
41+
path: .fibs/dist/macos-x64-ninja-release/sokol-shdc
4142
retention-days: 1
4243
mac_arm:
4344
runs-on: macos-latest
4445
steps:
45-
- uses: lukka/get-cmake@latest
46-
- uses: actions/checkout@v4
46+
- uses: actions/checkout@main
4747
with:
4848
submodules: true
49+
- uses: ashutoshvarma/setup-ninja@master
50+
- uses: denoland/setup-deno@v2
4951
- name: build
5052
run: |
51-
python3 fips set local on
52-
python3 fips build osx-arm64-ninja-release
53-
md5 fips-files/deploy/sokol-tools/osx-arm64-ninja-release/sokol-shdc
53+
./fibs config macos-arm-ninja-release
54+
./fibs build
55+
md5 .fibs/dist/macos-arm-ninja-release/sokol-shdc
5456
- name: upload
5557
uses: actions/upload-artifact@v4
5658
with:
57-
name: osx-arm64-ninja-release
58-
path: fips-files/deploy/sokol-tools/osx-arm64-ninja-release/sokol-shdc
59+
name: macos-arm-ninja-release
60+
path: .fibs/dist/macos-arm-ninja-release/sokol-shdc
5961
retention-days: 1
6062
linux_intel:
6163
runs-on: ubuntu-latest
@@ -86,7 +88,7 @@ jobs:
8688
- name: upload
8789
uses: actions/upload-artifact@v4
8890
with:
89-
name: linux-arm64-ninja-release
91+
name: linux-arm-ninja-release
9092
path: sokol-shdc
9193
retention-days: 1
9294
deploy:
@@ -99,23 +101,23 @@ jobs:
99101
ssh-key: ${{ secrets.GHACTIONS_PUSH }}
100102
- uses: actions/download-artifact@v4
101103
with:
102-
name: win64-vstudio-release
104+
name: win-vstudio-release
103105
path: bin/win32
104106
- uses: actions/download-artifact@v4
105107
with:
106-
name: osx-x64-ninja-release
108+
name: macos-x64-ninja-release
107109
path: bin/osx
108110
- uses: actions/download-artifact@v4
109111
with:
110-
name: osx-arm64-ninja-release
112+
name: macos-arm-ninja-release
111113
path: bin/osx_arm64
112114
- uses: actions/download-artifact@v4
113115
with:
114116
name: linux-x64-ninja-release
115117
path: bin/linux
116118
- uses: actions/download-artifact@v4
117119
with:
118-
name: linux-arm64-ninja-release
120+
name: linux-arm-ninja-release
119121
path: bin/linux_arm64
120122
- name: "commit and push"
121123
run: |

.gitignore

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
#>fips
2-
# this area is managed by fips, do not edit
3-
.fips-*
4-
*.pyc
1+
.fibs/
52
.vscode/
6-
.idea/
7-
CMakeUserPresets.json
8-
#<fips
9-
sokol-shdc
3+
CMakeLists.txt
4+
CMakePresets.json
105
zig-*/
116
.zig-*/
127
test/out/
13-
8+
sokol-shdc

CMakeLists.txt

Lines changed: 0 additions & 28 deletions
This file was deleted.

Dockerfile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
FROM --platform=$TARGETPLATFORM alpine
2-
RUN apk add build-base git python3 cmake ninja
3-
ADD . /workspace/sokol-tools
1+
FROM --platform=$TARGETPLATFORM denoland/deno:alpine
2+
RUN apk add build-base git cmake ninja
3+
COPY . /workspace/sokol-tools
4+
# LD_LIBRARY_PATH hack see: https://github.com/denoland/deno_docker/issues/373
45
RUN cd /workspace/sokol-tools && \
5-
./fips build linux-ninja-release && \
6-
strip /workspace/fips-deploy/sokol-tools/linux-ninja-release/sokol-shdc
6+
LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH ./fibs config linux-ninja-release --verbose && \
7+
LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH ./fibs build --verbose && \
8+
strip /workspace/sokol-tools/.fibs/dist/linux-ninja-release/sokol-shdc

0 commit comments

Comments
 (0)