From 05c9b4b5b2816fd0ca304873e5a7cb236f7b10a8 Mon Sep 17 00:00:00 2001 From: Carlos Medeiros <104493454+chcmedeiros@users.noreply.github.com> Date: Thu, 3 Apr 2025 09:13:17 -0500 Subject: [PATCH] Fix CI (#364) * revert flag * fix CI * fix static analysis issue --------- Co-authored-by: abenso --- .github/workflows/main.yml | 143 ++++++++++++++++++++++++++++++++----- app/Makefile.erc20 | 2 - deps/ethereum | 2 +- 3 files changed, 126 insertions(+), 21 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 28e263ddf..617fba03f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,14 +58,29 @@ jobs: cd ./app/rust cargo clippy --all-targets --features "full,clippy" + setup_rust: + runs-on: ubuntu-latest + outputs: + cargo_home: ${{ steps.set_paths.outputs.cargo_home }} + rustup_home: ${{ steps.set_paths.outputs.rustup_home }} + steps: + - id: set_paths + run: | + echo "cargo_home=$GITHUB_WORKSPACE/app/rust/.cargo" >> $GITHUB_OUTPUT + echo "rustup_home=$GITHUB_WORKSPACE/app/rust/.rustup" >> $GITHUB_OUTPUT + build_ledger: - needs: configure + needs: [configure, setup_rust] runs-on: ubuntu-latest container: image: zondax/ledger-app-builder:latest - options: --user ${{ needs.configure.outputs.uid_gid }} + options: --user root env: BOLOS_SDK: /opt/nanosplus-secure-sdk + HOME: /root + CARGO_HOME: ${{ needs.setup_rust.outputs.cargo_home }} + RUSTUP_HOME: ${{ needs.setup_rust.outputs.rustup_home }} + PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${{ needs.setup_rust.outputs.cargo_home }}/bin outputs: size: ${{steps.build.outputs.size}} steps: @@ -73,21 +88,40 @@ jobs: uses: actions/checkout@v4 with: submodules: recursive + - name: Setup Rust environment + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: thumbv6m-none-eabi + override: true + - name: Cache Rust dependencies + uses: actions/cache@v3 + with: + path: | + ${{ needs.setup_rust.outputs.cargo_home }} + target/ + key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-rust- - name: Build Standard app id: build shell: bash -l {0} run: | make PRODUCTION_BUILD=0 - echo "size=$(python3 deps/ledger-zxlib/scripts/getSize.py s)" >> $GITHUB_OUTPUT + echo "size=$(python3 deps/ledger-zxlib/scripts/getSize.py s2)" >> $GITHUB_OUTPUT build_ledger_production: - needs: configure + needs: [configure, setup_rust] runs-on: ubuntu-latest container: image: zondax/ledger-app-builder:latest - options: --user ${{ needs.configure.outputs.uid_gid }} + options: --user root env: BOLOS_SDK: /opt/nanosplus-secure-sdk + HOME: /root + CARGO_HOME: ${{ needs.setup_rust.outputs.cargo_home }} + RUSTUP_HOME: ${{ needs.setup_rust.outputs.rustup_home }} + PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${{ needs.setup_rust.outputs.cargo_home }}/bin outputs: size: ${{steps.build.outputs.size}} steps: @@ -95,12 +129,28 @@ jobs: uses: actions/checkout@v4 with: submodules: recursive + - name: Setup Rust environment + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: thumbv6m-none-eabi + override: true + profile: minimal + - name: Cache Rust dependencies + uses: actions/cache@v3 + with: + path: | + ${{ needs.setup_rust.outputs.cargo_home }} + target/ + key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-rust- - name: Build Production app id: build shell: bash -l {0} run: | make PRODUCTION_BUILD=1 - echo "size=$(python3 deps/ledger-zxlib/scripts/getSize.py s)" >> $GITHUB_OUTPUT + echo "size=$(python3 deps/ledger-zxlib/scripts/getSize.py s2)" >> $GITHUB_OUTPUT tests_zemu_setup: if: ${{ !contains(toJSON(github.event.commits[*].message), '[skip-zemu]') }} @@ -182,22 +232,41 @@ jobs: path: tests_zemu/snapshots-tmp/ build_package_nanosp: - needs: [configure, build_ledger, tests_zemu_setup, test_zemu, rust_tests] + needs: [configure, setup_rust, build_ledger, tests_zemu_setup, test_zemu, rust_tests] if: ${{ github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest container: image: zondax/ledger-app-builder:latest - options: --user ${{ needs.configure.outputs.uid_gid }} + options: --user root env: BOLOS_SDK: /opt/nanosplus-secure-sdk + HOME: /root + CARGO_HOME: ${{ needs.setup_rust.outputs.cargo_home }} + RUSTUP_HOME: ${{ needs.setup_rust.outputs.rustup_home }} + PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${{ needs.setup_rust.outputs.cargo_home }}/bin steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive + - name: Setup Rust environment + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: thumbv6m-none-eabi + override: true + profile: minimal + - name: Cache Rust dependencies + uses: actions/cache@v3 + with: + path: | + ${{ needs.setup_rust.outputs.cargo_home }} + target/ + key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-rust- - name: Install deps - run: pip install ledgerblue - + run: pip install --break-system-packages ledgerblue - name: Build NanoSP shell: bash -l {0} run: | @@ -218,22 +287,41 @@ jobs: prerelease: false build_package_stax: - needs: [configure, build_ledger, tests_zemu_setup, test_zemu, rust_tests] + needs: [configure, setup_rust, build_ledger, tests_zemu_setup, test_zemu, rust_tests] if: ${{ github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest container: image: zondax/ledger-app-builder:latest - options: --user ${{ needs.configure.outputs.uid_gid }} + options: --user root env: BOLOS_SDK: /opt/stax-secure-sdk + HOME: /root + CARGO_HOME: ${{ needs.setup_rust.outputs.cargo_home }} + RUSTUP_HOME: ${{ needs.setup_rust.outputs.rustup_home }} + PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${{ needs.setup_rust.outputs.cargo_home }}/bin steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive + - name: Setup Rust environment + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: thumbv6m-none-eabi + override: true + profile: minimal + - name: Cache Rust dependencies + uses: actions/cache@v3 + with: + path: | + ${{ needs.setup_rust.outputs.cargo_home }} + target/ + key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-rust- - name: Install deps - run: pip install ledgerblue - + run: pip install --break-system-packages ledgerblue - name: Build Stax shell: bash -l {0} run: | @@ -254,22 +342,41 @@ jobs: prerelease: false build_package_flex: - needs: [configure, build_ledger, tests_zemu_setup, test_zemu, rust_tests] + needs: [configure, setup_rust, build_ledger, tests_zemu_setup, test_zemu, rust_tests] if: ${{ github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest container: image: zondax/ledger-app-builder:latest - options: --user ${{ needs.configure.outputs.uid_gid }} + options: --user root env: BOLOS_SDK: /opt/flex-secure-sdk + HOME: /root + CARGO_HOME: ${{ needs.setup_rust.outputs.cargo_home }} + RUSTUP_HOME: ${{ needs.setup_rust.outputs.rustup_home }} + PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${{ needs.setup_rust.outputs.cargo_home }}/bin steps: - name: Checkout uses: actions/checkout@v4 with: submodules: recursive + - name: Setup Rust environment + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: thumbv6m-none-eabi + override: true + profile: minimal + - name: Cache Rust dependencies + uses: actions/cache@v3 + with: + path: | + ${{ needs.setup_rust.outputs.cargo_home }} + target/ + key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-rust- - name: Install deps - run: pip install ledgerblue - + run: pip install --break-system-packages ledgerblue - name: Build Flex shell: bash -l {0} run: | diff --git a/app/Makefile.erc20 b/app/Makefile.erc20 index 4b0537cfd..50da522df 100755 --- a/app/Makefile.erc20 +++ b/app/Makefile.erc20 @@ -23,8 +23,6 @@ CHAIN_ID = 43114 TICKER = "AVAX" CFLAGS += -DMAJOR_VERSION=$(APPVERSION_M) -DMINOR_VERSION=$(APPVERSION_N) -DPATCH_VERSION=$(APPVERSION_P) -# Suppress warning about unused but set variable -CFLAGS += -Wno-unused-but-set-variable DEFINES += HAVE_ETH_INTEGRATION HAVE_ETH2 USE_LIB_ETHEREUM DEFINES += HAVE_BYPASS_SIGNATURES diff --git a/deps/ethereum b/deps/ethereum index df7acb056..607d8826d 160000 --- a/deps/ethereum +++ b/deps/ethereum @@ -1 +1 @@ -Subproject commit df7acb05690111533f2adb8937771dd8ed8bec19 +Subproject commit 607d8826d0b5ce68ade646e5c0598a9e1bd130ad