test
Some checks failed
continuous-integration/drone Build is failing

This commit is contained in:
2026-02-28 20:26:37 +01:00
parent 929ff15a6b
commit 9136989d0b

140
.drone.yml Normal file
View File

@@ -0,0 +1,140 @@
---
kind: secret
name: git_username
get:
path: secret/data/gitea
name: api_access_user # Bitte prüfen, ob der Key in deinem Secret-Store so heißt
---
kind: secret
name: git_password
get:
path: secret/data/gitea
name: api_access_token # Oder 'password', je nachdem was hinterlegt ist
---
kind: secret
name: password_matrix
get:
path: secret/data/matrix/bot/drone-bot
name: password
---
kind: secret
name: userid_matrix
get:
path: secret/data/matrix/bot/drone-bot
name: userid
---
kind: secret
name: roomid_matrix
get:
path: secret/data/matrix/bot/drone-bot
name: roomid
---
kind: pipeline
type: docker
name: freebsd-build
platform:
os: linux
arch: amd64
# Wir deaktivieren den Standard-Clone, da wir das Upstream-Repo dynamisch klonen
clone:
disable: true
steps:
- name: check-and-clone
image: alpine/git
environment:
API_USER:
from_secret: git_username
API_TOKEN:
from_secret: git_password
commands:
- apk add --no-cache curl bash
# Neuestes Tag vom Upstream Repo ermitteln
- LATEST_TAG=$(git ls-remote --tags --refs --sort='v:refname' https://github.com/woodpecker-ci/woodpecker.git | tail -n1 | awk -F/ '{print $3}')
- echo "Neuestes Tag ist $LATEST_TAG"
- echo -n "$LATEST_TAG" > .latest_tag
# Prüfen, ob dieses Tag bereits in der Registry existiert
- HTTP_CODE=$(curl -o /dev/null -s -w "%{http_code}" -I -u $API_USER:$API_TOKEN "https://git.familie-berner.de/api/packages/Open/generic/woodpecker-freebsd/$LATEST_TAG/woodpecker-server")
- |
if [ "$HTTP_CODE" = "200" ]; then
echo "Version $LATEST_TAG existiert bereits. Überspringe Build."
echo "SKIP" > .build_mode
else
echo "Version $LATEST_TAG existiert noch nicht. Starte Build."
echo "BUILD" > .build_mode
git clone --depth 1 --branch "$LATEST_TAG" https://github.com/woodpecker-ci/woodpecker.git .
fi
- name: build-frontend
image: node:20
commands:
- if [ "$(cat .build_mode)" = "SKIP" ]; then exit 0; fi
- cd web
- npm install --legacy-peer-deps
- npm run build
- name: build-backend
image: golang:1.25
environment:
GOOS: freebsd
GOARCH: amd64
CGO_ENABLED: 0
commands:
- if [ "$(cat .build_mode)" = "SKIP" ]; then exit 0; fi
- go build -ldflags "-s -w" -o dist/woodpecker-server ./cmd/server
- go build -ldflags "-s -w" -o dist/woodpecker-agent ./cmd/agent
- go build -ldflags "-s -w" -o dist/woodpecker-cli ./cmd/cli
- tar -czf dist/woodpecker-web-assets.tar.gz -C web/dist .
- ls -lh dist/
- name: upload-packages
image: curlimages/curl
environment:
API_USER:
from_secret: git_username
API_TOKEN:
from_secret: git_password
commands:
- if [ "$(cat .build_mode)" = "SKIP" ]; then exit 0; fi
- TAG=$(cat .latest_tag)
- echo "Lade Version $TAG hoch..."
- curl -X DELETE -u $API_USER:$API_TOKEN "https://git.familie-berner.de/api/packages/Open/generic/woodpecker-freebsd/$TAG"
- curl --fail -u $API_USER:$API_TOKEN -T dist/woodpecker-server "https://git.familie-berner.de/api/packages/Open/generic/woodpecker-freebsd/$TAG/woodpecker-server"
- curl --fail -u $API_USER:$API_TOKEN -T dist/woodpecker-agent "https://git.familie-berner.de/api/packages/Open/generic/woodpecker-freebsd/$TAG/woodpecker-agent"
- curl --fail -u $API_USER:$API_TOKEN -T dist/woodpecker-cli "https://git.familie-berner.de/api/packages/Open/generic/woodpecker-freebsd/$TAG/woodpecker-cli"
- curl --fail -u $API_USER:$API_TOKEN -T dist/woodpecker-web-assets.tar.gz "https://git.familie-berner.de/api/packages/Open/generic/woodpecker-freebsd/$TAG/woodpecker-web-assets.tar.gz"
- name: notify-success
image: spotlightkid/drone-matrixchat-notify
settings:
homeserver: https://matrix.familie-berner.de
roomid:
from_secret: roomid_matrix
userid:
from_secret: userid_matrix
password:
from_secret: password_matrix
markdown: 'yes'
template: |
✅ Woodpecker FreeBSD Build erfolgreich!
when:
status: [ success ]
- name: notify-failed
image: spotlightkid/drone-matrixchat-notify
settings:
homeserver: https://matrix.familie-berner.de
roomid:
from_secret: roomid_matrix
userid:
from_secret: userid_matrix
password:
from_secret: password_matrix
markdown: 'yes'
template: |
❌ Woodpecker FreeBSD Build fehlgeschlagen!
when:
status: [ failure ]