Commit graph

36 commits

Author SHA1 Message Date
Stephen Gutekanst
0645429df9 all: move standalone libraries to libs/ subdirectory
The root dir of our repository has grown quite a lot the past few months.

I'd like to make it more clear where the bulk of the engine lives (`src/`) and
also make it more clear which Mach libraries are consumable as standalone projects.

As for the name of this directory, `libs` was my first choice but there's a bit of
a convention of that being external libraries in Zig projects _today_, while these
are libraries maintained as part of Mach in this repository - not external ones.

We will name this directory `libs`, and if we have a need for external libraries
we will use `external` or `deps` for that directory name. I considered other names
such as `components`, `systems`, `modules` (which are bad as they overlap with
major ECS / engine concepts), and it seems likely the official Zig package manager
will break the convention of using a `libs` dir anyway.

Performed via:

```sh
mkdir libs/
git mv freetype libs/
git mv basisu libs/
git mv gamemode libs/
git mv glfw libs/
git mv gpu libs/
git mv gpu-dawn libs/
git mv sysaudio libs/
git mv sysjs libs/
git mv ecs libs/
```

git-subtree-dir: glfw
git-subtree-mainline: 0d5b853443
git-subtree-split: 572d1144f11b353abdb64fff828b25a4f0fbb7ca

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>

git mv ecs libs/

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
7dd1818e70 all: update to Zig 0.10.0-dev.3551+92568a009
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 14:45:21 -07:00
Stephen Gutekanst
bbb276854b all: update to Zig 0.10.0-dev.3027+0e26c6149
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-17 09:20:48 -07:00
Stephen Gutekanst
1eab0539d1 CI: correct M1 runner Zig version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 04:11:43 -07:00
Stephen Gutekanst
539b643267 CI: rename macos-gnu target -> macos-none
Reflecting breaking change in latest version of Zig

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
3a81754973 CI: ZIG_VERSION=0.10.0-dev.2439+c84f5a5f9 ./dev/update-zig.sh
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
257d4a92f2 gpu-dawn: CI: always upgrade Zig M1 CI version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
0be7b091a5 gpu-dawn: CI: standardize M1 CI name
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-31 03:24:34 -07:00
Stephen Gutekanst
89c9c6c8e1 CI: correct YAML syntax / regression
Helps hexops/mach#248

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-04-21 03:41:38 -07:00
iddev5
bb65083561 CI: dont run aarch64-mac workflow on forks
The workflow uses a self hosted runner which is only available for
hexops/mach* repositories. Without this commit, whenever a fork of mach
or mach-* were pushed, it would queue an aarch64-mac job and then crash
after one day due to no machines being found.
2022-04-19 20:12:22 -07:00
Stephen Gutekanst
5b594ce40e gpu-dawn: do not include OS and libc version in download URLs
I'm not sure including the OS and libc version in download URLs makes much sense. It may
be useful to include them as metadata in the future alongside the release, but it seems
better to exclude these from the URL (especially so that others can download them from a
script without fear of them changing for non-Zig consumption.)

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-28 02:20:37 -07:00
Stephen Gutekanst
a68c73bc68 gpu-dawn: CI: be more explicit about which libc we target
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-28 02:01:20 -07:00
Stephen Gutekanst
028b7d8034 gpu-dawn: CI: upload headers.json + tarball
Fixes hexops/mach#171
Helps hexops/mach#109

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-27 19:29:58 -07:00
Stephen Gutekanst
805de702ee gpu-dawn: rename -Dfrom-source to -Ddawn-from-source
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-27 15:51:56 -07:00
Stephen Gutekanst
4ba7172626 gpu-dawn: explicitly target <arch>-macos.12
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-27 14:53:53 -07:00
Stephen Gutekanst
85dbc406ff gpu-dawn: abide by GitHub release filename restrictions
GitHub releases impose [some weird restrictions on uploaded filenames](https://twitter.com/slimsag/status/1498025997987315713),
so we now abide by those.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-27 13:48:16 -07:00
Stephen Gutekanst
b749e23fe2 gpu-dawn: include full target triple in binary releases
Fixes hexops/mach#170

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-27 00:02:26 -07:00
Stephen Gutekanst
d8a00bd672 gpu-dawn: CI: use Zig libc versions not the system versions
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-13 00:29:19 -07:00
Stephen Gutekanst
4179248811 gpu-dawn: CI: fix infinite build -> release -> build -> release cycle
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 22:20:29 -07:00
Stephen Gutekanst
5a07cd3d09 gpu-dawn: CI: prevent infinite loop of build -> release -> build -> release
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 20:08:45 -07:00
Stephen Gutekanst
01ca3b8beb gpu-dawn: CI: build+upload debug & release-fast binary releases
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
4a5cc73edc gpu-dawn: CI: M1: skip sudo when cleaning up git submodules
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
3ccbe1f7c7 gpu-dawn: CI: cleanup git submodules in M1 runner
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
378c0af65e gpu-dawn: CI: cleanup git submodules in M1 runner
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
b994c85982 gpu-dawn: build Dawn from source in CI
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
f878524fde gpu-dawn: fix os-arch in CI pipelines
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
df61d34811 gpu-dawn: CI: remove debug steps
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
43c4795e48 gpu-dawn: CI: correct triple format in release uploads
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
7bc8a6ac57 gpu-dawn: use "release-<SHA>" not "<SHA>" for release tags
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
5e4bff902b gpu-dawn: disable aarch64-macos / x86_64-linux CI runners for now
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
97048a58de gpu-dawn: upload gzip binaries properly
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
b93dc4a207 gpu-dawn: authenticate the GH CLI
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
1807e7b2f3 gpu-dawn: begin publishing prebuilt binaries
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
38eb708614 gpu-dawn: remove symlink before cloning mach-glfw
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
c0901d4006 gpu-dawn: move mach-glfw cloning to CI script for now
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00
Stephen Gutekanst
e6e5c7f14a gpu-dawn: have CI build gpu-dawn for Linux & macOS
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-12 15:21:16 -07:00