ci / api / api (push) Successful in 54s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 54s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 53s
ci / recommender / recommender (push) Successful in 38s
ci / ts / ts (packages + web) (push) Successful in 37s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m47s
release / release (версия и заметки) (push) Successful in 7s
release / android (APK в релиз) (push) Canceled after 4m25s
- ci.yml becomes ci-api, ci-contract, ci-recommender, ci-ts, ci-mobile and docker workflows, each filtered by paths; docs-only commits run nothing - docker builds all four images in one job with plain docker build on the runner host, so the layer cache survives between runs - release no longer re-runs the test suite (the tagged commit already passed CI on main); version and release notes are one job - the android job mounts persistent Gradle and Android SDK caches from /opt/ci-cache (when the runner allows the volumes) and uses --build-cache - RELEASE_TOKEN is optional: fall back to the built-in job token - docs: CI layout and act_runner settings (capacity, cache, valid_volumes) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
938 B
YAML
33 lines
938 B
YAML
# Go: сервис api и storage-agent (docs/ci-cd.md). Только при изменении их кода или контракта.
|
|
name: ci / api
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'services/api/**'
|
|
- 'api/openapi.yaml'
|
|
- '.gitea/workflows/ci-api.yml'
|
|
pull_request:
|
|
paths:
|
|
- 'services/api/**'
|
|
- 'api/openapi.yaml'
|
|
- '.gitea/workflows/ci-api.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
api:
|
|
runs-on: ubuntu-latest
|
|
defaults: { run: { working-directory: services/api } }
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with: { go-version: "1.24", cache-dependency-path: services/api/go.sum }
|
|
- run: test -z "$(gofmt -l .)" || (gofmt -l . && exit 1)
|
|
- run: go vet ./...
|
|
- run: go test -race -coverprofile=coverage.out ./...
|
|
- run: go build ./cmd/...
|