Skip to content

Bump the npm-dependencies-minor group across 1 directory with 8 updates #136

Bump the npm-dependencies-minor group across 1 directory with 8 updates

Bump the npm-dependencies-minor group across 1 directory with 8 updates #136

Workflow file for this run

name: CI Build
on:
push:
paths-ignore:
- "**.md"
- "LICENSE.txt"
pull_request:
branches:
- main
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 1
- name: Setup Node
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
node-version: 20.x
cache: npm
- name: Install dependencies
run: npm ci
- name: Run linting
run: npm run lint
- name: Build application
run: npm run build:prod
- name: Run unit tests
run: npm run test:prod
- name: Upload Test Results Report
if: always()
uses: dorny/test-reporter@fe45e9537387dac839af0d33ba56eed8e24189e8 # v2.3.0
with:
name: Test Results
path: test_results/test-output.xml
reporter: java-junit
report-title: Test Results
- name: Create Code Coverage Summary Report
if: always()
uses: irongut/CodeCoverageSummary@51cc3a756ddcd398d447c044c02cb6aa83fdae95 #v1.3.0
with:
filename: "test_results/coverage/cobertura-coverage.xml"
badge: true
format: "markdown"
output: "both"
- name: Upload Code Coverage Report
if: always()
run: |
echo "# Code Coverage" >> $GITHUB_STEP_SUMMARY
if [ -f code-coverage-results.md ]; then
cat code-coverage-results.md >> $GITHUB_STEP_SUMMARY
else
echo "Coverage report not found" >> $GITHUB_STEP_SUMMARY
fi
- name: Upload build artifacts
id: artifact
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: devtoolbox-artifacts
path: dist/dev-tool-box/browser/
retention-days: 5
if-no-files-found: error
e2e:
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
browser: [chrome, firefox, edge]
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 1
- name: Download build artifacts
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: devtoolbox-artifacts
path: dist/dev-tool-box/browser/
- name: Run E2E tests
uses: cypress-io/github-action@7ef72e250a9e564efb4ed4c2433971ada4cc38b4 # v6.10.4
with:
start: npm run start
wait-on: http://localhost:4200
browser: ${{ matrix.browser }}
record: false
spec: cypress/e2e/**/*.cy.ts
- name: Upload Cypress screenshots
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: failure()
with:
name: cypress-screenshots-${{ matrix.browser }}
path: cypress/screenshots/
retention-days: 7
if-no-files-found: ignore
- name: Upload Cypress videos
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
if: always()
with:
name: cypress-videos-${{ matrix.browser }}
path: cypress/videos/
retention-days: 7
if-no-files-found: ignore