Skip to content

chore(deps-dev): bump the lint group across 1 directory with 4 updates #10604

chore(deps-dev): bump the lint group across 1 directory with 4 updates

chore(deps-dev): bump the lint group across 1 directory with 4 updates #10604

Workflow file for this run

name: Build
on:
push:
branches:
- master
paths:
- '.github/actions/build-setup/**/*'
- '.github/workflows/build.yml'
- 'config/**/*'
- 'scripts/**/*'
- 'src/**/*'
- 'test/*' # root folder
- 'test/config/**/*'
- 'test/fixtures/**/*'
- 'test/integration/**/*'
- 'test/performance/**/*' # performance tests are built here
- 'test/shared/**/*'
- 'test/unit/**/*'
- '.eslintrc.js'
- '.nvmrc'
- '.prettierrc.js'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
pull_request:
branches:
- master
paths:
- '.github/actions/build-setup/**/*'
- '.github/workflows/build.yml'
- 'config/**/*'
- 'scripts/**/*'
- 'src/**/*'
- 'test/*' # root folder
- 'test/config/**/*'
- 'test/fixtures/**/*'
- 'test/integration/**/*'
- 'test/performance/**/*' # performance tests are built here
- 'test/shared/**/*'
- 'test/unit/**/*'
- '.eslintrc.js'
- '.nvmrc'
- '.prettierrc.js'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
jobs:
build:
runs-on: ${{ matrix.os.name }}
strategy:
# we want to run the full build on all os: don't cancel running jobs even if one fails
fail-fast: false
matrix:
# syntax inspired from https://github.community/t5/GitHub-Actions/Using-a-matrix-defined-input-for-a-custom-action/m-p/32032/highlight/true#M988
os:
- { name: ubuntu-22.04, coverage: '-- --coverage' }
- { name: macos-13 }
- { name: windows-2022 }
permissions:
# SonarCloud: checks and pull-requests
checks: write
pull-requests: write
steps:
- name: Checkout with shallow clone
uses: actions/checkout@v4
if: ${{ !contains(matrix.os.coverage, 'coverage') }}
- name: Checkout without shallow clone
uses: actions/checkout@v4
if: ${{ contains(matrix.os.coverage, 'coverage') }}
with:
# Disabling shallow clone is recommended for improving relevancy of SonarCloud reporting
fetch-depth: 0
- name: Build Setup
uses: ./.github/actions/build-setup
- name: Lint check
run: npm run lint-check
- name: Build Application
run: npm run build
- name: Test Application
id: 'test_unit'
run: npm run test:unit ${{ matrix.os.coverage }}
- name: Upload unit test results
if: ${{ failure() && steps.test_unit.outcome == 'failure' }}
uses: actions/upload-artifact@v4
with:
name: unit-test-results-${{matrix.os.name}}-${{github.sha}}
path: build/test-report/unit
- name: Test Application Integration
id: 'test_integration'
run: npm run test:integration ${{ matrix.os.coverage }}
- name: Upload integration test results
if: ${{ failure() && steps.test_integration.outcome == 'failure' }}
uses: actions/upload-artifact@v4
with:
name: integration-test-results-${{matrix.os.name}}-${{github.sha}}
path: build/test-report/integration
# Ensure we don't break scripts
- name: Build and test utils
run: npm run utils-all
# Ensure we don't break performance tests code
- name: Check performance tests compilation
run: npm run test:perf:compile
# No need to run the analysis from all environments
- name: SonarCloud Scan
if: ${{ success() && contains(matrix.os.coverage, 'coverage') && env.SONAR_TOKEN != '' }}
uses: SonarSource/sonarcloud-github-action@v2.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}