150 lines
3.2 KiB
YAML
150 lines
3.2 KiB
YAML
version: 1
|
|
updatedAt: "2026-08-01T10:00:00+08:00"
|
|
project:
|
|
name: "notes-api"
|
|
|
|
enabled: true
|
|
defaultProfile: "review"
|
|
|
|
entrypoints:
|
|
verify:
|
|
kind: make
|
|
target: verify
|
|
args: []
|
|
requiredSecrets: []
|
|
workingDirectory: "."
|
|
timeoutSeconds: 1800
|
|
build-deb:
|
|
kind: make
|
|
target: build-deb
|
|
args: []
|
|
requiredSecrets: []
|
|
workingDirectory: "."
|
|
timeoutSeconds: 3600
|
|
build-image:
|
|
kind: make
|
|
target: build-image
|
|
args: []
|
|
requiredSecrets: []
|
|
workingDirectory: "."
|
|
timeoutSeconds: 3600
|
|
upload-deb:
|
|
kind: script
|
|
path: "scripts/upload-preview-deb.sh"
|
|
args: []
|
|
requiredSecrets: ["DEB_TOKEN"]
|
|
workingDirectory: "."
|
|
timeoutSeconds: 900
|
|
upload-image:
|
|
kind: script
|
|
path: "scripts/publish-preview-image.sh"
|
|
args: []
|
|
requiredSecrets: ["REGISTRY_TOKEN"]
|
|
workingDirectory: "."
|
|
timeoutSeconds: 1800
|
|
deploy-test:
|
|
kind: script
|
|
path: "scripts/deploy-test.sh"
|
|
args: []
|
|
requiredSecrets: []
|
|
workingDirectory: "."
|
|
timeoutSeconds: 900
|
|
health-test:
|
|
kind: script
|
|
path: "scripts/check-test.sh"
|
|
args: []
|
|
requiredSecrets: []
|
|
workingDirectory: "."
|
|
timeoutSeconds: 300
|
|
rollback-test:
|
|
kind: script
|
|
path: "scripts/rollback-test.sh"
|
|
args: []
|
|
requiredSecrets: []
|
|
workingDirectory: "."
|
|
timeoutSeconds: 900
|
|
|
|
artifacts:
|
|
service-deb:
|
|
type: deb
|
|
build: build-deb
|
|
outputs: ["dist/*.deb"]
|
|
service-image:
|
|
type: oci-image
|
|
build: build-image
|
|
image: "registry.example.com/notes/service"
|
|
platforms: ["linux/amd64", "linux/arm64"]
|
|
|
|
destinations:
|
|
preview-apt:
|
|
type: apt-repository
|
|
channel: preview
|
|
endpoint: "https://packages.example.com"
|
|
repository: "testing"
|
|
upload: upload-deb
|
|
preview-registry:
|
|
type: oci-registry
|
|
channel: preview
|
|
registry: "registry.example.com"
|
|
repository: "notes/service"
|
|
upload: upload-image
|
|
|
|
environments:
|
|
test-server:
|
|
type: ssh-host
|
|
classification: development
|
|
target: "notes-test"
|
|
deploy: deploy-test
|
|
healthCheck: health-test
|
|
rollback: rollback-test
|
|
mutex: "notes-test-deploy"
|
|
|
|
profiles:
|
|
review:
|
|
stopAt: review_ready
|
|
steps:
|
|
- id: verify
|
|
action: verify
|
|
entrypoint: verify
|
|
- id: open-pr
|
|
action: pull-request
|
|
draft: true
|
|
remote: origin
|
|
baseBranch: main
|
|
- id: build-deb
|
|
action: build
|
|
artifact: service-deb
|
|
- id: publish-deb
|
|
action: publish
|
|
artifact: service-deb
|
|
destination: preview-apt
|
|
- id: deploy-test
|
|
action: deploy
|
|
artifact: service-deb
|
|
environment: test-server
|
|
- id: smoke-test
|
|
action: health-check
|
|
environment: test-server
|
|
- id: ready
|
|
action: mark-ready
|
|
review-image:
|
|
stopAt: review_ready
|
|
steps:
|
|
- id: verify
|
|
action: verify
|
|
entrypoint: verify
|
|
- id: open-pr
|
|
action: pull-request
|
|
draft: true
|
|
remote: origin
|
|
baseBranch: main
|
|
- id: build-image
|
|
action: build
|
|
artifact: service-image
|
|
- id: publish-image
|
|
action: publish
|
|
artifact: service-image
|
|
destination: preview-registry
|
|
- id: ready
|
|
action: mark-ready
|