Files
cbsnexora/.github/workflows/build.yml
T
Felix van Hove 7fd1486c08 Upgrading to Angular 20:
Replaced checked in package-lock.json by regenerated one.
Ran ng update @angular/core@20 @angular/cli@20
Ran npm install @angular-builders/jest@^20.0.0 @fortawesome/angular-fontawesome@^3.0.0 @swimlane/ngx-graph@^11
Ran npm install ngx-mat-select-search@^8.0.2.
Ran ng update @angular/material@20.
Updated all eslint and typescript to the latest versions.
Removed @angular-devkit/schematics.
Updated fontawesome.
Updated rxjs and tslib.
Moved required node version from 16 to 20.
Updated jest-preset-angular.
Set preserveWhitespaces to false.
Corrected two type declarations in two typescript files to make ng serve run without errors.
Removed unused angular-devkit/schematics from view-user.component.ts .
Updated list of supported browsers.
Upgraded prettier.
Ran prettier . --write the first time.
Ran prettier . --write the second time.
Ran ng generate @angular/core:inject with defaults, excepted a handful of files.
Fixed remaining eslint problems.
Added dist directory to ignores in eslint.config.js.
Let prettier fix formatting, almost everything is just line breaks.
Made htmlhint ignore @if and @for Angular constructs.
Updated node version in Github workflow to 22.12.0 (build.yml).
Updated .env.ts.
Updated Angular datetime format strings from YYYY-MM-DD to yyyy-MM-dd.
Merged changes from dev into angular20 branch.
2025-12-08 11:01:01 +01:00

72 lines
2.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: build-run
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events for specific branches
push:
branches: [main, dev, angular-update-18]
pull_request:
branches: [main, dev, angular-update-18]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
name: Run Lint, Build and Deploy
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js 22
uses: actions/setup-node@v3
with:
# no support for lts as of now with github actions.
# issue link : https://github.com/actions/setup-node/issues/26
# lts/gallium node v19.7.0 (npm v9.5.0)
node-version: '22.12.0'
- name: Remove node_modules
run: rm -rf node_modules
- name: Run CI
run: npm ci
- name: Fallback – Clean install with regenerated lockfile
if: failure()
run: |
echo "npm ci failed — regenerating lockfile and retrying"
rm -rf node_modules package-lock.json
npm install
- name: Run eslint
run: npx eslint .
- name: Run stylelint
run: npx stylelint "src/**/*.scss"
- name: Run prettier
run: npx prettier . --check
- name: Run HTMLHint
run: npx htmlhint "src" --config .htmlhintrc
- name: Run production build
run: npm run build:prod
- name: Deploy to github pages
if: ${{ github.event_name == 'push' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: dist/web-app
#without preserve it only builds if you have untracked files
PRESERVE: true
# github user name and email shows up in the logs,
# so it would be better to make it silent.
SILENT: true