Skip to content

MTV-3375 - Test Automation for OVA VM upload #4259

MTV-3375 - Test Automation for OVA VM upload

MTV-3375 - Test Automation for OVA VM upload #4259

name: Test
on:
pull_request:
env:
CONTAINER_CMD: docker
FORKLIFT_PLUGIN_IMAGE: localhost:5001/forklift-console-plugin:latest
OKD_CONSOLE_YAML: ./ci/yaml/okd-console.yaml
jobs:
linters:
name: Run linters
runs-on: ubuntu-latest
steps:
- name: Increase File Descriptors Limit
run: ulimit -n 4096
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install
- name: Lint, eslint and stylelint
run: yarn lint
- name: Lint, test i18n files
run: yarn test:i18n
- name: Knip
run: yarn knip
build:
name: Build project
runs-on: ubuntu-latest
steps:
- name: Increase File Descriptors Limit
run: ulimit -n 4096
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install
- name: Build project
run: yarn build
test:
name: Run tests and coverage
runs-on: ubuntu-latest
steps:
- name: Increase File Descriptors Limit
run: ulimit -n 4096
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install
- name: Test
run: yarn test:coverage
- name: Test coverage
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
e2e:
name: Run e2e tests
runs-on: ubuntu-latest
env:
BASE_ADDRESS: http://localhost:30080
steps:
- name: Increase File Descriptors Limit
run: ulimit -n 4096
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install
- name: Install testing dependencies
run: cd testing && yarn install
- name: Run pre e2e test tasks
run: yarn e2e:pre-test
- name: Install Playwright browsers
run: cd testing && npx playwright install --with-deps chromium
- name: Wait for application
run: |
timeout 300 bash -c 'until curl -f http://localhost:30080; do sleep 5; done'
- name: Run Playwright tests (upstream only)
run: cd testing && npm run test:upstream
env:
BASE_ADDRESS: http://localhost:30080
- name: Upload Playwright test results
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-test-results
path: |
testing/test-results/
testing/playwright-report/