Skip to content

Commit

Permalink
Merge branch 'master' into BETA-116
Browse files Browse the repository at this point in the history
  • Loading branch information
simonadomnisoru committed Jul 8, 2024
2 parents d67cc67 + bb44911 commit 2397e73
Show file tree
Hide file tree
Showing 253 changed files with 7,334 additions and 2,626 deletions.
6 changes: 5 additions & 1 deletion .cypress-cucumber-preprocessorrc.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{
"nonGlobalStepDefinitions": true
"nonGlobalStepDefinitions": true,
"stepDefinitions": [
"cypress/support/step_definitions/**/*.{js,ts}",
"cypress/e2e/[filepath].{js,ts}"
]
}
57 changes: 42 additions & 15 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,23 @@ defaults:
shell: bash

jobs:
setup-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.specs }}
steps:
- uses: actions/checkout@v3
- name: Generate test matrix
id: set-matrix
run: |
node cypress/support/generateTestMatrix.js > matrix.json
echo "::set-output name=specs::$(cat matrix.json)"
prerequisites:
runs-on: ubuntu-latest
needs: setup-matrix
outputs:
json-labels: ${{ steps.json-labels.outputs.labels }}
matrix-containers: ${{ steps.matrix-containers.outputs.containers }}
versions: ${{ steps.legacy-versions.outputs.versions }}
steps:
- name: compute-json-labels
Expand All @@ -51,13 +63,6 @@ jobs:
for item in ${arrLabels[@]}; do labels+=\"$item\",; done
echo "::set-output name=labels::[ ${labels%,} ]"
- name: compute-matrix-containers
id: matrix-containers
if: contains(fromJson(steps.json-labels.outputs.labels), github.event.label.name)
run: |
for (( cnt = 1; cnt <= $CYPRESS_CONTAINERS; cnt++)); do containers+=$cnt,; done
echo "::set-output name=containers::[ ${containers%,} ]"
- if: contains(fromJson(steps.json-labels.outputs.labels), github.event.label.name)
uses: actions/checkout@v2

Expand All @@ -75,14 +80,16 @@ jobs:
password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }} # can be removed if maxDHIS2Version has been specified

cypress:
needs: prerequisites
needs: [prerequisites, setup-matrix]
if: contains(fromJson(needs.prerequisites.outputs.json-labels), github.event.label.name)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
versions: ${{ fromJSON(needs.prerequisites.outputs.versions) }}
containers: ${{ fromJSON(needs.prerequisites.outputs.matrix-containers) }}
spec-group: ${{ fromJson(needs.setup-matrix.outputs.matrix) }}
env:
SHOULD_RECORD: ${{ contains(github.event.head_commit.message, '[e2e record]') || contains(join(github.event.pull_request.labels.*.name), 'e2e record') }}
steps:
- uses: actions/checkout@v3

Expand All @@ -96,24 +103,44 @@ jobs:
env:
version: ${{ matrix.versions }}

- name: Set Cypress Environment Variables
run: |
echo "CYPRESS_GROUP=e2e-${{ matrix.versions }}-${{ matrix.spec-group.id }}" >> $GITHUB_ENV
echo "CYPRESS_TAG=${{ github.event_name }}" >> $GITHUB_ENV
echo "CYPRESS_CI_BUILD_ID=${{ github.run_id }}" >> $GITHUB_ENV
echo "CI_BUILD_ID=${{ github.run_id }}" >> $GITHUB_ENV
- name: Debug Environment Variables
run: |
echo "SHOULD_RECORD=${{ env.SHOULD_RECORD }}"
echo "CI Build ID=${{ env.CI_BUILD_ID }}"
echo "Computed Group=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_GROUP || '' }}"
echo "Computed Tag=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_TAG || '' }}"
echo "Computed CI Build ID=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_CI_BUILD_ID || '' }}"
echo "Spec=${{ join(matrix.spec-group.tests, ',') }}"
- name: Cypress run
uses: cypress-io/github-action@v6
with:
record: true
parallel: true
group: e2e-chrome-parallel-${{ matrix.versions }}
record: ${{ env.SHOULD_RECORD }}
parallel: ${{ env.SHOULD_RECORD }}
group: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_GROUP || '' }}
tag: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_TAG || '' }}
ci-build-id: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_CI_BUILD_ID || '' }}
spec: ${{ join(matrix.spec-group.tests, ',') }}
browser: chrome
start: yarn start:forCypress
wait-on: http://localhost:3000
wait-on-timeout: 300
env:
CI: true
CYPRESS_RECORD_KEY: '6b0bce0d-a4e8-417b-bbee-9157cbe9a999'
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_dhis2BaseUrl: ${{ steps.instance-url.outputs.url }}
CYPRESS_dhis2InstanceVersion: ${{matrix.versions}}
CYPRESS_dhis2InstanceVersion: ${{ matrix.versions }}
CYPRESS_dhis2Username: ${{ secrets.CYPRESS_DHIS2_USERNAME }}
CYPRESS_dhis2Password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }}
CYPRESS_dhis2Username_trackerAutoTestRestricted: ${{ secrets.CYPRESS_DHIS2_USERNAME_TRACKER_AUTO_TEST_RESTRICTED }}
CYPRESS_dhis2Password_trackerAutoTestRestricted: ${{ secrets.CYPRESS_DHIS2_PASSWORD_TRACKER_AUTO_TEST_RESTRICTED }}
NODE_OPTIONS: "--openssl-legacy-provider"

call-e2e-tests-result:
Expand Down
51 changes: 41 additions & 10 deletions .github/workflows/verify-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,41 +106,72 @@ jobs:
username: ${{ secrets.CYPRESS_DHIS2_USERNAME }}
password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }}

setup-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.specs }}
steps:
- uses: actions/checkout@v3
- name: Generate test matrix
id: set-matrix
run: |
node cypress/support/generateTestMatrix.js > matrix.json
echo "::set-output name=specs::$(cat matrix.json)"
cypress-dev:
runs-on: ubuntu-latest
needs: instance-version
needs: [instance-version, setup-matrix]
strategy:
# when one test fails, DO NOT cancel the other
# containers, because this will kill Cypress processes
# leaving the Dashboard hanging ...
# https://github.com/cypress-io/github-action/issues/48
fail-fast: false
matrix:
containers: [1, 2, 3, 4, 5]
spec-group: ${{ fromJson(needs.setup-matrix.outputs.matrix) }}
env:
SHOULD_RECORD: ${{ contains(github.event.head_commit.message, '[e2e record]') || contains(join(github.event.pull_request.labels.*.name), 'e2e record') }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.x

- name: Set Cypress Environment Variables
run: |
echo "CYPRESS_GROUP=e2e-chrome-parallel-dev-${{ matrix.spec-group.id }}" >> $GITHUB_ENV
echo "CYPRESS_TAG=${{ github.event_name }}" >> $GITHUB_ENV
echo "CYPRESS_CI_BUILD_ID=${{ github.run_id }}" >> $GITHUB_ENV
echo "CI_BUILD_ID=${{ github.run_id }}" >> $GITHUB_ENV
- name: Debug Environment Variables
run: |
echo "SHOULD_RECORD=${{ env.SHOULD_RECORD }}"
echo "CI Build ID=${{ env.CI_BUILD_ID }}"
echo "Computed Group=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_GROUP || '' }}"
echo "Computed Tag=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_TAG || '' }}"
echo "Computed CI Build ID=${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_CI_BUILD_ID || '' }}"
echo "Spec=${{ join(matrix.spec-group.tests, ',') }}"
- name: Cypress run
uses: cypress-io/github-action@v6
with:
record: true
parallel: true
group: e2e-chrome-parallel-dev
record: ${{ env.SHOULD_RECORD }}
parallel: ${{ env.SHOULD_RECORD }}
group: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_GROUP || '' }}
tag: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_TAG || '' }}
ci-build-id: ${{ env.SHOULD_RECORD == 'true' && env.CYPRESS_CI_BUILD_ID || '' }}
spec: ${{ join(matrix.spec-group.tests, ',') }}
browser: chrome
start: yarn start:forCypress
wait-on: http://localhost:3000
wait-on-timeout: 300
env:
CI: true
CYPRESS_RECORD_KEY: '6b0bce0d-a4e8-417b-bbee-9157cbe9a999'
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_dhis2BaseUrl: ${{ secrets.CYPRESS_DHIS2_INSTANCES_BASE_URL }}/ca-test-dev
CYPRESS_dhis2InstanceVersion: ${{ needs.instance-version.outputs.version }}
CYPRESS_dhis2Username: ${{ secrets.CYPRESS_DHIS2_USERNAME }}
CYPRESS_dhis2Password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }}
CYPRESS_dhis2Username_trackerAutoTestRestricted: ${{ secrets.CYPRESS_DHIS2_USERNAME_TRACKER_AUTO_TEST_RESTRICTED }}
CYPRESS_dhis2Password_trackerAutoTestRestricted: ${{ secrets.CYPRESS_DHIS2_PASSWORD_TRACKER_AUTO_TEST_RESTRICTED }}
NODE_OPTIONS: "--openssl-legacy-provider"

build:
Expand Down
Loading

0 comments on commit 2397e73

Please sign in to comment.