Ks89/angular-modal-gallery

View on GitHub
.github/workflows/main.yml

Summary

Maintainability
Test Coverage
name: angular-modal-gallery

on:
  push:
    paths-ignore:
      - 'node_modules'
      - 'examples/angular-cli-18/node_modules'
      - 'examples/angular-cli-material/node_modules'
      - 'examples/universal/node_modules'

jobs:

  angular-modal-gallery:
    name: "angular-modal-gallery"
    timeout-minutes: 20

    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [ 20.x ]

    steps:
      - uses: actions/checkout@v4

      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}

      - name: Switch to a specific npm version
        run: |
          npm install -g npm@10
          npm cache verify

      - name: Installing all deps
        run: |
          npm ci
          cd examples/angular-cli-18
          npm ci
          cd ../..
          cd examples/angular-cli-material
          npm ci
          cd ../..
          cd examples/universal
          npm ci
          cd ../..

      - name: Building main web app
        run: |
          npm run build:all
          npm run build:main:dev
          npm run build:main:prod

      - name: Building angular-cli example
        run: |
          cd examples/angular-cli-18
          npm run build:dev
          npm run build:prod
          cd ../..

      - name: Building angular-cli-material example
        run: |
          cd examples/angular-cli-material
          npm run build:dev
          npm run build:prod
          cd ../..

      - name: Building universal example
        run: |
          cd examples/universal
          npm run build:dev
          npm run build:prod
          cd ../..

      - name: Running tests (with retry on failure)
        uses: nick-fields/retry@v2
        with:
          max_attempts: 3
          timeout_minutes: 10
          command: |
            npm test

      - name: Coveralls
        uses: coverallsapp/github-action@master
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          path-to-lcov: './coverage/ks89/angular-modal-gallery/lcov.info'