name: Java CI with Maven on: push: branches: [ '*' ] pull_request: branches: [ '*' ] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up JDK 21 uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '21' - name: Cache Maven packages uses: actions/cache@v2 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Build with Maven run: mvn clean package - name: Run tests with Maven run: mvn test - name: Upload build artifact uses: actions/upload-artifact@v3 with: name: Java Build Artifacts path: | target/*.jar !target/original-*.jar