aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.crow/build.yml60
-rw-r--r--.crow/release.yml23
2 files changed, 83 insertions, 0 deletions
diff --git a/.crow/build.yml b/.crow/build.yml
new file mode 100644
index 0000000..e6945f6
--- /dev/null
+++ b/.crow/build.yml
@@ -0,0 +1,60 @@
+when:
+ - event: tag
+
+clone:
+ git:
+ image: codefloe.com/crow-plugins/clone:1.1.0
+ settings:
+ tags: true
+
+steps:
+ - name: build-linux-x86_64
+ image: alpine:3.20
+ commands:
+ - apk add --no-cache curl xz
+ - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
+ - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
+ - zig build -Dtarget=x86_64-linux-musl -Doptimize=ReleaseSafe
+ - cp zig-out/bin/tpb tpb-linux-x86_64
+
+ - name: build-linux-aarch64
+ image: alpine:3.20
+ commands:
+ - apk add --no-cache curl xz
+ - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
+ - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
+ - zig build -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSafe
+ - cp zig-out/bin/tpb tpb-linux-aarch64
+
+ - name: build-macos-x86_64
+ image: alpine:3.20
+ commands:
+ - apk add --no-cache curl xz
+ - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
+ - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
+ - zig build -Dtarget=x86_64-macos -Doptimize=ReleaseSafe
+ - cp zig-out/bin/tpb tpb-macos-x86_64
+
+ - name: build-macos-aarch64
+ image: alpine:3.20
+ commands:
+ - apk add --no-cache curl xz
+ - curl -sSL https://ziglang.org/download/0.16.0/zig-x86_64-linux-0.16.0.tar.xz | tar -xJ -C /usr/local
+ - ln -s /usr/local/zig-x86_64-linux-0.16.0/zig /usr/local/bin/zig
+ - zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe
+ - cp zig-out/bin/tpb tpb-macos-aarch64
+
+
+ - name: release
+ image: woodpeckerci/plugin-release
+ depends_on: [build-linux-x86_64, build-linux-aarch64, build-macos-x86_64, build-macos-aarch64]
+ settings:
+ api_key:
+ from_secret: forgejo_token
+ files:
+ - tpb-linux-x86_64
+ - tpb-linux-aarch64
+ - tpb-macos-x86_64
+ - tpb-macos-aarch64
+ checksum: sha256
+ file_exists: overwrite
diff --git a/.crow/release.yml b/.crow/release.yml
new file mode 100644
index 0000000..3770f56
--- /dev/null
+++ b/.crow/release.yml
@@ -0,0 +1,23 @@
+# This file is a bit of a hack in order to run the real release CI
+when:
+ - event: push
+ branch: ${CI_REPO_DEFAULT_BRANCH}
+
+clone:
+ git:
+ image: codefloe.com/crow-plugins/clone:1.1.0
+ settings:
+ tags: true
+
+
+steps:
+ - name: retag-latest
+ image: alpine:3.20
+ environment:
+ FORGEJO_TOKEN:
+ from_secret: forgejo_token
+ commands:
+ - apk add --no-cache git
+ - git remote set-url origin "https://oauth2:$${FORGEJO_TOKEN}@$${CI_FORGE_URL#https://}/$${CI_REPO}.git"
+ - git tag -f latest
+ - git push -f origin latest