From 55ccd5f3c073a265b499696ed03c57b6baa1ae46 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 16 May 2026 10:18:42 +0200 Subject: [PATCH] ci(obs): replace rsync with rm+cp in deploy step rsync is not present in the act_runner job container image. rm -rf + cp -r gives identical semantics (including removal of deleted files) using only coreutils, which are always available. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/nightly.yml | 3 ++- .gitea/workflows/release.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/nightly.yml b/.gitea/workflows/nightly.yml index 63ec0b03..396be5b3 100644 --- a/.gitea/workflows/nightly.yml +++ b/.gitea/workflows/nightly.yml @@ -136,8 +136,9 @@ jobs: # Gitea is always the single source of truth for secret rotation. # Non-secret config lives in infra/observability/obs.env (tracked in git). run: | + rm -rf /opt/familienarchiv/infra/observability mkdir -p /opt/familienarchiv/infra/observability - rsync -a --delete infra/observability/ /opt/familienarchiv/infra/observability/ + cp -r infra/observability/. /opt/familienarchiv/infra/observability/ cp docker-compose.observability.yml /opt/familienarchiv/ cat > /opt/familienarchiv/obs-secrets.env <<'EOF' GRAFANA_ADMIN_PASSWORD=${{ secrets.GRAFANA_ADMIN_PASSWORD }} diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 041ffa09..c7520e35 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -104,8 +104,9 @@ jobs: # then writes obs-secrets.env fresh from Gitea secrets. # Non-secret config lives in infra/observability/obs.env (tracked in git). run: | + rm -rf /opt/familienarchiv/infra/observability mkdir -p /opt/familienarchiv/infra/observability - rsync -a --delete infra/observability/ /opt/familienarchiv/infra/observability/ + cp -r infra/observability/. /opt/familienarchiv/infra/observability/ cp docker-compose.observability.yml /opt/familienarchiv/ cat > /opt/familienarchiv/obs-secrets.env <<'EOF' GRAFANA_ADMIN_PASSWORD=${{ secrets.GRAFANA_ADMIN_PASSWORD }}