Skip to content

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)

AdministrationServers (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

AdministrationServersrobot 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

AdministrationProjectsPerfShop QAAutomation 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 spacePerfShop 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

  1. Campaigns spacePerfShop QA+New campaign
  2. In the campaign → +New iteration
  3. In the iteration → +Add test cases → select CT-001, CT-002, CT-003
  4. 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.