diff --git a/.github/workflows/flamecord-build.yml b/.github/workflows/flamecord-build.yml new file mode 100644 index 0000000..27a0c35 --- /dev/null +++ b/.github/workflows/flamecord-build.yml @@ -0,0 +1,50 @@ +# This workflow will perform a compilation test +# on each pull request or push to the branch master +# to check its correct compilation and will deliver +# an artifact to check if the change is working properly. +name: FlameCord Maven Build + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + # The corresponding tests are performed in the versions + # marked as Long Term Support by Oracle and in its + # latest version up to the moment. + strategy: + matrix: + java: [8, 11, 16] + + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Setup JAVA ${{ matrix.java }} + uses: actions/setup-java@v2 + with: + java-version: ${{ matrix.java }} + distribution: 'adopt' + architecture: x64 + + # The corresponding dependencies are stored in the cache to speed up the test. + - name: Cache Maven Packages + uses: actions/cache@v2.1.5 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + + - name: Build FlameCord + run: | + git config --global user.email "you@example.com" + git config --global user.name "Your Name" + scripts/build.sh --jar + + # An artifact is generated in a compressed file according to each JDK build version. + - name: Upload FlameCord + uses: actions/upload-artifact@v2.2.3 + with: + name: FlameCord-JDK${{ matrix.java }} + path: Travertine-Proxy/bootstrap/target/Travertine.jar