Skip to content

Change workflow ubuntu version to 20.04 one (#69) #279

Change workflow ubuntu version to 20.04 one (#69)

Change workflow ubuntu version to 20.04 one (#69) #279

name: Check New Pull Request
on:
push:
branches: [ main ]
pull_request:
branches: [ '**' ]
jobs:
build:
name: Check if passes all requirements
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ macos-12, windows-latest, ubuntu-20.04 ]
steps:
- name: Checkout project
uses: actions/checkout@v3
- name: Configure Pagefile
if: matrix.os == 'windows-latest'
# Fix for "LINK : fatal error LNK1171: unable to load mspdbcore.dll (error code: 1455)":
# This seems to be caused by running out of memory; increasing page file
# size suggested here:
# https://github.com/actions/virtual-environments/issues/3420#issuecomment-861342418
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 16GB
maximum-size: 16GB
disk-root: "C:"
- name: Setup graalvm ce
uses: graalvm/setup-graalvm@v1
with:
version: '22.3.1'
java-version: '17'
components: 'native-image,js'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Cache maven packages
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Creating native image (Mac)
if: matrix.os == 'macos-12'
run: mvn install -P native-image -Dos.platform=mac -Dmaven.wagon.httpconnectionManager.ttlSeconds=60
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Creating native image (Linux)
if: matrix.os == 'ubuntu-20.04'
run: mvn install -P native-image -Dos.platform=linux -Dmaven.wagon.httpconnectionManager.ttlSeconds=60
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up MSVC
if: matrix.os == 'windows-latest'
uses: ilammy/msvc-dev-cmd@v1
- name: Creating native image (Win)
if: matrix.os == 'windows-latest'
run: mvn install -P native-image -D os.platform=win -D maven.wagon.httpconnectionManager.ttlSeconds=60
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Performing integration test for Mac
if: matrix.os == 'macos-12'
run: mvn install -DskipTests -P dependencies-for-integration-tests,start-unix-native-image-for-integration-tests,run-postman-integration-tests -Dos.platform=mac
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Performing integration test for Linux
if: matrix.os == 'ubuntu-20.04'
run: mvn install -DskipTests -P dependencies-for-integration-tests,start-unix-native-image-for-integration-tests,run-postman-integration-tests -Dos.platform=linux
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Performing integration test for Windows
if: matrix.os == 'windows-latest'
run: mvn install -DskipTests -P dependencies-for-integration-tests,start-windows-native-image-for-integration-tests,run-postman-integration-tests -D os.platform=win
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}