diff --git a/.crow/build.yml b/.crow/build.yml new file mode 100644 index 0000000..fc2e282 --- /dev/null +++ b/.crow/build.yml @@ -0,0 +1,72 @@ +when: + - event: push + branch: ${CI_REPO_DEFAULT_BRANCH} + +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: retag-latest + image: alpine:3.20 + depends_on: [build-linux-x86_64, build-linux-aarch64, build-macos-x86_64, build-macos-aarch64] + 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 + + - name: release + image: woodpeckerci/plugin-release + depends_on: retag-latest + 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