Skip to content

[ECO-5728] Fix presence auto reenter causes NACKs with "not currently attached" after reconnect from transient disconnect #4249

[ECO-5728] Fix presence auto reenter causes NACKs with "not currently attached" after reconnect from transient disconnect

[ECO-5728] Fix presence auto reenter causes NACKs with "not currently attached" after reconnect from transient disconnect #4249

Workflow file for this run

name: Test NodeJS
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
test-node:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [16.x, 18.x, 20.x]
steps:
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2
with:
submodules: 'recursive'
persist-credentials: false
- name: Reconfigure git to use HTTP authentication
run: >
git config --global url."https://github.com/".insteadOf
ssh://git@github.com/
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@f1f314fca9dfce2769ece7d933488f076716723e # v1
with:
node-version: ${{ matrix.node-version }}
# --ignore-scripts skips dependency install/postinstall scripts. The only deps with
# install scripts are esbuild and playwright, which require Node >= 18 and would fail
# the install on the Node 16 leg. None of them are used by the node test path
# (mocha + grunt/webpack/ts-loader), so skipping their scripts keeps Node 16 green.
# The project's own build runs explicitly via `npm run test:node` below.
- run: npm ci --ignore-scripts
- run: npm run test:node
env:
CI: true
- name: Generate private API usage reports
run: npm run process-private-api-data private-api-usage/*.json
- name: Save private API usage data
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: private-api-usage-${{ matrix.node-version }}
path: |
private-api-usage
private-api-usage-reports
- name: Upload test results
if: always()
uses: ably/test-observability-action@5b61d9c59f356b83426cab1b8243dd8bf03c1bea # v1
with:
server-auth: ${{ secrets.TEST_OBSERVABILITY_SERVER_AUTH_KEY }}
path: './junit'