Skip to content

feat: Added configuration option for allocating HBar for a test run. #564

feat: Added configuration option for allocating HBar for a test run.

feat: Added configuration option for allocating HBar for a test run. #564

name: Conformity Test Workflow
on:
pull_request:
branches: [main, release/**]
push:
branches: [main, release/**]
tags: [v*]
jobs:
clone-and-build-execution-apis:
runs-on: smart-contracts-linux-medium
steps:
- name: Checkout execution-apis repo
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
ref: 7907424db935b93c2fe6a3c0faab943adebe8557
repository: 'ethereum/execution-apis'
path: 'execution-apis'
- name: Use Node.js TLS 18
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 18
- name: Install dependencies
run: npm install
working-directory: ./execution-apis
- name: Build project
run: npm run build
working-directory: ./execution-apis
- name: Upload openrpc.json as an artifact
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: openrpc
path: ./execution-apis/openrpc.json
build-and-test:
runs-on: smart-contracts-linux-medium
needs: clone-and-build-execution-apis
steps:
- name: Checkout repository
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Use Node.js TLS 18
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 18
- name: Install make
run: sudo apt-get update; sudo apt-get install build-essential -y
- name: Checkout repo
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Install packages
run: npm ci
- name: Create .env file
run: cp ./packages/server/tests/localAcceptance.env .env
- name: Install pnpm
run: npm install -g pnpm
- name: Build Typescript
run: npx lerna run build
- name: Install hedera local
run: npm install @hashgraph/hedera-local -g
- name: Set operator id and key env variable if CI is manual
if: ${{ inputs.operator_id }}
run: |
echo "OPERATOR_ID_MAIN=${{ inputs.operator_id }}" >> $GITHUB_ENV
echo "OPERATOR_KEY_MAIN=${{ inputs.operator_key }}" >> $GITHUB_ENV
- name: Run hedera local
run: npx hedera restart -d --network-tag=${{inputs.networkTag}} --mirror-tag=${{inputs.mirrorTag}} --verbose=trace
- name: Stop relay
run: docker stop json-rpc-relay json-rpc-relay-ws
- name: Download openrpc.json artifact
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: openrpc
- name: Rename file
run: mv openrpc.json openrpc_exec_apis.json
- name: Add ws specific env variables
run: |
echo "SUBSCRIPTIONS_ENABLED=true" >> .env
echo "TEST_WS_SERVER=true" >> .env
- name: Run conformity tests
run: npm run acceptancetest:rpc_api_schema_conformity