name: AS Talange CI/CD Pipeline on: push: branches: - main jobs: test: name: Build & Run Unit Tests runs-on: self-hosted steps: # Remplacement de actions/checkout par un clone Git manuel sécurisé - name: Clone repository run: | git clone --depth 1 https://oauth2:${{ secrets.GITHUB_TOKEN }}@${{ github.server_url }}/${{ github.repository }}.git . git checkout ${{ github.sha }} - name: Run Maven Tests in Docker run: | docker run --rm \ -v ${{ github.workspace }}:/app \ -w /app \ maven:3.9.6-eclipse-temurin-21 \ mvn clean test deploy: name: Build & Run in Docker Container needs: test runs-on: self-hosted steps: - name: Clone repository run: | git clone --depth 1 https://oauth2:${{ secrets.GITHUB_TOKEN }}@${{ github.server_url }}/${{ github.repository }}.git . git checkout ${{ github.sha }} - name: Deploy with Docker Compose run: | docker compose down app || true docker compose up -d --build app