How to diagnose Github Action parallelization prob...
# help
p
How to diagnose Github Action parallelization problem
You passed the --parallel flag, but we do not parallelize tests across different environments.
The successful runs do not provide the same JSON output that the failed run does, but I believe all of the params are identical.
Copy code
In order to run in parallel mode each machine must send identical environment parameters such as:

 - specs
 - osName
 - osVersion
 - browserName
 - browserVersion (major)

This machine sent the following parameters:

{
  "osName": "linux",
  "osVersion": "Ubuntu - 20.04",
  "browserName": "Chrome",
  "browserVersion": "102.0.5005.61",
  "specs": [
    "cypress/integration/assessment/general.spec.js",
    "cypress/integration/auth.spec.js",
    "cypress/integration/dashboard.spec.js",
    "cypress/integration/exercise_bank/dataset_create.js",
    "cypress/integration/exercise_bank/datasets.spec.js",
    "cypress/integration/exercise_bank/exercise_bank_template.spec.js",
    "cypress/integration/exercise_bank/exercise_bank.spec.js",
    "cypress/integration/home.spec.js",
    "cypress/integration/scroll_tutorial/exercise.spec.js",
    "cypress/integration/scroll_tutorial/general.spec.js",
    "cypress/integration/scroll_tutorial/mastery.spec.js",
    "cypress/integration/scroll_tutorial/no_exercises.spec.js",
    "cypress/integration/scroll_tutorial/question.spec.js",
    "cypress/integration/search.spec.js",
    "cypress/integration/slide_tutorial/exercise.spec.js",
    "cypress/integration/slide_tutorial/general.spec.js",
    "cypress/integration/slide_tutorial/mastery.spec.js",
    "cypress/integration/slide_tutorial/no_exercises.spec.js",
    "cypress/integration/slide_tutorial/question.spec.js",
    "cypress/integration/slide_tutorial/review.spec.js",
    "cypress/integration/split_screen/ide.js",
    "cypress/integration/syllabus.spec.js"
  ]
}

https://on.cypress.io/parallel-group-params-mismatch
error Command failed with exit code 1.
Unfortunately the successful runs on the other 5 machines output data like this:
Copy code
┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        9.7.0                                                                          │
  │ Browser:        Chrome 101 (headless)                                                          │
  │ Node Version:   v14.19.2 (/opt/hostedtoolcache/node/14.19.2/x64/bin/node)                      │
  │ Specs:          22 found (assessment/general.spec.js, auth.spec.js, dashboard.spec.js, exercis │
  │                 e_bank/dataset_create.js, exercise_bank/datasets.spec.js, exercise_bank/exerci │
  │                 se_bank_template.spec.js, exercise_bank/exercise_bank.spec.js, home.spec.js, s │
  │                 croll_tutorial/exercise...)                                                    │
  │ Params:         Tag: false, Group: chrome, Parallel: true                                      │
  │ Run URL:        https://dashboard.cypress.io/projects/{myProjectId}/runs/600                          │
  │ Experiments:    experimentalFetchPolyfill=true                                                 │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
Manually culling through the Github logs they're all using the same OS and version, same browser.
Copy code
Operating System
  Ubuntu
  20.04.4
  LTS

Chromium 104.0.5098.0
The only thing that differs in the CLI command generated is the
machine-id
Copy code
Run cypress-io/github-action@v3
  with:
    command: yarn cypress:run -- --campsite-name staging --env-name staging04 --include-version-override --machine-id machine-3 -- -- --browser chrome --group chrome --parallel --record --ci-build-id sha-120c00e0674063f9911576442782fb0423097e91-time-1654109830
And the really, really fun part is Cypress Dashboard reports all specs passed on both Chrome and Firefox. Chrome only used 5 machines instead of the expected 6, which correlates to the failure I'm attempting to diagnose.
Tests all worked - good. But the Github workflow gets reported as failed - bad.
f
a way to double check what your other 5 machines are sending is to run with the
DEBUG=cypress:server:api
environment variable
2 Views