Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
71 lines
2.0 KiB
YAML
71 lines
2.0 KiB
YAML
# 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'
|
|
- ®istry '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
|