fix: reset version to v0.8.12 #378
This file contains hidden or 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: 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 |