Skip to content

Merge branch 'v5' into develop/5.4.0 #206

Merge branch 'v5' into develop/5.4.0

Merge branch 'v5' into develop/5.4.0 #206

Workflow file for this run

name: CI
on:
push:
branches:
- "v*"
- "develop/*"
pull_request:
types:
- opened
- synchronize
branches:
- "v*"
- "develop/*"
jobs:
build-and-test:
name: Run build with unit test
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [22.x, 24.x]
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm install
- name: Lint code
run: npm run lint
- name: Build project
run: npm run build
- name: Unit test
run: npm run test:unit
- name: Upload coverage report to Github
if: always()
uses: actions/upload-artifact@v7
with:
name: coverage-report-${{ matrix.node-version }}
path: coverage
- name: Upload coverage report to Coveralls
#v2.3.7
uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e
with:
flag-name: coverage-report-${{ matrix.node-version }}
parallel: true
coverage-finished:
name: Publish coverage report to Coveralls
needs: build-and-test
if: always()
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
#v2.3.7
uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e
with:
parallel-finished: true
carryforward: "coverage-report-22.x,coverage-report-24.x"
cypress:
name: Run e2e tests with Cypress
runs-on: ubuntu-latest
needs: build-and-test
container:
image: cypress/browsers:node-24.12.0-chrome-143.0.7499.169-1-ff-146.0.1-edge-143.0.3650.96-1
options: --user 1001
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install dependencies
run: npm install
- name: Build project
run: npm run build
- name: Cypress run
#v6.10.8
uses: cypress-io/github-action@783cb3f07983868532cabaedaa1e6c00ff4786a8
with:
browser: chrome
analyze:
name: Analyze code with CodeQL
runs-on: ubuntu-latest
needs: build-and-test
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: typescript
- name: Autobuild
uses: github/codeql-action/autobuild@v4
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
sonarcloud:
name: Analyze code with SonarQube
runs-on: ubuntu-latest
needs: build-and-test
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Download coverage artifact
uses: actions/download-artifact@v8
with:
name: coverage-report-22.x
path: coverage
- name: SonarQube Scan
# v7.0.0
uses: SonarSource/sonarqube-scan-action@299e4b793aaa83bf2aba7c9c14bedbb485688ec4
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}