ci: fix Forgejo runner compat (rust, rsync, docker compose)
Some checks failed
Veza CD / Build and push images (push) Failing after 1m10s
Chromatic / Visual regression tests (push) Failing after 12s
Veza CI/CD / TMT Vital — Backend (Go) (push) Failing after 3m33s
Veza CI/CD / TMT Vital — Rust Services (push) Failing after 4m48s
Veza CI/CD / TMT Vital — Frontend (Web) (push) Failing after 4m54s
Veza CI/CD / Storybook Audit (push) Failing after 6m50s
Veza CI/CD / E2E Critical (@critical) (push) Failing after 5m2s
Veza CI/CD / E2E Full (shard 1/4) (push) Failing after 4m49s
Veza CI/CD / E2E Full (shard 2/4) (push) Failing after 5m5s
Veza CI/CD / E2E Full (shard 3/4) (push) Failing after 5m9s
Veza CI/CD / E2E Full (shard 4/4) (push) Failing after 5m0s
CodeQL SAST / analyze (go) (push) Failing after 11s
CodeQL SAST / analyze (javascript-typescript) (push) Failing after 9s
Security Scan / Secret Scanning (gitleaks) (push) Failing after 4s
Stream Server CI / test (push) Failing after 11s
Veza CD / Deploy to staging (push) Has been skipped
Veza CI/CD / Notify on failure (push) Successful in 2s
Veza CD / Smoke tests post-deploy (push) Has been skipped

- Replace dtolnay/rust-toolchain with manual rustup (not on forgejo mirror)
- Replace docker-compose with docker compose (v2)
- Add rsync install before tmt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
senke 2026-04-09 17:39:10 +02:00
parent c10ef1cf88
commit f059299590
9 changed files with 73 additions and 65 deletions

View file

@ -40,7 +40,7 @@ jobs:
- name: Start backend services (Postgres, Redis, RabbitMQ)
run: |
docker-compose up -d postgres redis rabbitmq
docker compose up -d postgres redis rabbitmq
echo "Waiting for Postgres..."
for i in $(seq 1 30); do
if docker exec veza_postgres pg_isready -U veza 2>/dev/null; then
@ -49,7 +49,7 @@ jobs:
fi
sleep 2
done
docker-compose ps
docker compose ps
- name: Run database migrations
env:
@ -130,7 +130,7 @@ jobs:
- name: Start backend services (Postgres, Redis, RabbitMQ)
run: |
docker-compose up -d postgres redis rabbitmq
docker compose up -d postgres redis rabbitmq
echo "Waiting for Postgres..."
for i in $(seq 1 30); do
if docker exec veza_postgres pg_isready -U veza 2>/dev/null; then
@ -139,7 +139,7 @@ jobs:
fi
sleep 2
done
docker-compose ps
docker compose ps
- name: Run database migrations
env:

View file

@ -4,51 +4,55 @@
name: Chromatic
on:
push:
branches: [main, develop]
paths:
- "apps/web/**"
- ".github/workflows/chromatic.yml"
pull_request:
paths:
- "apps/web/**"
- ".github/workflows/chromatic.yml"
workflow_dispatch:
push:
branches: [main, develop]
paths:
- "apps/web/**"
- ".github/workflows/chromatic.yml"
pull_request:
paths:
- "apps/web/**"
- ".github/workflows/chromatic.yml"
workflow_dispatch:
env:
GIT_SSL_NO_VERIFY: "true"
NODE_TLS_REJECT_UNAUTHORIZED: "0"
jobs:
chromatic:
name: Visual regression tests
runs-on: ubuntu-latest
chromatic:
name: Visual regression tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # Required for Chromatic to detect changes
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # Required for Chromatic to detect changes
- name: Set up Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: "20"
cache: "npm"
- name: Set up Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
working-directory: apps/web
- name: Install dependencies
run: npm ci
working-directory: apps/web
- name: Run Chromatic
uses: chromaui/action@latest
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: apps/web
buildScriptName: build-storybook
exitZeroOnChanges: true # Don't fail PR on visual changes, just flag them
exitOnceUploaded: true # Speed up CI — don't wait for full processing
onlyChanged: true # Only snapshot stories affected by changes
externals: |
apps/web/src/**/*.css
apps/web/public/**
env:
VITE_API_URL: /api/v1
VITE_USE_MSW: "true"
VITE_STORYBOOK: "true"
- name: Run Chromatic
uses: chromaui/action@latest
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: apps/web
buildScriptName: build-storybook
exitZeroOnChanges: true # Don't fail PR on visual changes, just flag them
exitOnceUploaded: true # Speed up CI — don't wait for full processing
onlyChanged: true # Only snapshot stories affected by changes
externals: |
apps/web/src/**/*.css
apps/web/public/**
env:
VITE_API_URL: /api/v1
VITE_USE_MSW: "true"
VITE_STORYBOOK: "true"

View file

@ -47,7 +47,7 @@ jobs:
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
- name: Install TMT
run: pip install tmt
run: apt-get update && apt-get install -y rsync && pip install tmt
- name: Run TMT Vital Backend
run: tmt --root tmt run plan --name /vital-backend
@ -62,9 +62,9 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Rust
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
with:
components: rustfmt, clippy
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --component rustfmt,clippy
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Cache Cargo registry
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
@ -185,7 +185,7 @@ jobs:
- name: Start backend services (Postgres, Redis, RabbitMQ)
run: |
docker-compose up -d postgres redis rabbitmq
docker compose up -d postgres redis rabbitmq
echo "Waiting for Postgres..."
for i in $(seq 1 30); do
if docker exec veza_postgres pg_isready -U veza 2>/dev/null; then
@ -194,7 +194,7 @@ jobs:
fi
sleep 2
done
docker-compose ps
docker compose ps
- name: Run database migrations
env:
@ -290,7 +290,7 @@ jobs:
- name: Start backend services (Postgres, Redis, RabbitMQ)
run: |
docker-compose up -d postgres redis rabbitmq
docker compose up -d postgres redis rabbitmq
echo "Waiting for Postgres..."
for i in $(seq 1 30); do
if docker exec veza_postgres pg_isready -U veza 2>/dev/null; then
@ -299,7 +299,7 @@ jobs:
fi
sleep 2
done
docker-compose ps
docker compose ps
- name: Run database migrations
env:

View file

@ -38,7 +38,7 @@ jobs:
- name: Start backend services
run: |
docker-compose up -d postgres redis rabbitmq
docker compose up -d postgres redis rabbitmq
for i in $(seq 1 30); do
if docker exec veza_postgres pg_isready -U veza 2>/dev/null; then break; fi
sleep 2

View file

@ -24,7 +24,7 @@ jobs:
- name: Start infrastructure
run: |
docker-compose -f docker-compose.yml up -d postgres redis rabbitmq
docker compose -f docker compose.yml up -d postgres redis rabbitmq
sleep 15
- name: Set up Go

View file

@ -18,9 +18,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
with:
components: clippy
- name: Set up Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --component clippy
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Clippy lint
run: cargo clippy -- -D warnings

View file

@ -17,7 +17,10 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
- name: Set up Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Cache cargo registry
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3

View file

@ -51,7 +51,7 @@ jobs:
docker push "${{ vars.DOCKER_REGISTRY }}/${svc}:staging"
done
- name: Deploy via SSH (docker-compose)
- name: Deploy via SSH (docker compose)
if: vars.STAGING_SSH_HOST != ''
env:
SSH_KEY: ${{ secrets.STAGING_SSH_KEY }}
@ -61,7 +61,7 @@ jobs:
chmod 600 ~/.ssh/staging_key
ssh -i ~/.ssh/staging_key -o StrictHostKeyChecking=no \
${{ vars.STAGING_SSH_USER }}@${{ vars.STAGING_SSH_HOST }} \
"cd /opt/veza && docker compose -f docker-compose.staging.yml pull && docker compose -f docker-compose.staging.yml up -d"
"cd /opt/veza && docker compose -f docker compose.staging.yml pull && docker compose -f docker compose.staging.yml up -d"
rm -f ~/.ssh/staging_key
- name: Deploy via Kubernetes

View file

@ -28,9 +28,9 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Rust
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
with:
components: clippy
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --component clippy
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Lint with clippy
run: cargo clippy --all-targets -- -D warnings