Skip to content

Merge pull request #433 from jhipster/bom #1226

Merge pull request #433 from jhipster/bom

Merge pull request #433 from jhipster/bom #1226

Workflow file for this run

name: Verify Sample Projects
on:
push:
branches:
- 'main'
- '**maintenance'
paths-ignore:
- 'package*.json'
pull_request:
branches:
- '*'
permissions:
contents: read
jobs:
build-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.build.outputs.matrix }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- id: build
run: |
npm install
./cli/cli.cjs github-build-matrix
samples:
name: ${{ matrix.job-name || matrix.sample-name }}
runs-on: ubuntu-latest
needs: build-matrix
defaults:
run:
working-directory: ${{ github.workspace }}/app
timeout-minutes: 30
strategy:
fail-fast: false
matrix: ${{fromJson(needs.build-matrix.outputs.matrix)}}
steps:
- uses: actions/checkout@v4
with:
path: generator-jhipster-micronaut
fetch-depth: 2
- uses: jhipster/actions/setup-runner@v0
with:
java-version: ${{ matrix.java-version }}
node-version: ${{ matrix.node-version }}
maven-cache: true
gradle-cache: true
binary-dir: ${{ github.workspace }}/generator-jhipster-micronaut/cli/
- run: npm install
working-directory: ${{ github.workspace }}/generator-jhipster-micronaut
- run: cli.cjs generate-sample ${{ matrix.sample }}.jdl --skip-jhipster-dependencies --skip-install ${{ matrix.extra-args }}
- uses: jhipster/actions/compare-sample@v0
id: compare
if: >-
github.event.pull_request &&
!contains(github.event.pull_request.labels.*.name, 'pr: disable-compare')
with:
generator-path: generator-jhipster-micronaut
cmd: cli.cjs generate-sample ${{ matrix.sample }}.jdl --skip-jhipster-dependencies --skip-install ${{ matrix.extra-args }}
- run: npm run ci:backend:test
if: steps.compare.outputs.equals != 'true'
id: backend
- run: npm run ci:e2e:package
if: steps.compare.outputs.equals != 'true'
- run: npm run ci:frontend:test --if-present
if: steps.compare.outputs.equals != 'true'
- run: npm run ci:e2e:prepare
if: steps.compare.outputs.equals != 'true'
- run: npm run ci:e2e:run --if-present
if: steps.compare.outputs.equals != 'true'
id: e2e
- name: Store backend test failure logs
uses: actions/upload-artifact@v4
if: always() && steps.backend.outcome == 'failure'
with:
name: log-${{ matrix.sample-name }}
path: |
${{ github.workspace }}/app/build/test-results/**/*.xml
${{ github.workspace }}/app/target/surefire-reports
- name: Store cypress screenshots
uses: actions/upload-artifact@v4
if: always() && steps.e2e.outcome == 'failure'
with:
name: screenshots-${{ matrix.sample-name }}
path: ${{ github.workspace }}/app/**/cypress/screenshots
- name: Dump docker logs
if: always()
uses: jwalton/gh-docker-logs@v2
check-samples:
permissions:
contents: none
runs-on: ubuntu-latest
needs: [samples]
if: always()
steps:
- run: |
echo '${{ toJSON(needs) }}'
if [ 'skipped' == '${{ needs.samples.result }}' ] || [ 'success' == '${{ needs.samples.result }}' ] || [ 'closed' == '${{ github.event.action }}' ]; then
exit 0
fi
exit 1