- Add services_disabler.py: parse SERVICES_DISABLED, disable services in host_vars,
remove provider roles from inventory
- Wire apply_services_disabled_from_env into cli/create/inventory/cli.py after deploy
- Add unit tests for all services_disabler functions
- Update hardware.md and variables.md with SERVICES_DISABLED documentation
- Update environment.sh: deploy dashboard with SERVICES_DISABLED=matomo first,
assert dashboard reachable + matomo not reachable, then deploy matomo and assert
reachable; extract assert_http_status / assert_http_status_not helpers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add make purge-all before make install to simulate a fully cleaned state
- Fix APPS to always use web-app-matomo (fewest deps, fastest deploy)
- Add explanatory comments above every make command
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Aligns the script name with the workflow and its purpose.
Updates all references in test-environment.yml and setup.md.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Aligns the workflow filename with its job name and purpose.
Updates all references in ci-orchestrator.yml and act/workflow.sh.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
test-dev-environment-dashboard was triggering test-development.yml a
second time, causing duplicate Environment jobs in the CI run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Stabilize the Pixelfed Playwright logout flow by accepting the real
post-logout states returned by the OIDC provider instead of requiring
a redirect back to Pixelfed only.
- detect the iframe frame and URL more robustly
- handle optional Keycloak logout confirmation
- treat dashboard login visibility as a valid logged-out signal
- accept Pixelfed login screen, Keycloak login screen, or logged-out success page
- avoid false positives by removing broad Pixelfed base URL matching
This fixes the failing Pixelfed E2E test where logout succeeded but the
iframe remained on the "You are logged out" page.
The previous selector `.project-list-wrapper` was not a themed surface and
returned `background-image: none`, causing false negatives in E2E tests.
Replace it with a more accurate and robust selector targeting the actual
themed header surface:
.project-list-wrapper .project-list-title, .project-list-title, .title-bar
This ensures:
- no dependency on existing projects
- compatibility with empty installations
- resilience across Taiga layout variations
The test now validates real themed UI elements instead of structural wrappers.
Makes clear that multiple space- or comma-separated app ids are
supported. Renames the env var, CLI flag (--app → --apps), and all
references in scripts, workflows, and documentation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Resolves deps for each app individually and merges the results,
enabling APP="web-app-taiga web-app-pixelfed make deploy-fresh-purged-app".
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Make the themed routes Playwright test independent from seeded project data.
- replace project card assertion with stable project list wrapper check
- remove hardcoded project detail route expectation
- keep theme verification limited to routes that always exist
This prevents failures on clean Taiga installations without demo projects.
Improve Pixelfed Playwright test stability by handling the additional
Keycloak logout confirmation step.
- Detect and confirm Keycloak logout screen after Pixelfed logout
- Switch iframe URL detection to use real frame navigation instead of query params
- Make logout state detection more robust across redirect flows
This fixes failing E2E tests where logout remained stuck on the
Keycloak "Logging out" screen.
Prefer permitted host commands over approval-required ones, and run
non-permitted commands inside the container at /opt/src/infinito via
make exec to avoid permission prompts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The colorscheme-generator produces --color-rgb-XX-YY tokens. All role style
files were using the non-canonical --color-XX-rgb-YY alias format. Taiga had
a local alias block mapping the old format to the correct one; that block is
now removed as it is no longer needed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>