Update tests to be able to run using a leap dev-install package. #412
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: EOS EVM Contract CI | |
on: | |
push: | |
branches: | |
- main | |
- release/* | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
documentation: | |
name: Attach Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
submodules: 'false' | |
- name: Attach Documentation | |
run: cat .github/workflows/contract.md >> $GITHUB_STEP_SUMMARY | |
build: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
DWITH_TEST_ACTIONS: ['on', 'off'] | |
name: EOS EVM Contract Build - Tests ${{ matrix.DWITH_TEST_ACTIONS }} | |
env: | |
CC: gcc-10 | |
CXX: g++-10 | |
DCMAKE_BUILD_TYPE: 'Release' | |
steps: | |
- name: Authenticate | |
id: auth | |
uses: AntelopeIO/github-app-token-action@v1 | |
with: | |
app_id: ${{ secrets.TRUSTEVM_CI_APP_ID }} | |
private_key: ${{ secrets.TRUSTEVM_CI_APP_KEY }} | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: 'recursive' | |
token: ${{ steps.auth.outputs.token }} | |
- name: Download CDT | |
uses: AntelopeIO/asset-artifact-download-action@v2 | |
with: | |
owner: AntelopeIO | |
repo: cdt | |
target: 'v3.1.0' | |
prereleases: false | |
file: 'cdt_.*amd64.deb' | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install CDT | |
run: sudo apt-get install -y ./cdt*.deb | |
- name: Build EOS EVM Contract | |
run: .github/workflows/build-contract.sh | |
env: | |
DWITH_TEST_ACTIONS: ${{ matrix.DWITH_TEST_ACTIONS }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: contract.test-actions-${{ matrix.DWITH_TEST_ACTIONS }}.tar.gz | |
path: contract.tar.gz | |
if-no-files-found: error | |
- name: Download Leap - dev binary | |
uses: AntelopeIO/asset-artifact-download-action@v2 | |
with: | |
owner: AntelopeIO | |
repo: leap | |
target: 'v3.1.3' | |
prereleases: false | |
file: 'leap-dev.*(x86_64|amd64).deb' | |
container-package: experimental-binaries | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Leap | |
run: sudo apt-get install -y ./leap*.deb | |
- name: Build EOS EVM Contract Tests | |
run: .github/workflows/build-contract-test.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: contract-test.tar.gz | |
path: contract-test.tar.gz | |
if-no-files-found: error | |
- name: Test EOS EVM Contract | |
run: .github/workflows/test-contract.sh | |
env: | |
DWITH_TEST_ACTIONS: ${{ matrix.DWITH_TEST_ACTIONS }} | |
- name: Upload Test Metrics | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-results.xml | |
path: test-results.xml | |
if-no-files-found: error | |
leap-integration: | |
runs-on: ubuntu-20.04 | |
name: EOS EVM Leap Integration Tests | |
env: | |
CC: gcc-10 | |
CXX: g++-10 | |
DCMAKE_BUILD_TYPE: 'Release' | |
steps: | |
- name: Update Package Index & Upgrade Packages | |
run: | | |
sudo apt-get update | |
sudo apt-get upgrade -y | |
- name: Authenticate | |
id: auth | |
uses: AntelopeIO/github-app-token-action@v1 | |
with: | |
app_id: ${{ secrets.TRUSTEVM_CI_APP_ID }} | |
private_key: ${{ secrets.TRUSTEVM_CI_APP_KEY }} | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: 'recursive' | |
token: ${{ steps.auth.outputs.token }} | |
- name: Download CDT | |
uses: AntelopeIO/asset-artifact-download-action@v2 | |
with: | |
owner: AntelopeIO | |
repo: cdt | |
target: 'v3.1.0' | |
prereleases: false | |
file: 'cdt_.*amd64.deb' | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install CDT | |
run: sudo apt-get install -y ./cdt*.deb | |
- name: Build EOS EVM Contract | |
run: .github/workflows/build-contract.sh | |
env: | |
DWITH_TEST_ACTIONS: ${{ matrix.DWITH_TEST_ACTIONS }} | |
- name: Download leap-dev binary | |
uses: AntelopeIO/asset-artifact-download-action@v2 | |
with: | |
owner: AntelopeIO | |
repo: leap | |
target: 'v4' | |
prereleases: false | |
file: 'leap-dev.*(x86_64|amd64).deb' | |
container-package: experimental-binaries | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download leap binary | |
uses: AntelopeIO/asset-artifact-download-action@v2 | |
with: | |
owner: AntelopeIO | |
repo: leap | |
target: 'v4' | |
file: 'leap.*(x86_64|amd64).deb' | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Leap | |
run: | | |
sudo apt-get install -y ./leap*.deb | |
dpkg -L leap-dev | grep TestHarness | |
dpkg -L leap | grep cleos | |
- name: Link Leap TestHarness Module (fix for v4 of leap) | |
run: sudo ln -s /usr/share/leap_testing/tests/TestHarness /usr/lib/python3/dist-packages/TestHarness | |
- name: Build EOS EVM Node | |
run: .github/workflows/build-node.sh | |
env: | |
CC: gcc-10 | |
CXX: g++-10 | |
- name: Install Test Depedencies | |
run: | | |
pip install --upgrade web3 | |
sudo apt install nodejs | |
sudo apt install npm | |
npm install eosjs | |
npm install ethereumjs-util | |
npm install node-fetch | |
npm install http-jsonrpc-server | |
npm install dotenv | |
npm install is-valid-hostname | |
- name: Check Depedency Versions | |
run: | | |
pip show web3 | |
node --version | |
- name: Test Leap Integration | |
run: | | |
mkdir test_run_root | |
cd test_run_root | |
./../tests/leap/nodeos_eos_evm_test.py -v --eos-evm-contract-root ../contract/build --eos-evm-build-root ../build --use-tx-wrapper ../peripherals/tx_wrapper | |
- name: Check Tx_Wrapper Logs | |
if: always() | |
run: | | |
cat $(find . -name tx_wrapper.stderr) | |
- name: Check Genesis | |
if: always() | |
run: | | |
cat $(find . -name eos-evm-genesis.json) | |
- name: Check eos-evm-node Logs | |
if: always() | |
run: | | |
cat $(find . -name eos-evm-node.stderr) | |
- name: Prepare Logs | |
if: failure() | |
run: | | |
cd .. | |
tar -czf leap-int-test-logs.tar.gz test_run_root/* | |
- name: Upload logs from failed tests | |
uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: leap-int-test-logs.tar.gz | |
path: leap-int-test-logs.tar.gz |