Skip to content

ci: configure self-hosted CI #2

ci: configure self-hosted CI

ci: configure self-hosted CI #2

name: ci-tests
on:
push:
pull_request:
branches: [master, main, develop]
workflow_dispatch:
jobs:
lint:
name: Lint
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Install
uses: './.github/actions/cached-npm-install'
- name: Run linter
run: npm run lint
specs:
name: Unit tests
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Install
uses: './.github/actions/cached-npm-install'
- name: Run unit tests
run: npm test
env:
CI: true
e2e:
name: End-to-end tests
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Install
uses: './.github/actions/cached-npm-install'
- name: Cache Playwright browsers
uses: actions/cache@v3
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- name: Run e2e tests
continue-on-error: false
run: |
npx playwright test -c e2e/e2e.config.ts
env:
CI: true
build:
name: Build
needs: [lint, specs, e2e]
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Install
uses: './.github/actions/cached-npm-install'
- name: Build package
run: npm run build:pkg
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: ngx-uploadx-package
path: dist/