Skip to content

Enhance CI configuration and testing setup - #127

Merged
mjkatgithub merged 13 commits into
developfrom
feature/ci-full-lane-green
Jun 15, 2026
Merged

Enhance CI configuration and testing setup#127
mjkatgithub merged 13 commits into
developfrom
feature/ci-full-lane-green

Conversation

@mjkatgithub

Copy link
Copy Markdown
Owner
  • Updated CI workflow to run the full lane on every pull request, improving test coverage and stability.
  • Modified test:ci:full command in package.json to streamline testing processes.
  • Added Vitest configuration for forked pools to stabilize coverage runs.
  • Enhanced documentation in README.md and CHANGELOG.md to reflect changes in CI processes and testing requirements.
  • Introduced new unit tests for Matrix client mocks to improve test reliability and maintainability.

- Updated CI workflow to run the full lane on every pull request, improving test coverage and stability.
- Modified `test:ci:full` command in `package.json` to streamline testing processes.
- Added Vitest configuration for forked pools to stabilize coverage runs.
- Enhanced documentation in `README.md` and `CHANGELOG.md` to reflect changes in CI processes and testing requirements.
- Introduced new unit tests for Matrix client mocks to improve test reliability and maintainability.
@mjkatgithub mjkatgithub linked an issue Jun 13, 2026 that may be closed by this pull request
@github-project-automation github-project-automation Bot moved this to Backlog in Decentra Jun 13, 2026
- Restored ownership of the data directory after running `synapse generate` to ensure `homeserver.yaml` overrides are writable, addressing GitHub Actions EACCES errors.
- Updated CHANGELOG to document this fix and its impact on CI processes.
- Modified E2E testing scripts in `package.json` to ensure the third argument for `start-server-and-test` is an npm script name, fixing issues in local and CI environments.
- Added a new section in `README.md` detailing the current state of test layers, including unit, integration, and E2E tests, along with coverage statistics and integration gaps.
- Updated `CHANGELOG.md` to document these changes and their impact on testing processes.
- Updated E2E testing scripts to run Cucumber tests via Node, improving compatibility on Windows and simplifying execution.
- Restored UID ownership for Synapse E2E data directory after configuration patching to ensure proper access to signing keys.
- Merged E2E environment files for streamlined configuration management.
- Enhanced CHANGELOG to document these updates and their implications for testing processes.
- Introduced new E2E login testing scripts to support isolated authentication scenarios, improving test coverage for login processes.
- Updated `package.json` to include new npm scripts for running login-specific E2E tests.
- Enhanced `README.md` with instructions for executing the new login tests.
- Refactored `useMatrixClient` to ensure that the localpart of the username is used during login, improving compatibility with various username formats.
- Updated environment configuration to support new login credentials and ensure proper setup for E2E tests.
- Documented these changes in the CHANGELOG to reflect the enhancements in E2E testing and login functionality.
- Added entries to CHANGELOG for recent improvements in E2E login functionality, including a shared `matrixClientTestDoubles` factory for unit tests.
- Implemented Vitest configuration changes to prevent mock races during tests, ensuring consistent test results.
- Enhanced E2E tests to include new scenarios for user presence and room unread states, improving overall test coverage.
- Introduced data-testid attributes in UI components to facilitate more reliable testing.
- Updated various test scripts to improve robustness and maintainability, including adjustments to timeout settings for better performance.
- Updated CHANGELOG to reflect recent improvements, including the quarantine of unstable E2E scenarios for dedicated follow-up.
- Refactored chat timeline utilities to introduce `isDecryptableChatMessageEvent` and `readChatMessageContent`, enhancing message handling for encrypted events.
- Improved typing indicator functionality by adding a sync handler for better responsiveness.
- Enhanced E2E tests with adjustments to timeout settings and added checks for visibility of UI elements, ensuring more robust testing.
- Updated test scripts to exclude WIP scenarios from the main test runs, streamlining the testing process.
- Added logging functionality to track steps during the seeding process, improving visibility into the execution flow.
- Enhanced error handling in the `run-synapse-e2e.mjs` script to provide clearer output when environment variables are missing.
- Updated `runtime-seed-synapse.mjs` to log significant actions, such as user registration and room creation, aiding in debugging and monitoring.
- Improved overall robustness of E2E tests by ensuring that critical steps are logged for better traceability.
- Updated the E2E seeding scripts to wait for both the registration API and versions endpoint to be ready before proceeding, improving reliability in CI environments.
- Implemented retry logic for transient errors during seed requests, enhancing robustness against network issues.
- Enhanced logging for better visibility into the seeding process and error handling, aiding in debugging and monitoring.
- Updated CHANGELOG to reflect these improvements and their impact on E2E testing processes.
- Updated the E2E seeding scripts to include enhanced error handling for transient seed failures, improving robustness during CI runs.
- Implemented logging for seed process failures and added a warm-up function for the registration API, ensuring readiness before proceeding with tests.
- Enhanced the `isSynapseReadyForSeed` function to probe both client registration and shared-secret endpoints, improving readiness checks.
- Updated CHANGELOG to reflect these enhancements and their impact on E2E testing processes.
…handling

- Updated the `isSynapseReadyForSeed` function to utilize a timeout mechanism for fetching readiness status, enhancing reliability during CI runs.
- Removed the warm-up function for the registration API, streamlining the seeding process while ensuring readiness through improved checks.
- Enhanced error handling in the seeding scripts to better manage transient errors and improve logging for debugging.
- Updated CHANGELOG to reflect these changes and their impact on E2E testing processes.
Comment thread CHANGELOG.md Outdated
Comment thread CHANGELOG.md
- Added entries for improvements in Synapse E2E on Linux CI, including data-dir ownership restoration and fixes for `start-server-and-test` arguments.
- Documented updates to E2E login functionality, unit tests, and CI lane results, ensuring clarity on recent changes and their impact on testing processes.
- Included details on the handling of unstable E2E scenarios and improvements in seeding scripts for better reliability and error management.
- Added detailed guidelines for logging user-visible changes in the CHANGELOG, emphasizing the correct placement and formatting of entries under `[Unreleased]`.
- Updated the issue documentation checklist to reflect the new requirements for CHANGELOG entries, ensuring clarity on how to document changes effectively.
@mjkatgithub
mjkatgithub merged commit f261dcc into develop Jun 15, 2026
5 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Decentra Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

CI: Fix full lane (coverage + full E2E)

1 participant