Files
yexuejc-base/.gitea/workflows/ci.yaml
T
yexuejc 8a28a8081f
CI - Build and Quality Check / build (push) Has been cancelled
CI - Build and Quality Check / security-check (push) Has been cancelled
CI - Build and Quality Check / release (push) Has been cancelled
[P3] 修复 CI/CD 配置 — 审计纠错
2026-04-18 16:24:47 +08:00

85 lines
1.7 KiB
YAML

name: CI - Build and Quality Check
on:
push:
branches:
- master
- jre8
- jre11
- jre17
- jre21
pull_request:
branches:
- master
- jre8
- jre11
- jre17
- jre21
env:
MAVEN_OPTS: -Xmx512m
jobs:
build:
runs-on: ubuntu-latest
container: maven:3.9-eclipse-temurin-21
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Compile
run: ./mvnw clean compile
- name: Run tests
run: ./mvnw test
- name: Quality check (Checkstyle + PMD)
run: ./mvnw verify -DskipTests
- name: JaCoCo report
run: ./mvnw jacoco:report
continue-on-error: true
- name: Package
run: ./mvnw package -DskipTests
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: target/*.jar
retention-days: 7
security-check:
runs-on: ubuntu-latest
container: maven:3.9-eclipse-temurin-21
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: OWASP dependency check
run: ./mvnw org.owasp:dependency-check-maven:check
continue-on-error: true
release:
runs-on: ubuntu-latest
container: maven:3.9-eclipse-temurin-21
needs: [build]
if: >-
gitea.event_name == 'push' && (
gitea.ref == 'refs/heads/master' ||
gitea.ref == 'refs/heads/jre21'
)
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Prepare release
run: |
VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "Releasing version: $VERSION"