Skip to content

fix: reset version to v0.8.12 #378

fix: reset version to v0.8.12

fix: reset version to v0.8.12 #378

Workflow file for this run

name: Tests
on:
push:
branches:
- main
- master
tags:
- "*"
pull_request:
merge_group:
types: [checks_requested]
workflow_call:
jobs:
lint_test:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: ./scripts/lint_allowed_eth_imports.sh
shell: bash
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
- name: Run shellcheck
shell: bash
run: scripts/shellcheck.sh
- name: Run actionlint
shell: bash
run: scripts/actionlint.sh
- name: go mod tidy
run: |
go mod tidy
git diff --exit-code
- name: Ensure consistent luxd version
shell: bash
run: |
bash -x ./scripts/update_luxd_version.sh
git diff --exit-code
unit_test:
name: Golang Unit Tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-22.04, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "1.25.5"
- name: Set timeout on Windows # Windows UT run slower and need a longer timeout
shell: bash
if: matrix.os == 'windows-latest'
run: echo "TIMEOUT=1200s" >> "$GITHUB_ENV"
- name: CI Setup
run: |
go mod download
shell: bash
- name: fjl/gencodec generated files are up to date
run: |
grep -lr -E '^// Code generated by github\.com\/fjl\/gencodec\. DO NOT EDIT\.$' . | xargs -r rm
go generate -run "github.com/fjl/gencodec" ./...
git add --intent-to-add --all
# Skip go.mod and go.mod.bak changes (version differences)
git diff --exit-code -- . ':!go.mod' ':!go.mod.bak'
- name: Mocks are up to date
shell: bash
run: |
grep -lr -E '^// Code generated by MockGen\. DO NOT EDIT\.$' . | xargs -r rm
go generate -run "go.uber.org/mock/mockgen" ./...
git add --intent-to-add --all
git diff --exit-code
- run: ./scripts/build.sh
shell: bash
- run: ./scripts/build_test.sh
env:
TIMEOUT: ${{ env.TIMEOUT }}
shell: bash
- run: ./scripts/coverage.sh
shell: bash
# E2E tests disabled until node binaries are published
# See: https://github.com/luxfi/node/releases
e2e_precompile:
name: e2e precompile tests
if: ${{ false }} # Disabled: requires pre-built node binaries
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20.13"
- name: NPM Clean Install
run: npm ci
working-directory: ./contracts
- name: Hardhat Clean
run: npx hardhat clean
working-directory: ./contracts
- name: Hardhat Compile
run: npx hardhat compile
working-directory: ./contracts
- name: Install Lux Release
shell: bash
run: BASEDIR=/tmp/e2e-test LUXD_BUILD_PATH=/tmp/e2e-test/luxd ./scripts/install_luxd_release.sh
- name: Build EVM Plugin Binary
shell: bash
run: ./scripts/build.sh
- name: Run E2E Precompile Tests
shell: bash
run: LUXD_BUILD_PATH=/tmp/e2e-test/luxd DATA_DIR=/tmp/e2e-test/precompile-data ./scripts/run_ginkgo_precompile.sh
- name: Upload Artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: evm-e2e-logs-precompile
path: /tmp/e2e-test/precompile-data
retention-days: 5
e2e_warp:
name: e2e warp tests
if: ${{ false }} # Disabled: requires pre-built node binaries
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "20.13"
- name: NPM Clean Install
run: npm ci
working-directory: ./contracts
- name: Hardhat Clean
run: npx hardhat clean
working-directory: ./contracts
- name: Hardhat Compile
run: npx hardhat compile
working-directory: ./contracts
- name: Install Lux Release
shell: bash
run: BASEDIR=/tmp/e2e-test LUXD_BUILD_PATH=/tmp/e2e-test/luxd ./scripts/install_luxd_release.sh
- name: Build EVM Plugin Binary
shell: bash
run: ./scripts/build.sh
- name: Run Warp E2E Tests
uses: luxfi/node/.github/actions/run-monitored-tmpnet-cmd@092cf182dd92b66a8ab882b657d3ae52b174c913
with:
run: ./scripts/run_ginkgo_warp.sh
run_env: LUXD_BUILD_PATH=/tmp/e2e-test/luxd
artifact_prefix: warp
prometheus_username: ${{ secrets.PROMETHEUS_ID || '' }}
prometheus_password: ${{ secrets.PROMETHEUS_PASSWORD || '' }}
loki_username: ${{ secrets.LOKI_ID || '' }}
loki_password: ${{ secrets.LOKI_PASSWORD || '' }}
e2e_load:
name: e2e load tests
if: ${{ false }} # Disabled: requires pre-built node binaries
runs-on: ubuntu-latest
steps:
- name: Git checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
- name: Install Lux Release
shell: bash
run: BASEDIR=/tmp/e2e-test LUXD_BUILD_PATH=/tmp/e2e-test/luxd ./scripts/install_luxd_release.sh
- name: Build EVM Plugin Binary
shell: bash
run: ./scripts/build.sh
- name: Run E2E Load Tests
uses: luxfi/node/.github/actions/run-monitored-tmpnet-cmd@092cf182dd92b66a8ab882b657d3ae52b174c913
with:
run: ./scripts/run_ginkgo_load.sh
run_env: LUXD_BUILD_PATH=/tmp/e2e-test/luxd
artifact_prefix: load
prometheus_username: ${{ secrets.PROMETHEUS_ID || '' }}
prometheus_password: ${{ secrets.PROMETHEUS_PASSWORD || '' }}
loki_username: ${{ secrets.LOKI_ID || '' }}
loki_password: ${{ secrets.LOKI_PASSWORD || '' }}
test_build_image:
name: Image build
if: ${{ false }} # Disabled: requires node docker image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install qemu (required for cross-platform builds)
run: |
sudo apt update
sudo apt -y install qemu-system qemu-user-static
- name: Check image build
shell: bash
run: bash -x scripts/tests.build_docker_image.sh