Skip to content

Merge pull request #458 from casper-ecosystem/fix-2.15.7 #971

Merge pull request #458 from casper-ecosystem/fix-2.15.7

Merge pull request #458 from casper-ecosystem/fix-2.15.7 #971

name: ci-casper-js-sdk
on:
workflow_dispatch:
push:
branches:
- 'dev'
- 'feat-*'
- 'release-*'
paths-ignore:
- '**.md'
pull_request:
branches:
- 'dev'
- 'feat-*'
- 'release-*'
paths-ignore:
- '**.md'
jobs:
build:
strategy:
fail-fast: false
matrix:
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
node-version: [16.x, 18.x]
os: [ubuntu-20.04, ubuntu-22.04]
runs-on: ${{ matrix.os }}
env:
FAUCET_PRIV_KEY: 'MC4CAQAwBQYDK2VwBCIEII8ULlk1CJ12ZQ+bScjBt/IxMAZNggClWqK56D1/7CbI' #ci/test-assets/secret-key.pem
NODE_URL: 'http://127.0.0.1:7777/rpc'
HTTP_EVENT_STREAM_URL: 'http://127.0.0.1:9999/events/main'
HTTPS_EVENT_STREAM_URL: 'https://events.mainnet.casperlabs.io/events/main'
NETWORK_NAME: 'casper-net-1'
RUST_LOG: 'INFO'
VERSION_QUERY: '{"jsonrpc": "2.0", "id": "1", "method": "info_get_status"}'
MAINNET_NODE_URL: 'https://rpc.mainnet.casperlabs.io/rpc'
TESTNET_NODE_URL: 'https://rpc.testnet.casperlabs.io/rpc'
steps:
- name: Checkout
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b #v3.0.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@5b949b50c3461bbcd5a540b150c368278160234a #v3.4.0
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install
run: npm install
- name: Audits
run: npm audit --omit=dev
- name: Lints
run: npm run lint:ci
- name: Unit Test
run: npm run test:unit
- name: Test docs build
run: npm run docs:build
- name: Test build
run: npm run build
# test mainnet
- name: Get the mainnet version
id: get-mainnet-version
run: echo "MAINNET_VERSION=$(curl -s -X POST --data-raw '${{ env.VERSION_QUERY }}' -H "Content-Type:application/json" ${{ env.MAINNET_NODE_URL }} | jq -r .result.build_version | cut -d "-" -f 1)" >> "$GITHUB_ENV"
- name: Test RPC - mainnet ${{ env.MAINNET_VERSION }}
run: npx casper-node-launcher-js node v${{ env.MAINNET_VERSION }} --daemon && npm run test:e2e && npx casper-node-launcher-js stop
# test testnet
- name: Get the testnet version
id: get-testnet-version
run: echo "TESTNET_VERSION=$(curl -s -X POST --data-raw '${{ env.VERSION_QUERY }}' -H "Content-Type:application/json" ${{ env.TESTNET_NODE_URL }} | jq -r .result.build_version | cut -d "-" -f 1)" >> "$GITHUB_ENV"
- name: Test RPC - testnet ${{ env.TESTNET_VERSION }}
run: npx casper-node-launcher-js node v${{ env.TESTNET_VERSION }} --daemon && npm run test:e2e && npx casper-node-launcher-js stop
- name: Get Latest Casper-Node Tag Version
run: |
echo "CASPER_TAG_VERSION=$(curl -s ${{ env.GH_API_URL }} | jq -r '.[].name' | grep 'v*' | sort -V | sed 's/_$//' | tail -n1)" >> $GITHUB_ENV
env:
GH_API_URL: 'https://api.github.com/repos/casper-network/casper-node/tags'
- name: Test RPC - Casper Node - ${{ env.CASPER_TAG_VERSION }}
# Runs action if the latest version is different from mainnet and testnet
if: ${{ env.CASPER_TAG_VERSION }} != v${{ env.MAINNET_VERSION }} && ${{ env.CASPER_TAG_VERSION }} != v${{ env.TESTNET_VERSION }}
run: npx casper-node-launcher-js node ${{ env.CASPER_TAG_VERSION }} --daemon && npm run test:e2e && npx casper-node-launcher-js stop
- name: Test RPC - Casper Node - DEV
run: npx casper-node-launcher-js node dev --daemon && npm run test:e2e && npx casper-node-launcher-js stop