name: WebSocket server on: push: branches: - "master" - "[0-9].[0-9]*" paths: - "superset-websocket/**" pull_request: paths: - "superset-websocket/**" types: [synchronize, opened, reopened, ready_for_review] permissions: contents: read # cancel previous workflow jobs for PRs concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} cancel-in-progress: true jobs: app-checks: runs-on: ubuntu-24.04 timeout-minutes: 20 steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: './superset-websocket/.nvmrc' - name: Install dependencies working-directory: ./superset-websocket run: npm ci - name: eslint working-directory: ./superset-websocket run: npm run eslint -- . --quiet - name: typescript checks working-directory: ./superset-websocket run: npm run type - name: prettier working-directory: ./superset-websocket run: npm run prettier-check - name: unit tests working-directory: ./superset-websocket run: npm run test - name: build working-directory: ./superset-websocket run: npm run build