From 1bd19c2d5a98de8126ab055529ee8227e7cacbb3 Mon Sep 17 00:00:00 2001 From: IntegratedQuantum Date: Tue, 28 Oct 2025 12:25:25 +0100 Subject: [PATCH 1/6] Add a CI workflow and introduce a formatting error to check --- .github/workflows/ci.yml | 34 ++++++++++++++++++++++++++++++++++ build.zig | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b13789..ad7565f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1 +1,35 @@ +name: Compilation and Format Check +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + compile: + runs-on: ubuntu-latest + name: Compilation Check + steps: + - uses: actions/checkout@v3 + - run: echo "VERSION=$(cat .zigversion)" >> $GITHUB_ENV + - uses: mlugg/setup-zig@v2 + with: + version: ${{ env.VERSION }} + - run: echo "zigPath=$(command -v zig | sed 's/.\{3\}$//')" >> $GITHUB_ENV + - run: zig build -Dtarget=x86_64-linux-gnu + - run: zig build -Dtarget=x86_64-windows-gnu + - run: zig build -Dtarget=aarch64-linux-gnu + - run: zig build -Dtarget=aarch64-windows-gnu + - run: zig build -Dtarget=x86_64-macos-none + - run: zig build -Dtarget=x86_64-macos-none + - run: | + if zig build -- *.zig src/*.zig src/*/*.zig src/*/*/*.zig src/*/*/*/*.zig src/*/*/*/*/*.zig src/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*/*/*.zig | grep -q . ; then + git diff --color=always; + exit 1; + fi + - run: | + if zig build fmt -- --zon build.zig.zon | grep -q . ; then + git diff --color=always; + exit 1; + fi diff --git a/build.zig b/build.zig index da45cdd..2da4960 100644 --- a/build.zig +++ b/build.zig @@ -38,7 +38,7 @@ pub fn build(b: *std.Build) void { run_cmd.step.dependOn(b.getInstallStep()); - if(b.args) |args| { + if (b.args) |args| { run_cmd.addArgs(args); } } From a573952984ddc5012c2914907245f317e4734065 Mon Sep 17 00:00:00 2001 From: IntegratedQuantum Date: Tue, 28 Oct 2025 12:31:18 +0100 Subject: [PATCH 2/6] Remove needless line --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad7565f..81b6652 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,6 @@ jobs: - uses: mlugg/setup-zig@v2 with: version: ${{ env.VERSION }} - - run: echo "zigPath=$(command -v zig | sed 's/.\{3\}$//')" >> $GITHUB_ENV - run: zig build -Dtarget=x86_64-linux-gnu - run: zig build -Dtarget=x86_64-windows-gnu - run: zig build -Dtarget=aarch64-linux-gnu From e38d8d88c279523e703977066d19c2fccf4cd23a Mon Sep 17 00:00:00 2001 From: IntegratedQuantum Date: Tue, 28 Oct 2025 12:35:07 +0100 Subject: [PATCH 3/6] Add .zigversion --- .zigversion | 1 + 1 file changed, 1 insertion(+) create mode 100644 .zigversion diff --git a/.zigversion b/.zigversion new file mode 100644 index 0000000..8bc0882 --- /dev/null +++ b/.zigversion @@ -0,0 +1 @@ +0.15.0-dev.1034+bd97b6618 \ No newline at end of file From 1a915dd5fd7eb323925375a4545eebf08be7c48f Mon Sep 17 00:00:00 2001 From: IntegratedQuantum Date: Tue, 28 Oct 2025 12:38:51 +0100 Subject: [PATCH 4/6] run it --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 81b6652..1000ca1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,12 +23,12 @@ jobs: - run: zig build -Dtarget=x86_64-macos-none - run: zig build -Dtarget=x86_64-macos-none - run: | - if zig build -- *.zig src/*.zig src/*/*.zig src/*/*/*.zig src/*/*/*/*.zig src/*/*/*/*/*.zig src/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*/*/*.zig | grep -q . ; then + if zig build run -- *.zig src/*.zig src/*/*.zig src/*/*/*.zig src/*/*/*/*.zig src/*/*/*/*/*.zig src/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*/*.zig src/*/*/*/*/*/*/*/*/*/*.zig | grep -q . ; then git diff --color=always; exit 1; fi - run: | - if zig build fmt -- --zon build.zig.zon | grep -q . ; then + if zig build run -- --zon build.zig.zon | grep -q . ; then git diff --color=always; exit 1; fi From d073e4123717c533ae37477ee5a02682ac4d6a83 Mon Sep 17 00:00:00 2001 From: IntegratedQuantum Date: Tue, 28 Oct 2025 12:39:55 +0100 Subject: [PATCH 5/6] Undo the thing --- build.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.zig b/build.zig index 2da4960..da45cdd 100644 --- a/build.zig +++ b/build.zig @@ -38,7 +38,7 @@ pub fn build(b: *std.Build) void { run_cmd.step.dependOn(b.getInstallStep()); - if (b.args) |args| { + if(b.args) |args| { run_cmd.addArgs(args); } } From fbe78c067f489064f3a928e32cd300c8c3960857 Mon Sep 17 00:00:00 2001 From: IntegratedQuantum Date: Tue, 28 Oct 2025 12:43:26 +0100 Subject: [PATCH 6/6] Add release workflow --- .github/workflows/release.yml | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..a97715a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: Create release + +on: + push: + tags: + - '*.*.*' + +permissions: + contents: write + +jobs: + release: + name: Create release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: echo "VERSION=$(cat .zigversion)" >> $GITHUB_ENV + - uses: mlugg/setup-zig@v2 + with: + version: ${{ env.VERSION }} + + - run: zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseFast -Dcpu=baseline + - run: mv ./zig-out/bin/Cubyz-fmt Cubyz-fmt-x86_64-linux + - run: zig build -Dtarget=aarch64-linux-musl -Doptimize=ReleaseFast -Dcpu=baseline + - run: mv ./zig-out/bin/Cubyz-fmt Cubyz-fmt-aarch64-linux + - run: zig build -Dtarget=x86_64-windows-gnu -Doptimize=ReleaseFast -Dcpu=baseline + - run: mv ./zig-out/bin/Cubyz-fmt Cubyz-fmt-x86_64-windows + - run: zig build -Dtarget=aarch64-windows-gnu -Doptimize=ReleaseFast -Dcpu=baseline + - run: mv ./zig-out/bin/Cubyz-fmt Cubyz-fmt-aarch64-windows + - run: zig build -Dtarget=x86_64-macos-none -Doptimize=ReleaseFast -Dcpu=baseline + - run: mv ./zig-out/bin/Cubyz-fmt Cubyz-fmt-x86_64-macos + - run: zig build -Dtarget=aarch64-macos-none -Doptimize=ReleaseFast -Dcpu=baseline + - run: mv ./zig-out/bin/Cubyz-fmt Cubyz-fmt-aarch64-macos + + - name: Create release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.ref_name }} + run: | + gh release create "$tag" \ + --repo="$GITHUB_REPOSITORY" \ + --title="${GITHUB_REPOSITORY#*/} ${tag#v}" \ + Cubyz-fmt-x86_64-linux \ + Cubyz-fmt-aarch64-linux \ + Cubyz-fmt-x86_64-windows \ + Cubyz-fmt-aarch64-windows \ + Cubyz-fmt-x86_64-macos \ + Cubyz-fmt-aarch64-macos + gh release