Files
ci-workflows/.gitea/workflows/maven-compile.yml
T

57 lines
2.0 KiB
YAML

name: Maven Compile (reusable)
on:
workflow_call:
inputs:
deploy-snapshot:
description: "Indica se deployare l'artefatto anche se snapshot"
required: false
type: boolean
default: false
maven-profiles:
description: "Profili Maven da attivare (es. bitwork,ci)"
required: false
type: string
default: ""
jobs:
compile:
runs-on: ubuntu-latest
container:
image: artifacts.biters.it:8443/biters/gitea-ci-maven-native:21
credentials:
username: ${{ secrets.MAVEN_USERNAME }}
password: ${{ secrets.MAVEN_PASSWORD }}
volumes:
- /opt/ci-cache/m2-repository:/root/.m2/repository
env:
RUNNER_TOOL_CACHE: /toolcache
MAVEN_REPO_URL: ${{ vars.MAVEN_REPO_URL }}
MAVEN_REPO_RELEASES_URL: ${{ vars.MAVEN_REPO_RELEASES_URL }}
MAVEN_REPO_SNAPSHOTS_URL: ${{ vars.MAVEN_REPO_SNAPSHOTS_URL }}
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
steps:
- uses: actions/checkout@v6
- name: Checkout CI config
run: |
git clone --depth=1 "https://biters.gitea:${{ secrets.REPO_ACCESS_TOKEN }}@git.biters.it/Biters/ci-workflows.git" .ci-config
- name: Verifica configurazione
run: |
missing=0
for v in MAVEN_REPO_URL MAVEN_REPO_RELEASES_URL MAVEN_REPO_SNAPSHOTS_URL MAVEN_USERNAME MAVEN_PASSWORD; do
eval "val=\${$v}"
if [ -z "$val" ]; then echo "MANCANTE: $v"; missing=1; else echo "OK: $v"; fi
done
[ "$missing" -eq 0 ] || { echo "Imposta le Variables/Secrets mancanti a livello org."; exit 1; }
- name: Compile
run: |
MVN_PROFILES=""
[ -n "${{ inputs.maven-profiles }}" ] && MVN_PROFILES="-P${{ inputs.maven-profiles }}"
GOAL="compile"
[ "${{ inputs.deploy-snapshot }}" = "true" ] && GOAL="deploy"
mvn -B -U $MVN_PROFILES -s .ci-config/settings.xml -DskipTests clean $GOAL