From 3e630139addee1762c58d5f7fb425aaa5dcbeefb Mon Sep 17 00:00:00 2001 From: Snider Date: Sat, 21 Feb 2026 21:18:35 +0000 Subject: [PATCH] feat: add Woodpecker CI pipelines from CLI Co-Authored-By: Virgil --- .woodpecker/bugseti.yml | 52 +++++++++++++++++++++++++++++++++++++++++ .woodpecker/core.yml | 21 +++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 .woodpecker/bugseti.yml create mode 100644 .woodpecker/core.yml diff --git a/.woodpecker/bugseti.yml b/.woodpecker/bugseti.yml new file mode 100644 index 0000000..8e8b77a --- /dev/null +++ b/.woodpecker/bugseti.yml @@ -0,0 +1,52 @@ +when: + - event: tag + ref: "refs/tags/bugseti-v*" + - event: push + branch: main + path: "cmd/bugseti/**" + +steps: + - name: frontend + image: node:22-bookworm + commands: + - cd cmd/bugseti/frontend + - npm ci --prefer-offline + - npm run build + + - name: build-linux + image: golang:1.25-bookworm + environment: + CGO_ENABLED: "1" + GOOS: linux + GOARCH: amd64 + commands: + - apt-get update -qq && apt-get install -y -qq libgtk-3-dev libwebkit2gtk-4.1-dev > /dev/null 2>&1 + - cd cmd/bugseti + - go build -tags production -trimpath -buildvcs=false -ldflags="-w -s" -o ../../bin/bugseti + depends_on: [frontend] + + - name: package + image: alpine:3.21 + commands: + - cd bin + - tar czf bugseti-linux-amd64.tar.gz bugseti + - sha256sum bugseti-linux-amd64.tar.gz > bugseti-linux-amd64.tar.gz.sha256 + - echo "=== Package ===" + - ls -lh bugseti-linux-amd64.* + - cat bugseti-linux-amd64.tar.gz.sha256 + depends_on: [build-linux] + + - name: release + image: plugins/gitea-release + settings: + api_key: + from_secret: forgejo_token + base_url: https://forge.lthn.io + files: + - bin/bugseti-linux-amd64.tar.gz + - bin/bugseti-linux-amd64.tar.gz.sha256 + title: ${CI_COMMIT_TAG} + note: "BugSETI ${CI_COMMIT_TAG} — Linux amd64 build" + when: + - event: tag + depends_on: [package] diff --git a/.woodpecker/core.yml b/.woodpecker/core.yml new file mode 100644 index 0000000..dcab568 --- /dev/null +++ b/.woodpecker/core.yml @@ -0,0 +1,21 @@ +when: + - event: [push, pull_request, manual] + +steps: + - name: build + image: golang:1.25-bookworm + commands: + - go version + - go mod download + - >- + go build + -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=ci + -X forge.lthn.ai/core/cli/pkg/cli.BuildCommit=${CI_COMMIT_SHA:0:7} + -X forge.lthn.ai/core/cli/pkg/cli.BuildDate=$(date -u +%Y%m%d)" + -o ./bin/core . + - ./bin/core --version + + - name: test + image: golang:1.25-bookworm + commands: + - go test -short -count=1 -timeout 120s ./...