# This workflow automatically tests new commits and pull requests as they come in. # Note that this does not upload any artifacts, you will need to compile mcMMO manually # if you wish to create the actual jar. name: Compile and test on: # We run our tests whenever the pom or a source file was touched. # There is no need to run Maven when only the changelog was touched. # We may also want to re-run this workflow when the workflow file itself # was updated too. push: paths: - 'src/**' - 'pom.xml' - '.github/workflows/maven.yml' # Whenever someone submits a new pull request which modified the pom or a source file, # we want to ensure it compiles successfully and that all tests will pass. pull_request: paths: - 'src/**' - 'pom.xml' jobs: compile: name: Maven compiler runs-on: ubuntu-latest steps: # 1. Check out the current working tree - name: Checkout repository uses: actions/checkout@v2 # 2. Setup Java 17 JDK (Adopt) - name: Java 17 setup uses: actions/setup-java@v2 with: distribution: 'adopt' java-package: jdk java-version: '17' # 3. Setup local Maven package cache to speed up building - name: Cache Maven packages uses: actions/cache@v2 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 # 4. Build via Maven - name: Build via Maven run: mvn verify -B --file pom.xml -DdisableXmlReport=true # 5. Upload Artifact - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: mcMMO path: target/*