ci: 添加前端连接测试GitHub工作流 #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Java CI/CD Pipeline | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main ] | |
| workflow_dispatch: # 允许手动触发 | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| cache: 'maven' | |
| - name: Cache Maven dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.m2 | |
| key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-maven- | |
| - name: Validate Maven wrapper | |
| run: | | |
| echo "检查Maven Wrapper..." | |
| ls -la mvnw | |
| chmod +x mvnw | |
| - name: Build with Maven | |
| run: ./mvnw clean compile -DskipTests | |
| - name: Run tests | |
| run: ./mvnw test -DskipTests=false | |
| env: | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY || 'dummy-key-for-ci' }} | |
| - name: Package application | |
| run: ./mvnw clean package -DskipTests | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: java-ai-starter-jar | |
| path: target/*.jar | |
| if: success() | |
| # 简化的质量检查(可选) | |
| quality-check: | |
| runs-on: ubuntu-latest | |
| needs: build-and-test | |
| if: always() | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Check code style | |
| run: | | |
| echo "代码风格检查(占位符)" | |
| echo "可以通过添加Checkstyle或Spotless插件来增强" | |
| - name: Dependency check | |
| run: | | |
| echo "依赖检查(占位符)" | |
| echo "可以添加OWASP Dependency-Check" |