Skip to content

refactor: Update all packages to Angular 20 #546

refactor: Update all packages to Angular 20

refactor: Update all packages to Angular 20 #546

Workflow file for this run

name: PR check
on:
push:
branches:
- master
pull_request:
jobs:
build-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20.19
cache: 'npm'
- run: npm ci
- run: npm run build:packages
- uses: actions/upload-artifact@v4
with:
name: built-packages
path: 'dist/'
retention-days: 1
# Remove once Angular drop support for RxJS@6
build-packages-rxjs-7:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20.19
cache: 'npm'
- run: |
npm ci
npm install rxjs@7.4.0
npm run build:packages
build-docs:
needs: build-packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20.19
- run: npm ci
- run: npm run docs:build
build-playground:
needs: build-packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20.19
- run: npm ci
- uses: actions/download-artifact@v4
with:
name: built-packages
path: dist
- run: npm run build playground -- --configuration=production-wp
# lint:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - uses: actions/setup-node@v2
# with:
# node-version: '16'
# - run: npm ci
# - run: npm run ci:lint
# e2e:
# needs: build-packages
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - uses: actions/setup-node@v2
# with:
# node-version: '16'
# - run: npm ci
# - uses: actions/download-artifact@v4
# with:
# name: built-packages
# path: dist
# - name: BrowserStack Setup
# uses: 'browserstack/github-actions@master'
# with:
# username: ${{ env.BSU }}
# access-key: ${{ env.BSK }}
# - name: Start BrowserStackLocal Tunnel
# uses: browserstack/github-actions/setup-local@master
# with:
# local-testing: start
# - name: Test
# run: npm run ng -- e2e playground-e2e --configuration=production-wp
# - name: Stop BrowserStackLocal Tunnel
# uses: browserstack/github-actions/setup-local@master
# with:
# local-testing: stop
unit-test:
needs: build-packages
runs-on: ubuntu-latest
env:
BSU: debac1
BSK: AhrdZMi5gFDy3CQQfJHs
BROWSERSTACK_USERNAME: debac1
BROWSERSTACK_ACCESS_KEY: AhrdZMi5gFDy3CQQfJHs
FORCE_LOCAL_TESTING: true # Temporarily force local testing due to BrowserStack issues
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20.19
- run: npm ci
- uses: actions/download-artifact@v4
with:
name: built-packages
path: dist
- name: BrowserStack Setup
uses: 'browserstack/github-actions/setup-env@4478e16186f38e5be07721931642e65a028713c3'
with:
username: ${{ env.BSU }}
access-key: ${{ env.BSK }}
- name: Start BrowserStackLocal Tunnel
uses: browserstack/github-actions/setup-local@4478e16186f38e5be07721931642e65a028713c3
with:
local-testing: start
local-identifier: random
- name: Verify BrowserStack Connection
run: |
echo "Checking BrowserStack environment variables..."
echo "BROWSERSTACK_USERNAME is set: $([[ -n "$BROWSERSTACK_USERNAME" ]] && echo "Yes" || echo "No")"
echo "BROWSERSTACK_ACCESS_KEY is set: $([[ -n "$BROWSERSTACK_ACCESS_KEY" ]] && echo "Yes" || echo "No")"
echo "BSU is set: $([[ -n "$BSU" ]] && echo "Yes" || echo "No")"
echo "BSK is set: $([[ -n "$BSK" ]] && echo "Yes" || echo "No")"
- name: Test packages
run: npm run test playground -- -c=production-wp --watch=false
- name: Test schematics
run: npm run test:schematics
- name: Stop BrowserStackLocal Tunnel
uses: browserstack/github-actions/setup-local@4478e16186f38e5be07721931642e65a028713c3
with:
local-testing: stop
- name: Upload coverage to codecov
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7
packages-smoke:
needs: build-packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20.19
- uses: actions/download-artifact@v4
with:
name: built-packages
path: packages-smoke/.lib/
- run: npm ci
working-directory: packages-smoke
- name: Build
run: npm run build -- --configuration=production
working-directory: packages-smoke
- name: E2E
env:
CYPRESS_CACHE_FOLDER: ~/.cache/Cypress
ELECTRON_EXTRA_LAUNCH_ARGS: --disable-gpu --disable-software-rasterizer --disable-background-timer-throttling --disable-renderer-backgrounding --disable-backgrounding-occluded-windows
run: |
echo "Running e2e tests with proper timeout handling..."
timeout 600 npm run e2e:ci || {
echo "E2E tests timed out or failed"
exit 1
}
working-directory: packages-smoke
- name: SSR
run: |
npm run build:ssr
npm run serve:ssr
working-directory: packages-smoke