diff options
| author | eltrac <hi@eltr.ac> | 2026-04-28 09:31:13 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-04-28 09:31:13 +0800 |
| commit | 7fc45814dcaedaa0f1761dca69db1ee2e0ab7266 (patch) | |
| tree | 5a09a88f34f77b41e689afa7212783e86c08a6d5 | |
| parent | 073ccb2a85e38a38afa8895d2003247b76bc4f22 (diff) | |
chore(CI): add release pipeline
| -rw-r--r-- | .woodpecker/build.yaml | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml new file mode 100644 index 0000000..0005b23 --- /dev/null +++ b/.woodpecker/build.yaml @@ -0,0 +1,36 @@ +when: + - event: release + +steps: + - name: Build + image: clojure:latest + commands: + - lein uberjar + + - name: Publish + image: alpine:latest + commands: + - apk add --no-cache curl jq + - | + VERSION=$(grep 'defproject' project.clj | sed 's/.*"\(.*\)".*/\1/') + echo "Version: $VERSION" + RELEASE_ID=$(curl -s -H "accept: application/json" \ + "https://codeberg.org/api/v1/repos/eltrac/weepinbell/releases/latest" | jq -r '.id') + if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" = "null" ]; then + echo "Failed to retrieve release ID" + exit 1 + fi + echo "Latest release ID: $RELEASE_ID" + - | + for jar in target/uberjar/weepinbell-${VERSION}.jar target/uberjar/weepinbell-${VERSION}-standalone.jar; do + if [ -f "$jar" ]; then + echo "Uploading $jar..." + curl -X POST \ + "https://codeberg.org/api/v1/repos/eltrac/weepinbell/releases/${RELEASE_ID}/assets?name=$(basename "$jar")" \ + -H "Authorization: token ${FORGEJO_TOKEN}" \ + -F "attachment=@$jar" + echo "" + else + echo "Warning: $jar not found, skipping" + fi + done |
