Compare commits

...
Author SHA1 Message Date
dc f2860154b0 test(embed): run va-ddc-host in CI, on a server that has timing=early
Build / Build-and-ng-test (pull_request) Successful in 5m6s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m33s
Build / Build-and-test-development (pull_request) In progress
Closes #449.

- SASJS_SERVER_VERSION 3.6.2 -> 3.12.1 in build.yaml. 3.12.0 is the floor:
  /ddc-host with `timing=early` (the replay that lands before the app
  bootstraps) arrived there, and it is absent from 3.11.3, which has no
  /ddc-host at all.
- DDC_HOST_ENABLED=true in the job's .env. The server 404s /ddc-host unless it
  is set - it is a testing tool and does not announce itself - so enabling the
  spec without this would have failed on the first case.
- va-ddc-host moves from EXCLUDED to the END of SPECS in cypress-specs.sh: it
  clears the DC_JSLIB filter tables before each case, so it must run last on the
  shared mock estate.
2026-11-03 15:25:51 +00:00
2 changed files with 17 additions and 12 deletions

No files matched your search

+9 -10
View File
@@ -25,20 +25,19 @@
# reordering the sequence that was known green.
set -euo pipefail
SPECS="csv-limited hook-programs liveness editor excel-multi-load excel csv filtering filter-panel licensing viewer-labels full-table-search viewbox stage browser-info ddl-export row-cell-limits derived-variables startupservice-launcher coltype-delete-record submitted-details embed-va download metanav"
SPECS="csv-limited hook-programs liveness editor excel-multi-load excel csv filtering filter-panel licensing viewer-labels full-table-search viewbox stage browser-info ddl-export row-cell-limits derived-variables startupservice-launcher coltype-delete-record submitted-details embed-va download metanav va-ddc-host"
# Specs that exist but are held out of CI, each with the reason. Listed here so
# the coverage check below can tell a deliberate exclusion from a forgotten file.
# va-ddc-host drives the app through sasjs/server's /ddc-host page with
# `timing=early`, which needs a server release that carries it - the version this
# job pins does not, so the spec cannot run until SASJS_SERVER_VERSION moves.
# https://git.datacontroller.io/dc/dc/issues/449 tracks re-enabling it.
#
# When it is re-enabled it has to run LAST, or be given its own estate: it clears
# the DC_JSLIB filter tables (mpe_filtersource, mpe_filteranytable,
# mpe_maxkeyvalues) before each case, and every spec in this job shares one mock
# estate. See resetFilterStore in client/cypress/e2e/va-ddc-host.cy.ts.
EXCLUDED="va-ddc-host"
# va-ddc-host used to be listed here: it drives the app through sasjs/server's
# /ddc-host page with `timing=early`, which arrived in server 3.12.0, and the job
# used to pin an older server. It is now last in SPECS instead, and it has to stay
# last, or be given its own estate: it clears the DC_JSLIB filter tables
# (mpe_filtersource, mpe_filteranytable, mpe_maxkeyvalues) before each case, and
# every spec in this job shares one mock estate. See resetFilterStore in
# client/cypress/e2e/va-ddc-host.cy.ts.
EXCLUDED=""
case "${1:-}" in
all)
+8 -2
View File
@@ -3,8 +3,10 @@ run-name: Running Lint Check and Licence checker on Pull Request
on: [pull_request]
env:
# the server the mocked services and app tests run against - bump deliberately
SASJS_SERVER_VERSION: '3.6.2'
# the server the mocked services and app tests run against - bump deliberately.
# 3.12.0 is the floor: /ddc-host carries `timing=early` from there, which
# client/cypress/e2e/va-ddc-host.cy.ts needs.
SASJS_SERVER_VERSION: '3.12.1'
NODE_VERSION: '24.15.0'
jobs:
@@ -230,6 +232,10 @@ jobs:
echo CORS=enable >> .env
echo WHITELIST=http://localhost:4200 >> .env
echo HTTP_PORT=5000 >> .env
# /ddc-host is a testing tool, so the server answers 404 for it unless
# this is set. va-ddc-host.cy.ts drives the app through that page with
# timing=early.
echo DDC_HOST_ENABLED=true >> .env
# The server refuses to run as root unless RUN_AS names an account
# (a security change in the recent releases). This job runs as root
# in a throwaway container, so opt in explicitly.