Skip to content

ci: add verdaccio setup to e2e pipeline #7

ci: add verdaccio setup to e2e pipeline

ci: add verdaccio setup to e2e pipeline #7

Workflow file for this run

name: Run tests
on: push
jobs:
unit-test:
runs-on: ubuntu-latest
name: Unit Tests
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm run test:unit
integration-test:
runs-on: ubuntu-latest
name: Integration Tests
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22.x"
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm run test:integration
e2e-test:
runs-on: ubuntu-latest
container: ${{ matrix.container }}
services:
verdaccio:
image: verdaccio/verdaccio:5
ports:
- 4873:4873
strategy:
matrix:
container:
- ubuntu:latest
- mcr.microsoft.com/windows/nanoserver:ltsc2022
node:
- "18.x" # Oldest supported lts
- "20.x" # Newest lts
- "22.x" # Latest
name: E2E Tests
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Add test user
run: npx npm-cli-login -u tester -p 123456 -e tester@example.com -r http://localhost:4873
- name: Add test packages
run: |
root_dir=$(pwd)
for dir in .github/verdaccio/*/; do
if [ -f "$dir/package.json" ]; then
echo "Publishing $dir"
cd "$dir"
npm publish --registry http://localhost:4873
cd "$root_dir"
fi
done
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Run tests
run: npm run test:e2e