[UXE-5923] Fix: rename dns endpoint and change code to match project standard #4757
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pre-merge | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
branches: | |
- dev | |
- freezing | |
push: | |
branches: | |
- dev | |
- freezing | |
workflow_dispatch: | |
env: | |
HUSKY: 0 | |
jobs: | |
run-tests: | |
runs-on: ubuntu-latest | |
container: | |
image: node:18-alpine3.18 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install SO deps | |
run: apk add curl bash git | |
- name: Install dependencies | |
run: yarn ci | |
- name: Run lint | |
run: yarn lint | |
- name: Run tests | |
run: yarn test:unit:coverage | |
- name: Upload coverage reports | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage_unit_report | |
path: | | |
coverage/unit/lcov.info | |
coverage/unit/sonar-report.xml | |
retention-days: 1 | |
run-prod-e2e-tests: | |
name: Run Dev E2E Tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
group: [2, 3, 4, 5, 6, 7] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Run Cypress Tests | |
uses: cypress-io/github-action@v6 | |
env: | |
PROD_CYPRESS_EMAIL: ${{ secrets.PROD_CYPRESS_EMAIL }} | |
PROD_CYPRESS_PASSWORD: ${{ secrets.PROD_CYPRESS_PASSWORD }} | |
VITE_ENVIRONMENT: "production" | |
with: | |
build: yarn build | |
start: yarn dev --logLevel=warn | |
browser: chrome | |
wait-on: 'http://localhost:5173/' | |
wait-on-timeout: 120 | |
config-file: cypress.config.prod.js | |
env: environment=prod,grepTags=@dev${{ matrix.group }}+-@xfail+-@dont_run_prod | |
- name: Generate Specs JSON | |
run: yarn generate-specs-json | |
- name: Validate Specs Tags | |
run: node ./scripts/check_tags.js specs.json | |
- name: Move Coverage Files | |
run: mv .nyc_output/out.json .nyc_output/out_${{ matrix.group }}.json | |
- name: Upload Cypress Screenshots | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cypress_screenshots_${{ matrix.group }} | |
path: cypress/screenshots | |
retention-days: 4 | |
- name: Upload Cypress Videos | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: cypress_videos_${{ matrix.group }} | |
path: cypress/videos | |
retention-days: 1 | |
- name: Upload Coverage Files | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage_report_${{ matrix.group }} | |
path: .nyc_output/* | |
retention-days: 1 | |
include-hidden-files: true | |
download_and_merge: | |
name: Download and Merge Coverage Reports | |
needs: run-prod-e2e-tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install Dependencies | |
run: npm install --global nyc | |
- name: Download Coverage Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: coverage_report | |
pattern: coverage_report_* | |
merge-multiple: true | |
- name: Merge Coverage Reports | |
run: npx nyc merge ./coverage_report .nyc_output/out.json | |
- name: Generate Text Coverage Report | |
run: npx nyc report --reporter=text-summary | |
- name: Generate HTML Coverage Report | |
run: npx nyc report --reporter=html --report-dir=./coverage/e2e | |
- name: Generate LCOV Report | |
run: npx nyc report --reporter=lcovonly --report-dir=./coverage/e2e | |
- name: Check E2E Test Coverage | |
if: ${{ always() }} | |
run: node ./scripts/check_coverage.js ./coverage/e2e/lcov.info 20 | |
- name: Compress Coverage Reports | |
if: ${{ always() }} | |
run: zip -r coverage.zip coverage | |
- name: Upload Coverage Report Artifact | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage_e2e_report | |
path: coverage.zip | |
retention-days: 7 | |
sonarcloud: | |
needs: [run-tests, download_and_merge] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: coverage_unit_report | |
- uses: actions/download-artifact@v4 | |
with: | |
name: coverage_e2e_report | |
- name: Extract E2E Coverage Report | |
run: | | |
unzip coverage.zip -d coverage_e2e | |
pwd | |
find ./ | |
- name: SonarCloud Scan | |
uses: sonarsource/[email protected] | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_CLOUD_TOKEN }} |