This repository provides a centralized location for GitHub Actions workflows that can be utilized across various DHIS2 repositories.
- ci: Solutions for Continuous Integration.
- automation: Solutions for automating workflows.
Workflows in this repository can be utilized in other repositories by either copying them or by calling them directly if they support the workflow_call
event.
The e2e-prod
workflow provides an end-to-end testing solution, running Cypress E2E tests against various production versions of DHIS2.
To utilize this workflow:
-
In the DHIS2 repository where you wish to implement this workflow, create a new workflow file (e.g.,
.github/workflows/use-e2e-prod.yml
). -
Use the following template to call the central
e2e-prod
workflow:name: Use e2e-prod on: [push, pull_request] # or any other GitHub event jobs: e2e-tests: uses: dhis2/workflows/.github/workflows/analytics-e2e-tests.yml@main secrets: baseurl: ${{ secrets.BASEURL }} # e.g., BASEURL = https://test.e2e.dhis2.org/analytics-dev username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} recordkey: ${{ secrets.RECORDKEY }} # Add any other required secrets
The e2e-prod
workflow facilitates Cypress E2E tests across different versions of the DHIS2 backend. Here's how it operates:
-
Computing Production Versions:
The workflow uses the dhis2/action-supported-legacy-versions GitHub Action to determine which DHIS2 backend versions the app will be tested against. This ensures tests are executed against all relevant DHIS2 instances. -
Testing Across Versions:
Runs E2E tests on various container setups for each backend version, ensuring the application's compatibility across all of them. -
Result Summaries:
Provides a summary of the test results after execution.