kind: pipeline type: docker name: multi-lang-ci # 克隆策略:只拉最新 commit,加速 clone: depth: 1 image: drone/git:latest pull: false steps: # 自动检测是否存在 Java (pom.xml) - name: java-build image: maven:3.9-eclipse-temurin pull: false commands: - if [ -f pom.xml ]; then mvn clean compile; fi when: event: [ push, pull_request ] # 自动检测是否存在 Python (requirements.txt) - name: python-test image: python:3.12.0-slim pull: false 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 pull: false commands: - echo "✅ CI completed at $(date)" when: status: [ success, failure ]