name: Run tests on: pull_request 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 - name: Create package tarball run: npm pack --workspace=packages/safe-chain - name: Upload package tarball uses: actions/upload-artifact@v4 with: name: safe-chain-package path: aikidosec-safe-chain-*.tgz 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: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