Skip to content

feat: randomInt() is not re-evaluated in Trigger conditions #3297 #9771

feat: randomInt() is not re-evaluated in Trigger conditions #3297

feat: randomInt() is not re-evaluated in Trigger conditions #3297 #9771

Workflow file for this run

name: Unit tests
on: [push, pull_request]
permissions:
contents: read
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: ".node-version"
- name: yarn install
run: |
npm install -g corepack --force
# try and avoid timeout errors
yarn config set httpTimeout 100000
yarn install --immutable
- name: cache node.js runtime downloads
uses: actions/cache@v6
with:
path: .cache/node
key: nodejs-runtimes-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('assets/nodejs-versions.json') }}
- name: fetch node.js runtimes for module children
# The integration tests spawn real module child processes, which must run on the node
# versions their manifests request rather than a stub of the test host's node
run: |
yarn fetch-runtimes
- name: cache prebuilt test modules
uses: actions/cache@v6
with:
path: .cache/test-portal-modules
key: test-portal-modules-${{ hashFiles('companion/test/integration/modules/fetch-portal-module.mts') }}
- name: fetch prebuilt modules for module children
# The generic-http integration test spawns the real published module, downloaded from the
# Bitfocus module portal (pinned + checksum-verified in fetch-portal-module.mts)
run: |
yarn fetch-test-modules
- name: run tests
run: |
yarn test
- name: upload image snapshot failures
if: failure()
uses: actions/upload-artifact@v7
with:
name: image-snapshot-failures-${{ matrix.os }}
path: companion/test/Graphics/__failures__/
if-no-files-found: ignore
retention-days: 7