summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-04-28 09:31:13 +0800
committereltrac <hi@eltr.ac>2026-04-28 09:31:13 +0800
commit7fc45814dcaedaa0f1761dca69db1ee2e0ab7266 (patch)
tree5a09a88f34f77b41e689afa7212783e86c08a6d5
parent073ccb2a85e38a38afa8895d2003247b76bc4f22 (diff)
chore(CI): add release pipeline
-rw-r--r--.woodpecker/build.yaml36
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