Squash TM Configuration — Step-by-Step Guide¶
This guide covers the complete configuration of Squash TM for PerfShop after the first startup.
The automatic seed (perfshop-squash-seed) creates the PerfShop QA project.
The SCM and automation servers must be configured manually following the steps below.
Squash TM access¶
| Environment | URL |
|---|---|
| NAS prod | https://perfshop-squash.perfshop.io/squash |
| Docker Desktop / local build | http://localhost:9086/squash |
Login: admin / admin
Admin account
The default Squash TM account is admin / admin (not perfshop).
The password can be changed after the first login.
Step 1 — Source Code Management server (SCM)¶
Administration → Servers (icon in the left bar) → </> tab (Source code management servers) → +
Values to enter¶
| Field | Value |
|---|---|
| Name | PerfShop |
| Type | Git |
| URL | http://perfshop-forgejo:3000/perfshop-ci/ |
| Authentication protocol | basic authentication |
| Login | admin |
| Password | perfshop |
Click Save.
Add the repository¶
In the Repositories section → +:
| Field | Value |
|---|---|
| Repository name | perfshop-tests |
| Branch | main |
| Working folder path | tests/bdd_squash |
Click Add.
The repository appears with its automatic local path (../git-repositories/perfshop%2Dforgejo%3A300.../tests/bdd_squash).
Contents of the perfshop-tests repository
The repository is initialized automatically by perfshop-forgejo-seed at startup.
It contains all the .robot and .py scripts present in test-runner/scripts/.
Step 2 — Automated execution server¶
Administration → Servers → robot tab (Automated execution servers) → +
Values to enter¶
| Field | Value |
|---|---|
| Name | PerfShop |
| Type | Squash Orchestrator |
| Receptionist URL | http://perfshop-orchestrator:7774 |
| Observer URL | http://perfshop-orchestrator:7775 |
| Event bus URL | http://perfshop-orchestrator:38368 |
| Killswitch URL | http://perfshop-orchestrator:7776 |
| Authentication protocol | token authentication |
| Environment tags | linux + robotframework |
RSA RS512 token (mandatory)¶
In the Token field, paste exactly this token:
eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzcXVhc2ggb3JjaGVzdHJhdG9yIiwic3ViIjoic3F1YXNoLXRtIn0.kGOOzOetXc8kRCekQnzwbZ58A38SWFI99fQUQ6ys_eWqH7o1iSfp9xEIdRMTAPOtqNxK8LFwMmj4DlSCT5bB-Hjdi1wP5lyW1408FYfV3pA-ut6mQAJkrOjiRHBs3WwasUhMhwoPvWm5R8u960XQQJbL7e_BWogZCGL6Oct-HMnjevLji1PF-33i15DMdTfhdg0dP-2N2ZeLoRWWnFXXJ0LxQ5Hx13qLZ2o94hlbCoIVAClMpgqvg-saHJY7ym0Zm8Qv76PJcKONuocek_nTRgmRl4XuEH8_WWZShtkPiDEOHZDSctUkjIAi460ka1U4_WZHCIjHtJkbStxDQ-TuXymB7MmwSuKFFMCYGP8-O4PVreGtOru9Pi4ZP6IcdO8zPTOkKTUIYAXR6ckf86uM3WJ0CCEMHOgGe6ynZVOyqfWczTiQB_KPuntIJGSCcXN9YMBejk5OpGPwWHOhfC-m0vZJSp_hZrBPDBhBoJfuwEnVevpud-IdeprmW9ZM5qa4zKtQnVfrgxDDQDDAfLtpcPqi5vxEIcly2pDNQvYahAYzL48O6bWbxzCwFYodsZ0D3GbWHMzoBoIEOZAGdQ_lr0v5vom0vj2qSbjObz1KPcMZUA3LmCZ35aPXcFilqDHUSDQ8BDrAZ1F0T0sE18b2qLwyd1XlJ4lv6zx1ulYTYXE
Click Save.
RS512 token only
The token starts with eyJhbGciOiJSUzUxMiI (RS512).
Never use a token starting with eyJhbGciOiJIUzUxMiJ9 (HS512 personal — does not work here).
Check the available environment¶
After saving, the Available environments section must display:
| Name | Environment tags | Status |
|---|---|---|
perfshop-test-runner |
linux, robotframework |
IDLE |
Step 3 — PerfShop QA project configuration¶
Administration → Projects → PerfShop QA → Automation section
Values to configure¶
| Field | Value |
|---|---|
| BDD implementation technology | Robot Framework |
| BDD script language | English |
| Automation workflow | Squash simple |
| Use the Squash tree in the repository | enabled (blue toggle) |
| Source code management server | PerfShop (http://perfshop-forgejo:3000/perfshop-ci) |
| Repository | perfshop-tests (main) |
| Automated execution server | PerfShop |
| Default environment tags | linux + robotframework |
Click Save.
The Available environments section must display perfshop-test-runner with status IDLE.
Step 4 — Create the test cases¶
Test cases space → PerfShop QA → + → New test case
Automation tab:
| Field | Value (CT-001 example) |
|---|---|
| Eligibility | Eligible |
| Technology | Robot Framework |
| Reference | perfshop-tests/smoke-test.robot |
| Status | Automated |
| Test case | Script reference | Type |
|---|---|---|
CT-001 API smoke test |
perfshop-tests/smoke-test.robot |
Robot Framework |
CT-002 Cart price consistency |
perfshop-tests/CT-002-prix-coherence.robot |
Robot Framework |
CT-003 Cart price pytest |
perfshop-tests/test_prix_panier.py |
pytest / Selenium |
Reference format
Correct format: perfshop-tests/file.robot (no spaces around the /)
Step 5 — Run the tests¶
- Campaigns space → PerfShop QA → + → New campaign
- In the campaign → + → New iteration
- In the iteration → + → Add test cases → select CT-001, CT-002, CT-003
- Click the Run automatically icon (play triangle with gears)
Expected result: Success status (green) on all test cases.
Configuration summary¶
Squash TM (admin/admin)
├── Administration → Servers
│ ├── SCM (code-brackets tab)
│ │ └── PerfShop
│ │ ├── Type: Git
│ │ ├── URL: http://perfshop-forgejo:3000/perfshop-ci/
│ │ ├── Login: admin / perfshop
│ │ └── Repository: perfshop-tests (main)
│ │
│ └── Automated execution (robot tab)
│ └── PerfShop
│ ├── Type: Squash Orchestrator
│ ├── URLs: :7774 (receptionist) / :7775 (observer) / :38368 (event bus) / :7776 (killswitch)
│ ├── Token: eyJhbGciOiJSUzUxMiI... (RS512)
│ └── Environment: perfshop-test-runner [linux, robotframework] IDLE
│
└── Administration → Projects → PerfShop QA → Automation
├── SCM: PerfShop / perfshop-tests (main)
├── Automation server: PerfShop
├── Workflow: Squash simple
├── Technology: Robot Framework
└── Tags: linux + robotframework
Common issues¶
The token is rejected¶
The HS512 token was used instead of the RS512. → Click Clear token then paste the RS512 token above.
The environment does not appear¶
The perfshop-test-runner container is not started.
→ docker compose restart perfshop-orchestrator
The script reference triggers a "file not found" error¶
There are spaces around the / in the reference.
→ Fix to perfshop-tests/smoke-test.robot (no spaces)
The repository does not clone from Squash¶
The URL points to the wrong server or the credentials are incorrect.
→ Check that the SCM URL is http://perfshop-forgejo:3000/perfshop-ci/
→ The login must be admin / perfshop
SCM connection refused — authentication not supported¶
The CI account password contains special characters (/, *) poorly encoded by jGit 6.10.
→ Use a simple alphanumeric password (e.g. perfshop) for the perfshop-ci account.
→ Check the FORGEJO_CI_PASSWORD variable in .env or docker-compose.desktop.yml.