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: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