ci: 标准化 GitHub Actions 配置(每分支独立 CI,JDK 按版本线 8/17/21,JaCoCo 覆盖率门禁) #2
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
| # CI workflow for the feature/2.0.x line (JDK 17) | |
| # | |
| # Triggers: | |
| # - push / pull_request on the feature/2.0.x branch | |
| # - manual workflow_dispatch | |
| # | |
| # Runs `mvn -B clean verify` which includes the JaCoCo coverage gate | |
| # (90% line coverage, haltOnFailure=false) configured in the POM. | |
| name: CI | |
| on: | |
| push: | |
| branches: [feature/2.0.x] | |
| pull_request: | |
| branches: [feature/2.0.x] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| name: JDK 17 Build & Verify | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| cache: maven | |
| - name: Build and verify with JaCoCo coverage gate | |
| run: mvn -B --no-transfer-progress clean verify | |
| - name: Upload JaCoCo coverage report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: jacoco-coverage | |
| path: target/site/jacoco | |
| retention-days: 14 | |
| - name: Upload surefire reports | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: surefire-reports | |
| path: target/surefire-reports | |
| retention-days: 14 |