AikidoSec-safe-chain/.github/workflows/test-on-pr.yml
2025-07-30 16:54:57 +02:00

65 lines
1.3 KiB
YAML

name: Run tests
on:
pull_request:
branches:
- main
jobs:
unit-test:
name: Run unit tests and linting
runs-on: ubuntu-latest
defaults:
run:
working-directory: safe-chain
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "lts/*"
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm test
- name: Run ESLint
run: npm run lint
e2e-tests:
runs-on: ubuntu-latest
defaults:
run:
working-directory: test/e2e
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "24"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm test
- name: Run E2E tests
run: npm run test:e2e
- name: Clean up Docker resources
if: always()
run: |
# Clean up any remaining containers and images
docker ps -aq --filter "name=safe-chain-e2e-test" | xargs -r docker rm -f
docker images -q safe-chain-e2e-test | xargs -r docker rmi -f