Container images and Woodpecker CI pipeline

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
azykov@mail.ru
2026-10-08 11:03:52 +03:00
co-authored by Claude Sonnet 5.5
parent c197e5978a
commit 52d8e0f7e0
10 changed files with 233 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
# Woodpecker CI: typecheck + tests on every push/PR, container images on main and ci (tags: short SHA and branch name).
#
# Required secrets (Repository settings -> Secrets):
# registry_username, registry_password
# The repo must be marked "Trusted" (docker-buildx plugin runs privileged),
# or switch the publish steps to woodpeckerci/plugin-kaniko.
#
variables:
- &node_image 'node:22-alpine'
- &buildx 'woodpeckerci/plugin-docker-buildx:latest'
- &registry 'git.aggtaa.com'
- &publish_when
- event: push
branch: [main, ci]
steps:
- name: check
image: *node_image
commands:
- corepack enable
- pnpm install --frozen-lockfile
- pnpm typecheck
- pnpm test
when:
- event: [push, pull_request]
- name: image-server-be
image: *buildx
depends_on: [check]
settings:
registry: *registry
repo: git.aggtaa.com/${CI_REPO_OWNER}/cardy-server-be
dockerfile: docker/server-be.Dockerfile
context: .
tags: ['${CI_COMMIT_SHA:0:8}', '${CI_COMMIT_BRANCH}']
username:
from_secret: registry_username
password:
from_secret: registry_password
when: *publish_when
- name: image-server-fe
image: *buildx
depends_on: [check]
settings:
registry: *registry
repo: git.aggtaa.com/${CI_REPO_OWNER}/cardy-server-fe
dockerfile: docker/server-fe.Dockerfile
context: .
tags: ['${CI_COMMIT_SHA:0:8}', '${CI_COMMIT_BRANCH}']
username:
from_secret: registry_username
password:
from_secret: registry_password
when: *publish_when
- name: image-mobile-client
image: *buildx
depends_on: [check]
settings:
registry: *registry
repo: git.aggtaa.com/${CI_REPO_OWNER}/cardy-mobile-client
dockerfile: docker/mobile-client.Dockerfile
context: .
tags: ['${CI_COMMIT_SHA:0:8}', '${CI_COMMIT_BRANCH}']
username:
from_secret: registry_username
password:
from_secret: registry_password
when: *publish_when