Skip to content

chore: add e2e smoke test #170

chore: add e2e smoke test

chore: add e2e smoke test #170

Workflow file for this run

name: 'verify pr'
on:
pull_request:
types: ['opened', 'labeled', 'reopened', 'synchronize']
concurrency:
group: ${{ github.workflow}}-${{ github.ref }}
env:
GIT_AUTHOR_NAME: '@dhis2-bot'
GIT_AUTHOR_EMAIL: '[email protected]'
GIT_COMMITTER_NAME: '@dhis2-bot'
GIT_COMMITTER_EMAIL: '[email protected]'
GH_TOKEN: ${{secrets.DHIS2_BOT_GITHUB_TOKEN}}
D2_VERBOSE: true
CI: true
jobs:
setup-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.specs }}
steps:
- uses: actions/checkout@v4
- name: Generate Test matrix
id: set-matrix
run: echo "::set-output name=specs::$(node src/generateTestMatrix.js)"
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Install
run: yarn install --frozen-lockfile
- name: Build
run: yarn d2-app-scripts build
- uses: actions/upload-artifact@v4
with:
name: app-build
path: |
**/build
!**/node_modules
retention-days: 1
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Install
run: yarn install --frozen-lockfile
- name: Generate translations
run: yarn d2-app-scripts i18n generate
- name: Lint
run: yarn d2-style check
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Install
run: yarn install --frozen-lockfile
- name: Test
run: yarn d2-app-scripts test
call-workflow-e2e-smoke:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
needs: [build, lint, test, setup-matrix]
uses: ./.github/workflows/e2e-smoke.yml
with:
should_record: false
secrets:
username: ${{ secrets.CYPRESS_DHIS2_USERNAME }}
password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }}
call-workflow-e2e-prod:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
needs: [call-workflow-e2e-smoke]
uses: dhis2/workflows/.github/workflows/analytics-e2e-tests-prod.yml@feat/support-hardcoded-dev-version
with:
should_record: ${{ contains(github.event.head_commit.message, '[e2e record]') || contains(join(github.event.pull_request.labels.*.name), 'e2e record')}}
spec-group: ${{ needs.setup-matrix.outputs.matrix }}
secrets:
username: ${{ secrets.CYPRESS_DHIS2_USERNAME }}
password: ${{ secrets.CYPRESS_DHIS2_PASSWORD }}
recordkey: ${{ secrets.CYPRESS_RECORD_KEY }}