build(deps-dev): bump brace-expansion from 1.1.14 to 1.1.18 in the npm_and_yarn group across 1 directory #934
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: test | |
| on: | |
| pull_request: | |
| branches: | |
| - trunk | |
| push: | |
| branches: | |
| - trunk | |
| - release-* | |
| tags: | |
| - v* | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| browser-tests: | |
| name: Browser Tests (Node ${{ matrix.node }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node: | |
| - 20 | |
| - 22 | |
| - 24 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Node.js for test runner | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build browser bundle | |
| run: npm run build | |
| - name: Run browser compatibility tests | |
| run: npm run test:browser | |
| local-runtime-tests: | |
| name: Local Runtime (${{ matrix.os }}, Node ${{ matrix.node }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| node: | |
| - 20 | |
| - 22 | |
| - 24 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build project | |
| run: npm run build | |
| - name: Install PostgreSQL (Linux) | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y postgresql | |
| sudo service postgresql start | |
| sleep 5 | |
| sudo -u postgres psql -tc "SELECT 1 FROM pg_roles WHERE rolname='postgres'" | grep -q 1 || sudo -u postgres createuser -s postgres | |
| sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';" | |
| sudo -u postgres createdb testdb | |
| - name: Install PostgreSQL (MacOS) | |
| if: matrix.os == 'macos-latest' | |
| run: | | |
| brew install postgresql | |
| brew services start postgresql | |
| sleep 5 | |
| createuser -s postgres | |
| psql -d postgres -c "ALTER USER postgres PASSWORD 'postgres';" | |
| createdb testdb | |
| - name: Wait for PostgreSQL to start | |
| run: sleep 5 | |
| - name: Check PostgreSQL | |
| env: | |
| PGPASSWORD: postgres | |
| run: psql -h localhost -U postgres -c 'SELECT version();' | |
| - name: Prepare PostgreSQL dataset | |
| env: | |
| PGPASSWORD: postgres | |
| run: | | |
| psql -h localhost -U postgres -d testdb < test/scripts/setup-data-postgresql.sql | |
| psql -h localhost -U postgres -d testdb -c 'SELECT * FROM test_postgresql_table;' | |
| - name: Install Spice (https://install.spiceai.org) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| curl https://install.spiceai.org | /bin/bash | |
| echo "$HOME/.spice/bin" >> $GITHUB_PATH | |
| $HOME/.spice/bin/spice install | |
| - name: Check spice version | |
| run: spice version | |
| - name: Start spice runtime | |
| env: | |
| SPICE_SECRET_POSTGRES_PASSWORD: postgres | |
| working-directory: test/scripts | |
| run: | | |
| spiced &> spice.log & | |
| # time to initialize added dataset | |
| sleep 2 | |
| - name: Run Node.js local runtime tests | |
| run: npm run test:node -- test/local-runtime.test.ts test/local-runtime-params.test.ts test/user-agent.test.ts test/grpc-http-fallback.test.ts | |
| - name: Run performance tests | |
| run: npm run test:perf | |
| - name: Stop spice and check logs | |
| if: always() | |
| run: | | |
| killall spiced || true | |
| cat test/scripts/spice.log | |
| vercel-setup: | |
| name: Setup Vercel Endpoint | |
| runs-on: spiceai-dev-runners | |
| # Don't fail the entire workflow if Vercel is not available | |
| continue-on-error: true | |
| outputs: | |
| vercel-api-endpoint: ${{ steps.vercel.outputs.vercel-api-endpoint }} | |
| vercel-available: ${{ steps.vercel.outcome == 'success' }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup Vercel endpoint | |
| id: vercel | |
| uses: ./.github/actions/setup-vercel-endpoint | |
| with: | |
| vercel-endpoint-override: ${{ secrets.VERCEL_ENDPOINT }} | |
| vercel-bypass-secret: ${{ secrets.VERCEL_AUTOMATION_BYPASS_SECRET }} | |
| branch-name: ${{ github.head_ref || github.ref_name }} | |
| cloud-tests: | |
| name: Cloud Tests (${{ matrix.os }}, Node ${{ matrix.node }}) | |
| runs-on: ${{ matrix.os }} | |
| needs: vercel-setup | |
| # Run even if vercel-setup failed (Vercel tests will be skipped) | |
| if: ${{ always() }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| node: | |
| - 20 | |
| - 22 | |
| - 24 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build project | |
| run: npm run build | |
| - name: Run cloud tests | |
| run: npm test -- test/cloud.test.ts | |
| timeout-minutes: 10 | |
| env: | |
| SPICEAI_API_KEY: ${{ secrets.SPICEAI_API_KEY }} # spice.ai/spiceai/spice-js | |
| SCP_SPICEAI_TPCH_API_KEY: ${{ secrets.SCP_SPICEAI_TPCH_API_KEY }} # spice.ai/spiceai/tpch | |
| HTTP_URL: ${{ secrets.HTTP_URL || 'https://data.spiceai.io' }} | |
| FLIGHT_URL: ${{ secrets.FLIGHT_URL || 'flight.spiceai.io:443' }} | |
| VERCEL_ENDPOINT: ${{ needs.vercel-setup.outputs.vercel-api-endpoint }} | |
| VERCEL_AUTOMATION_BYPASS_SECRET: ${{ secrets.VERCEL_AUTOMATION_BYPASS_SECRET }} | |
| tpch-tests: | |
| name: TPCH Integration Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: 22 | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build project | |
| run: npm run build | |
| - name: Run TPCH integration tests | |
| run: npm test -- test/tpch-integration.test.ts | |
| timeout-minutes: 15 | |
| env: | |
| SCP_SPICEAI_TPCH_API_KEY: ${{ secrets.SCP_SPICEAI_TPCH_API_KEY }} |