diff --git a/.github/workflows/test-jdk16.yaml b/.github/workflows/test-jdk16.yaml new file mode 100644 index 00000000..841af8c1 --- /dev/null +++ b/.github/workflows/test-jdk16.yaml @@ -0,0 +1,168 @@ +# +# Copyright (c) 2017 Angelo Zerr and other contributors as +# indicated by the @author tags. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +name: GitHub Actions +on: [push, pull_request] + +env: + GRAALVM_VERSION: '21.1.0.java16' + +jobs: + + linux-jdk16: + runs-on: ubuntu-18.04 + steps: + + - uses: actions/checkout@v1 + + - name: Set VERSION env var + run: echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV + + - name: setup-graalvm-ce + uses: DeLaGuardo/setup-graalvm@8bbfe44ef9c6f5c07e5af036a1bffd561c037d18 + with: + graalvm-version: ${{ env.GRAALVM_VERSION }} + + - name: gu install native-image + run: gu install native-image + + - name: Skip tests when releasing from a tag + if: startsWith(github.ref, 'refs/tags') + shell: bash + run: echo "SKIP_TESTS_OPT=-DskipTests" >> $GITHUB_ENV + + - name: mvn clean verify + run: ./mvnw clean verify -Pnative -Dmrm=false -B -ntp -e $SKIP_TESTS_OPT + + - name: Upload daemon test logs + if: ${{ success() || failure() }} + uses: actions/upload-artifact@v2 + with: + name: daemon-test-logs-linux + path: integration-tests/target/mvnd-tests/**/daemon*.log + + - name: Upload mvnd.zip + uses: actions/upload-artifact@v2 + with: + name: mvnd-linux-amd64.zip + path: dist/target/mvnd-*.zip + + windows-jdk16: + runs-on: windows-2019 + steps: + + - name: setup-graalvm-ce + uses: DeLaGuardo/setup-graalvm@8bbfe44ef9c6f5c07e5af036a1bffd561c037d18 + with: + graalvm-version: ${{ env.GRAALVM_VERSION }} + + - name: gu install native-image + shell: cmd + run: gu install native-image + + - uses: actions/cache@v2 + with: + path: ${{ env.JAVA_HOME }}\bin\native-image.exe + key: ${{ runner.os }}-native-image-${{ env.GRAALVM_VERSION }} + + - name: Check if native-image.exe exists + id: native_image_exe_exists + uses: andstor/file-existence-action@v1 + with: + files: ${{ env.JAVA_HOME }}\bin\native-image.exe + + - name: Compile native-image.cmd to native-image.exe + if: ${{ steps.native_image_exe_exists.outputs.files_exists == 'false' }} + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + "%JAVA_HOME%\bin\native-image.cmd" -jar "%JAVA_HOME%\lib\graalvm\svm-driver.jar" native-image + + - name: move native-image.exe %JAVA_HOME%\bin\ + if: ${{ steps.native_image_exe_exists.outputs.files_exists == 'false' }} + shell: cmd + run: | + move native-image.exe "%JAVA_HOME%\bin\" + + - uses: actions/checkout@v1 + + - name: Set VERSION env var + shell: bash + run: echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV + + - name: Skip tests when releasing from a tag + if: startsWith(github.ref, 'refs/tags') + shell: bash + run: echo "SKIP_TESTS_OPT=-DskipTests" >> $GITHUB_ENV + + - name: mvn clean verify + shell: cmd + run: | + call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + ./mvnw clean verify -Pnative -Dmrm=false -B -ntp -e %SKIP_TESTS_OPT% + + - name: Upload daemon test logs + if: ${{ success() || failure() }} + uses: actions/upload-artifact@v2 + with: + name: daemon-test-logs-windows + path: integration-tests/target/mvnd-tests/**/daemon*.log + + - name: Upload mvnd.zip + uses: actions/upload-artifact@v2 + with: + name: mvnd-windows-amd64.zip + path: dist/target/mvnd-*.zip + + darwin-jdk16: + runs-on: macos-10.15 + steps: + + - uses: actions/checkout@v1 + + - name: Set VERSION env var + run: echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV + + - name: setup-graalvm-ce + uses: DeLaGuardo/setup-graalvm@8bbfe44ef9c6f5c07e5af036a1bffd561c037d18 + with: + graalvm-version: ${{ env.GRAALVM_VERSION }} + + - name: gu install native-image + run: gu install native-image + + - name: Skip tests when releasing from a tag + if: startsWith(github.ref, 'refs/tags') + shell: bash + run: echo "SKIP_TESTS_OPT=-DskipTests" >> $GITHUB_ENV + + - name: mvn clean verify + run: ./mvnw clean verify -Pnative -Dmrm=false -B -ntp -e $SKIP_TESTS_OPT + + - name: Upload daemon test logs + if: ${{ success() || failure() }} + uses: actions/upload-artifact@v2 + with: + name: daemon-test-logs-darwin + path: integration-tests/target/mvnd-tests/**/daemon*.log + + - name: Upload mvnd.zip + uses: actions/upload-artifact@v2 + with: + name: mvnd-darwin-amd64.zip + path: dist/target/mvnd-*.zip +