refactor: use signals for dimensions #1982
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build, Test, and Deploy | |
| on: | |
| workflow_call: | |
| secrets: | |
| CC_TEST_REPORTER_ID: | |
| required: true | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 # We need this for commit-lint | |
| - name: Set Node Version | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: lts/iron | |
| - name: Install | |
| run: npm ci | |
| - name: Build and package library | |
| run: npm run package | |
| - name: Format | |
| run: npm run format:check | |
| - name: Build | |
| run: npm run build:prod | |
| - name: Archive build | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: dist | |
| path: dist | |
| - name: Test | |
| run: npm run ci | |
| - name: Build Stackblitz | |
| working-directory: projects/stackblitz | |
| run: | | |
| npm ci | |
| npm run build -- --configuration=production | |
| - name: Archive coverage results | |
| uses: actions/upload-artifact@v5 | |
| if: success() || failure() | |
| with: | |
| name: coverage | |
| path: coverage/ngx-datatable-lib | |
| - name: Publish coverage results | |
| uses: qltysh/qlty-action/coverage@v2 | |
| env: | |
| QLTY_COVERAGE_TOKEN: ${{ secrets.QLTY_COVERAGE_TOKEN }} | |
| with: | |
| token: ${{ secrets.QLTY_COVERAGE_TOKEN }} | |
| files: ${{github.workspace}}/coverage/ngx-datatable-lib/lcov.info | |
| if: env.QLTY_COVERAGE_TOKEN | |
| e2e: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| container: mcr.microsoft.com/playwright:v1.56.1-jammy | |
| steps: | |
| # We cannot use built-in LFS functionality due to the missing support of custom LFS endpoints. | |
| # See: https://github.com/actions/checkout/issues/365 | |
| # As we are in another container, we even need to install LFS manually. | |
| - name: Install LFS | |
| run: | | |
| git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
| curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash | |
| apt install git-lfs | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Pull Repository with LFS | |
| run: git lfs pull | |
| - name: Download build | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: dist | |
| path: dist | |
| - name: Install | |
| run: npm ci | |
| - name: E2E | |
| run: npm run e2e | |
| - name: Upload E2E Results | |
| if: success() || failure() | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: e2e-results | |
| path: playwright/results |