Skip to content

Guardian CI API Tests(Manual) #152

Guardian CI API Tests(Manual)

Guardian CI API Tests(Manual) #152

Workflow file for this run

name: Guardian CI API Tests(Manual)
on:
workflow_dispatch:
inputs:
tags:
type: string
description: Tags for run(smoke, accounts, firstPool and etc.)
default: 'all'
description: 'Manual run'
jobs:
buildAndTest:
name: Build and Test (Manual)
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 20.10.0 ]
steps:
- name: Harden Runner
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: Checkout Code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
- name: Setup Yarn
uses: Borales/actions-yarn@3766bb1335b98fb13c60eaf358fe20811b730a88 # v5.0.0
with:
cmd: install
- name: Install dependencies
run: yarn install
- name: Build
run: |
yarn
pushd interfaces
yarn run build
popd
pushd common
yarn run build
popd
pushd logger-service
yarn run build
popd
pushd notification-service
yarn run build
popd
pushd frontend
npm install
npm run build
npm run build:prod
npm run build:demo
popd
pushd auth-service
yarn run build
popd
pushd policy-service
yarn run build
popd
pushd guardian-service
yarn run build
popd
pushd worker-service
yarn run build
popd
pushd api-gateway
yarn run build
popd
env:
CI: true
NODE_OPTIONS: --openssl-legacy-provider
- name: Detect secrets
run: |
yarn run detect-secrets
env:
CI: true
NODE_OPTIONS: --openssl-legacy-provider
- name: Lint
run: |
pushd interfaces
npm run lint
popd
pushd common
npm run lint
popd
pushd logger-service
npm run lint
popd
pushd notification-service
npm run lint
popd
pushd auth-service
npm run lint
popd
pushd policy-service
npm run lint
popd
pushd guardian-service
npm run lint
popd
pushd worker-service
npm run lint
popd
pushd api-gateway
npm run lint
popd
env:
CI: true
NODE_OPTIONS: --openssl-legacy-provider
- name: Test
run: |
pushd common
npm run test
popd
pushd policy-service
npm run test
popd
pushd guardian-service
npm run test
popd
env:
CI: true
NODE_OPTIONS: --openssl-legacy-provider
OPERATOR_ID: ${{ secrets.CI_HEDERA_ACCOUNT }}
OPERATOR_KEY: ${{ secrets.CI_HEDERA_PRIV_KEY }}
- name: Run tests with Cypress
run: |
pushd e2e-tests
npm install --force
npx cypress run --env "portApi=3002,operatorId=${{ secrets.CI_HEDERA_ACCOUNT }},operatorKey=${{ secrets.CI_HEDERA_PRIV_KEY }},grepTags=${{ inputs.tags }},grepFilterSpecs=true" --spec cypress/e2e/api-tests/**/*.cy.js
popd
- name: Publish API Test Results
uses: EnricoMi/publish-unit-test-result-action@170bf24d20d201b842d7a52403b73ed297e6645b # v2.18.0
if: always()
with:
files: e2e-tests/cypress/test_results/**/*.xml