diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 000000000..447aa61ba --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,51 @@ +# 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 1.8 JDK + - name: Java 1.8 setup + uses: actions/setup-java@v1.4.3 + with: + java-package: jdk + java-version: 1.8 + + # 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