Skip to content

Test Frontend

Test Frontend #29

name: Test Frontend
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: pr-checks-${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build:
name: Build front-end
runs-on: [ self-hosted, Linux, medium, ephemeral ]
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up Node.js
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
front-end/package-lock.json
- name: Install front-end dependencies
run: npm ci
working-directory: front-end
- name: Build Linux executable
run: npm run build:linux
working-directory: front-end
- name: Cache Build Artifacts
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: front-end/release/linux-unpacked
key: build-artifacts-${{ github.sha }}
test:
name: ${{ matrix.test-suite }}
runs-on: [ self-hosted, Linux, medium, ephemeral ]
needs: build
strategy:
fail-fast: false
matrix:
test-suite:
- RegistrationTests
- LoginTests
- SettingsTests
- TransactionTests
- WorkflowTests
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Set up Node.js
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 20
cache: "npm"
cache-dependency-path: |
automation/package-lock.json
- name: Install automation dependencies
run: npm ci
working-directory: automation
- name: Install hedera globally
run: npm i -g @hashgraph/hedera-local
- name: run hedera local
run: hedera start -d
- name: Restore Build Artifacts
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
fail-on-cache-miss: true
path: front-end/release/linux-unpacked
key: build-artifacts-${{ github.sha }}
- name: Install xvfb
run: sudo apt-get update && sudo apt-get install -y xvfb
- name: Install runtime shared libraries
run: sudo apt-get install --no-install-recommends -y xorg openbox libnss3 libasound2 libatk-adaptor libgtk-3-0
- name: run automation
env:
EXECUTABLE_PATH: ../front-end/release/linux-unpacked/hedera-transaction-tool
PRIVATE_KEY: "0x9a07bbdbb62e24686d2a4259dc88e38438e2c7a1ba167b147ad30ac540b0a3cd"
ENVIRONMENT: LOCALNET
run: xvfb-run -a npx playwright test tests/${{ matrix.test-suite }}
working-directory: automation