name: Run tests on: pull_request: branches: - main jobs: unit-test: name: Run unit tests and linting runs-on: ubuntu-latest 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: name: Run E2E tests runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "lts/*" - name: Install dependencies (root) run: npm ci - name: Run E2E tests run: npm run test --workspace=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