Skip to content

Ozone E2E Tests

Ozone E2E Tests #369

Workflow file for this run

name: Ozone E2E Tests
on:
schedule:
- cron: '0 0 * * 1,3,5'
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
inputs:
environment:
description: 'Choose test environment'
required: true
default: 'dev'
type: choice
options:
- dev
- qa
- demo
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
repository: ${{ github.repository }}
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Cache dependencies
id: cache
uses: actions/cache@v4
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install
- name: Install Playwright browsers
run: npx playwright install chromium
- name: Run E2E tests
id: jobStatusPretty
env:
TEST_ENVIRONMENT: '${{ github.event.inputs.environment }}'
KEYCLOAK_USERNAME: '${{ secrets.KEYCLOAK_USERNAME }}'
KEYCLOAK_PASSWORD: '${{ secrets.KEYCLOAK_PASSWORD }}'
run: |
npm run e2e-tests-pro
if: ${{ github.event_name != 'pull_request' }}
if [[ ${{ job.status }} == "success" ]]; then
jobStatusPretty="✅ Passing"
else
jobStatusPretty="❌ Failing"
fi
echo "jobStatusPretty=$jobStatusPretty" >> "$GITHUB_ENV"
- name: Notify Slack
if: ${{ github.event_name != 'pull_request' }}
id: slack
uses: slackapi/[email protected]
with:
payload: |
{
"blocks": [
{
"type": "rich_text",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "GitHub Actions report from "
},
{
"type": "link",
"url": "https://github.com/ozone-his/ozone-e2e",
"text": "${{ github.repository }}",
"style": {
"bold": false
}
},
{
"type": "text",
"text": ":\n"
}
]
},
{
"type": "rich_text_quote",
"elements": [
{
"type": "link",
"url": "https://ozone-dev.mekomsolutions.net",
"text": "Ozone Dev"
},
{
"type": "text",
"text": " server QA status: ${{ env.jobStatusPretty }}"
}
]
}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
- name: Upload report
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30