2025-11-28 19:00:26 +08:00
|
|
|
|
kind: pipeline
|
|
|
|
|
|
type: docker
|
|
|
|
|
|
name: multi-lang-ci
|
|
|
|
|
|
|
|
|
|
|
|
# 克隆策略:只拉最新 commit,加速
|
|
|
|
|
|
clone:
|
2025-12-05 12:21:23 +08:00
|
|
|
|
depth: 0
|
2025-12-05 11:23:48 +08:00
|
|
|
|
image: drone/git:latest
|
|
|
|
|
|
pull: false
|
2025-11-28 19:00:26 +08:00
|
|
|
|
|
|
|
|
|
|
steps:
|
|
|
|
|
|
# 自动检测是否存在 Java (pom.xml)
|
|
|
|
|
|
- name: java-build
|
2025-12-05 10:31:50 +08:00
|
|
|
|
image: maven:3.9-eclipse-temurin
|
2025-12-05 10:58:02 +08:00
|
|
|
|
pull: false
|
2025-11-28 19:00:26 +08:00
|
|
|
|
commands:
|
|
|
|
|
|
- if [ -f pom.xml ]; then mvn clean compile; fi
|
|
|
|
|
|
when:
|
|
|
|
|
|
event: [ push, pull_request ]
|
|
|
|
|
|
|
|
|
|
|
|
# 自动检测是否存在 Python (requirements.txt)
|
|
|
|
|
|
- name: python-test
|
2025-12-05 10:31:50 +08:00
|
|
|
|
image: python:3.12.0-slim
|
2025-12-05 10:58:02 +08:00
|
|
|
|
pull: false
|
2025-11-28 19:00:26 +08:00
|
|
|
|
commands:
|
|
|
|
|
|
- if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
|
|
|
|
- if [ -f test_example.py ]; then python -m pytest test_example.py -v; fi
|
|
|
|
|
|
when:
|
|
|
|
|
|
event: [ push, pull_request ]
|
|
|
|
|
|
|
|
|
|
|
|
# 最终报告(无论成功失败都运行)
|
|
|
|
|
|
- name: summary
|
|
|
|
|
|
image: alpine
|
2025-12-05 10:58:02 +08:00
|
|
|
|
pull: false
|
2025-11-28 19:00:26 +08:00
|
|
|
|
commands:
|
|
|
|
|
|
- echo "✅ CI completed at $(date)"
|
|
|
|
|
|
when:
|
|
|
|
|
|
status: [ success, failure ]
|