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