ci: schlankes Trigger-Schema - Pushes pruefen, Tags releasen
web laeuft nur noch bei build-relevanten Pfadaenderungen (Doku-Commits kosten nichts) und immer bei v*-Tags. docker_web und desktop_linux bauen nur noch bei Release-Tags (Image-Tag = Git-Tag statt sha), desktop_linux bleibt auf main manuell triggerbar. Windows-/VM-Jobs sind auf main und Tags manuell verfuegbar. Hintergrund: Deploy ist ohnehin ein bewusster Tag-Bump im gitops-Repo - Artefakte pro Doku-Commit waren reine Runner-Verschwendung. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
a414bb8585
commit
9e2f49b3dd
+31
-5
@@ -21,6 +21,9 @@ start_windows_vm:
|
|||||||
stage: build
|
stage: build
|
||||||
image: docker:27-cli
|
image: docker:27-cli
|
||||||
rules:
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
|
when: manual
|
||||||
|
allow_failure: true
|
||||||
- if: $CI_COMMIT_BRANCH == "main"
|
- if: $CI_COMMIT_BRANCH == "main"
|
||||||
when: manual
|
when: manual
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
@@ -31,6 +34,9 @@ stop_windows_vm:
|
|||||||
stage: package
|
stage: package
|
||||||
image: docker:27-cli
|
image: docker:27-cli
|
||||||
rules:
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
|
when: manual
|
||||||
|
allow_failure: true
|
||||||
- if: $CI_COMMIT_BRANCH == "main"
|
- if: $CI_COMMIT_BRANCH == "main"
|
||||||
when: manual
|
when: manual
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
@@ -40,6 +46,19 @@ stop_windows_vm:
|
|||||||
web:
|
web:
|
||||||
stage: build
|
stage: build
|
||||||
image: node:24-bullseye
|
image: node:24-bullseye
|
||||||
|
rules:
|
||||||
|
# Release-Tags bauen immer (docker_web/desktop_* brauchen web als needs)
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
|
# Pushes nur, wenn build-relevante Pfade betroffen sind - Doku-Commits kosten nichts
|
||||||
|
- if: $CI_COMMIT_BRANCH
|
||||||
|
changes:
|
||||||
|
- apps/**/*
|
||||||
|
- packages/**/*
|
||||||
|
- patches/**/*
|
||||||
|
- scripts/**/*
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
- pnpm-workspace.yaml
|
||||||
|
- .gitlab-ci.yml
|
||||||
variables:
|
variables:
|
||||||
NODE_OPTIONS: "--max-old-space-size=6144"
|
NODE_OPTIONS: "--max-old-space-size=6144"
|
||||||
CI_PACKAGE: "true"
|
CI_PACKAGE: "true"
|
||||||
@@ -65,14 +84,16 @@ docker_web:
|
|||||||
- job: web
|
- job: web
|
||||||
artifacts: false
|
artifacts: false
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == "main"
|
# Nur bei Release-Tags (v*) - "releasen" ist ein bewusster Akt:
|
||||||
|
# Tag pushen -> Image entsteht -> Tag-Bump im gitops-Repo deployt es
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
variables:
|
variables:
|
||||||
IMAGE: rohana.axion1337.de/sorb/threadnet-web
|
IMAGE: rohana.axion1337.de/sorb/threadnet-web
|
||||||
DOCKER_BUILDKIT: "1"
|
DOCKER_BUILDKIT: "1"
|
||||||
script:
|
script:
|
||||||
- echo "$REGISTRY_PASSWORD" | docker login rohana.axion1337.de -u "$REGISTRY_USER" --password-stdin
|
- echo "$REGISTRY_PASSWORD" | docker login rohana.axion1337.de -u "$REGISTRY_USER" --password-stdin
|
||||||
- docker build -f apps/web/Dockerfile -t "$IMAGE:sha-$CI_COMMIT_SHORT_SHA" -t "$IMAGE:latest-ci" .
|
- docker build -f apps/web/Dockerfile -t "$IMAGE:$CI_COMMIT_TAG" -t "$IMAGE:latest-ci" .
|
||||||
- docker push "$IMAGE:sha-$CI_COMMIT_SHORT_SHA"
|
- docker push "$IMAGE:$CI_COMMIT_TAG"
|
||||||
- docker push "$IMAGE:latest-ci"
|
- docker push "$IMAGE:latest-ci"
|
||||||
|
|
||||||
# Einmalig/selten: Build-Image fuer den Desktop-Build (rust:bullseye + node + tcl/sqlcipher,
|
# Einmalig/selten: Build-Image fuer den Desktop-Build (rust:bullseye + node + tcl/sqlcipher,
|
||||||
@@ -93,8 +114,7 @@ desktop_image:
|
|||||||
- docker push "$IMAGE:bullseye"
|
- docker push "$IMAGE:bullseye"
|
||||||
|
|
||||||
# Electron-Linux-Build (amd64, static sqlcipher) - repliziert den am 2026-07-29 manuell
|
# Electron-Linux-Build (amd64, static sqlcipher) - repliziert den am 2026-07-29 manuell
|
||||||
# verifizierten Build-Weg. Seit dem ersten gruenen Lauf (Job 322, 2026-07-31)
|
# verifizierten Build-Weg. Automatisch bei Release-Tags, auf main manuell triggerbar.
|
||||||
# automatisch bei jedem Push auf main.
|
|
||||||
desktop_linux:
|
desktop_linux:
|
||||||
stage: package
|
stage: package
|
||||||
image: rohana.axion1337.de/sorb/element-desktop-build:bullseye
|
image: rohana.axion1337.de/sorb/element-desktop-build:bullseye
|
||||||
@@ -102,7 +122,10 @@ desktop_linux:
|
|||||||
- job: web
|
- job: web
|
||||||
artifacts: true
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
- if: $CI_COMMIT_BRANCH == "main"
|
- if: $CI_COMMIT_BRANCH == "main"
|
||||||
|
when: manual
|
||||||
|
allow_failure: true
|
||||||
variables:
|
variables:
|
||||||
MAX_GLIBC: "2.31"
|
MAX_GLIBC: "2.31"
|
||||||
USE_HARD_LINKS: "false"
|
USE_HARD_LINKS: "false"
|
||||||
@@ -136,6 +159,9 @@ desktop_windows:
|
|||||||
- job: web
|
- job: web
|
||||||
artifacts: true
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
|
- if: $CI_COMMIT_TAG =~ /^v/
|
||||||
|
when: manual
|
||||||
|
allow_failure: true
|
||||||
- if: $CI_COMMIT_BRANCH == "main"
|
- if: $CI_COMMIT_BRANCH == "main"
|
||||||
when: manual
|
when: manual
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|||||||
Reference in New Issue
Block a user