feat(ci): fast-path pipeline — skip tests, compile→build→deploy
Tests are passing locally; skip them by default to unblock release cycles. - test job: manual-only (was auto on push/MR) - compile-services: always runs on main push (removed changes: filter) - kaniko builds: require compile-services (was optional: true) - kaniko builds: always run on main push (removed changes: filter) This eliminates the L4 CPU scheduling conflict (test+compile both requesting 7000m on a 7800m node) and gives a clean compile→build→deploy pipeline for rapid iteration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -179,27 +179,17 @@ test:
|
||||
stage: test
|
||||
needs: []
|
||||
rules:
|
||||
# Tests disabled by default — compile+deploy is the fast path for now.
|
||||
# Trigger manually from the pipeline UI when needed.
|
||||
- if: $CI_PIPELINE_SOURCE == "push"
|
||||
changes:
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- crates/**
|
||||
- bin/**
|
||||
- services/**
|
||||
- testing/**
|
||||
- infra/docker/Dockerfile.service
|
||||
- infra/docker/Dockerfile.web-gateway
|
||||
- infra/docker/Dockerfile.training
|
||||
- infra/docker/Dockerfile.training-runtime
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
changes:
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- crates/**
|
||||
- bin/**
|
||||
- services/**
|
||||
- testing/**
|
||||
when: manual
|
||||
allow_failure: true
|
||||
- if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api"
|
||||
when: manual
|
||||
allow_failure: true
|
||||
services:
|
||||
- name: redis:7-alpine
|
||||
alias: redis
|
||||
@@ -232,17 +222,6 @@ compile-services:
|
||||
needs: []
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == "push"
|
||||
changes:
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- crates/**
|
||||
- bin/**
|
||||
- services/**
|
||||
- testing/**
|
||||
- infra/docker/Dockerfile.service
|
||||
- infra/docker/Dockerfile.web-gateway
|
||||
- infra/docker/Dockerfile.training
|
||||
- infra/docker/Dockerfile.training-runtime
|
||||
- if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api"
|
||||
script:
|
||||
# All CI pods have runtime_class_name=nvidia → real GPU available
|
||||
@@ -302,7 +281,6 @@ compile-services:
|
||||
stage: build
|
||||
needs:
|
||||
- job: compile-services
|
||||
optional: true
|
||||
image:
|
||||
name: gcr.io/kaniko-project/executor:debug
|
||||
entrypoint: [""]
|
||||
@@ -311,19 +289,6 @@ compile-services:
|
||||
- docker
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == "push"
|
||||
changes:
|
||||
- Cargo.toml
|
||||
- Cargo.lock
|
||||
- crates/**
|
||||
- bin/**
|
||||
- services/**
|
||||
- testing/**
|
||||
- infra/docker/Dockerfile.service
|
||||
- infra/docker/Dockerfile.runtime
|
||||
- infra/docker/Dockerfile.web-gateway
|
||||
- infra/docker/Dockerfile.web-gateway-runtime
|
||||
- infra/docker/Dockerfile.training
|
||||
- infra/docker/Dockerfile.training-runtime
|
||||
- if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api"
|
||||
before_script:
|
||||
- mkdir -p /kaniko/.docker
|
||||
|
||||
Reference in New Issue
Block a user