Skip to content

disable some IT classes in AOT mode #20

disable some IT classes in AOT mode

disable some IT classes in AOT mode #20

Workflow file for this run

name: JDL tests
concurrency:
# Group PRs by head_ref, push to main branch by commit id, and others branch by ref.
group: ${{ github.workflow }}-${{ github.head_ref || (github.ref == 'refs/heads/main' && github.sha) || github.ref }}
cancel-in-progress: true
on:
push:
branches:
- '*'
paths-ignore:
- 'generators/ci-cd/**'
pull_request:
types: [closed, opened, synchronize, reopened]
branches:
- '*'
paths-ignore:
- 'generators/ci-cd/**'
permissions:
contents: read
jobs:
applications:
name: ${{ matrix.suite }} (${{ matrix.os }}, ${{ matrix.build-tool }})
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
working-directory: ${{ github.workspace }}/app
if: github.event.action != 'closed'
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-11, windows-2022]
build-tool: [maven, gradle]
suite:
- postgresql-mvc
- postgresql-webflux
- postgresql-mvc-jwt
- postgresql-webflux-jwt
include:
- os: windows-2022
profile: dev
e2e: 'false'
jdl-extra-args: '--skip-install'
steps:
#----------------------------------------------------------------------
# Install all tools and check configuration
#----------------------------------------------------------------------
- name: 'SETUP: create app folder'
run: mkdir app
working-directory: ${{ github.workspace }}
- name: 'SETUP: Configure keycloak host'
if: runner.os == 'Linux' || runner.os == 'macOS'
run: echo "127.0.0.1 keycloak" | sudo tee -a /etc/hosts
- name: 'SETUP: setup node'
uses: actions/setup-node@v4
with:
node-version: 18
- name: 'SETUP: checkout generator-jhipster-native'
uses: actions/checkout@v4
with:
path: generator-jhipster-native
fetch-depth: 2
- name: 'SETUP: install generator-jhister-native'
run: |
npm ci --prod
npm link
working-directory: ${{ github.workspace }}/generator-jhipster-native
- name: 'SETUP: setup graalvm'
uses: graalvm/setup-graalvm@v1
with:
version: '22.3.3'
java-version: '17'
distribution: 'graalvm-community'
components: 'native-image'
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'
- name: 'SETUP: get date'
id: get-date
run: echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_OUTPUT
- name: 'SETUP Windows: force npm to use bash'
if: runner.os == 'Windows'
run: |
echo "script-shell=bash" >.npmrc
cat .npmrc
- name: 'SETUP MacOS: load Homebrew cache'
uses: actions/cache@v3
if: runner.os == 'macOS'
with:
path: |
~/Library/Caches/Homebrew/downloads/*--Docker.dmg
key: brew-actions-setup-docker-1.0.11
restore-keys: brew-actions-setup-docker-
- name:
'SETUP MacOS: install docker'
# v1.0.11 (5d9a5f65f510c01ec5f0bd81d5c95768b1ec032a)
uses: docker-practice/actions-setup-docker@5d9a5f65f510c01ec5f0bd81d5c95768b1ec032a
# alternative solution https://github.com/actions/runner/issues/1456
if: runner.os == 'macOS'
timeout-minutes: 30
with:
docker_buildx: false
- run: ls ~/Library/Caches/Homebrew/
if: runner.os == 'macOS'
- name: 'SETUP: load npm cache'
uses: actions/cache@v3
with:
path: |
~/.npm
~/.cache/Cypress/
key: ${{ runner.os }}-npm-${{ matrix.suite }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('generator-jhipster-native/package*.json') }}
- name: 'SETUP: load maven cache'
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ matrix.suite }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('generator-jhipster-native/package*.json') }}
#----------------------------------------------------------------------
# Install JHipster and generate project+entities
#----------------------------------------------------------------------
- name: 'PROJECT: generate'
run: 'JHI_PROFILE=${{ matrix.profile }} jhipster-native generate-sample ${{ matrix.suite }}.jdl --build ${{ matrix.build-tool }} --no-insight --skip-git --skip-commit-hook --skip-jhipster-dependencies --no-cypress-audit ${{ matrix.jdl-extra-args }}'
- name: 'Windows: install npm dependencies'
# Workaround max PATH size https://github.com/jhipster/generator-jhipster-native/pull/65#issuecomment-1249555392
if: runner.os == 'Windows'
run: npm install
- name: 'TESTS: backend tests'
run: npm run ci:backend:test
# Native build is memory intensive, containers should not be started.
- name: 'TESTS: build application package'
timeout-minutes: 60
run: npm run native-package -- ${{ matrix.native-package-extra-args }}
- name: 'TESTS: start docker dependencies'
run: npm run ci:e2e:prepare
if: matrix.e2e != 'false'
- name: 'TESTS: run e2e'
run: npm run native-e2e --if-present
if: matrix.e2e != 'false'
- name: Dump docker logs
if: always() && matrix.e2e != 'false'
uses: jwalton/gh-docker-logs@v2