| # |
| # 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.3.0.java11' |
| |
| jobs: |
| |
| linux-jdk11: |
| 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@5.0 |
| 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-jdk11: |
| runs-on: windows-2019 |
| steps: |
| |
| - name: setup-graalvm-ce |
| uses: DeLaGuardo/setup-graalvm@5.0 |
| 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-jdk11: |
| 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@5.0 |
| 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 |
| |