Files
cybercore-signer/.gitea/workflows/ci.yml
T

96 lines
2.6 KiB
YAML

name: CI Pipeline
on:
push:
branches:
- main
- 'feature/**'
- 'fix/**'
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-linux:
name: Build & Verify (Linux x86_64)
runs-on: ubuntu-latest
steps:
- name: Checkout repositório
uses: actions/checkout@v4
- name: Configurar Java 25 LTS (Temurin)
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '25'
cache: 'maven'
- name: Conceder permissão de execução ao Maven Wrapper
run: chmod +x ./mvnw
- name: Executar verificação Maven (Compilação, Testes, JaCoCo, SpotBugs, ArchUnit)
run: ./mvnw -B clean verify
- name: Publicar Relatórios de Cobertura JaCoCo
uses: actions/upload-artifact@v4
if: always()
with:
name: jacoco-reports-linux
path: |
modules/*/target/site/jacoco/**
modules/*/target/jacoco.exec
retention-days: 14
- name: Publicar Relatórios de Análise Estática SpotBugs
uses: actions/upload-artifact@v4
if: always()
with:
name: spotbugs-reports-linux
path: |
modules/*/target/spotbugsXml.xml
modules/*/target/site/spotbugs/**
retention-days: 14
build-windows:
name: Build & Verify (Windows)
# Runner Windows: requer act_runner nativo em Windows na instância Gitea.
# Caso sua instância utilize apenas Docker Linux, configure labels: [windows] no host correspondente.
runs-on: windows-latest
continue-on-error: true
steps:
- name: Checkout repositório
uses: actions/checkout@v4
- name: Configurar Java 25 LTS (Temurin)
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '25'
cache: 'maven'
- name: Executar verificação Maven no Windows
run: .\mvnw.cmd -B clean verify
shell: cmd
- name: Publicar Relatórios JaCoCo (Windows)
uses: actions/upload-artifact@v4
if: always()
with:
name: jacoco-reports-windows
path: |
modules/*/target/site/jacoco/**
retention-days: 14
- name: Publicar Relatórios SpotBugs (Windows)
uses: actions/upload-artifact@v4
if: always()
with:
name: spotbugs-reports-windows
path: |
modules/*/target/spotbugsXml.xml
retention-days: 14