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