Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rationalize CI #490

Merged
merged 2 commits into from
Nov 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/auto-author-assign.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
name: 'Auto Author Assign'

on:
Expand Down
34 changes: 0 additions & 34 deletions .github/workflows/build-workflow.yml

This file was deleted.

84 changes: 52 additions & 32 deletions .github/workflows/ci-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,19 @@
---
name: Tests

on:
workflow_dispatch:
push:
branches:
- master
pull_request:
branches:
- master
- develop
workflow_dispatch:
pull_request:

jobs:
scan-build:
name: Clang Static Analyzer
runs-on: ubuntu-latest
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-lite:latest

steps:
- uses: actions/checkout@v3

- name: Build with Clang Static Analyzer
run: |
make clean
scan-build --use-cc=clang -analyze-headers -enable-checker security -enable-checker unix -enable-checker valist -o scan-build --status-bugs make default

- uses: actions/upload-artifact@v3
if: failure()
with:
name: scan-build
path: scan-build

# =====================================================
# ZEMU TESTS
# =====================================================
# =====================================================
# ZEMU TESTS
# =====================================================

building_for_e2e_zemu_tests:
name: Building binaries for E2E Zemu tests
Expand Down Expand Up @@ -97,9 +77,9 @@ jobs:
- name: Run zemu tests
run: cd tests/zemu/ && yarn test

# =====================================================
# SPECULOS TESTS
# =====================================================
# =====================================================
# SPECULOS TESTS
# =====================================================


building_for_e2e_speculos_tests:
Expand Down Expand Up @@ -162,9 +142,9 @@ jobs:
pytest --model ${{ matrix.model }} --path ./elfs/${{ matrix.model }}.elf --display headless


# =====================================================
# RAGGER TESTS
# =====================================================
# =====================================================
# RAGGER TESTS
# =====================================================

build_ragger_elfs:
name: Build app for Ragger tests
Expand All @@ -180,3 +160,43 @@ jobs:
with:
download_app_binaries_artifact: "ragger_elfs"
test_dir: tests/ragger

# =====================================================
# STATIC ANALYSIS
# =====================================================

# Static analysis on the main ETH chain is covered by the guidelines enforcer
scan-build:
name: Clang Static Analyzer on altcoin
runs-on: ubuntu-latest
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest
strategy:
fail-fast: false
matrix:
device: ["nanos", "nanos2", "nanox", "stax"]

steps:
- name: Clone
uses: actions/checkout@v3
with:
submodules: recursive

- name: Build with Clang Static Analyzer
run: |
eval "BOLOS_SDK=\$$(echo ${{ matrix.device }} | tr [:lower:] [:upper:])_SDK" && \
echo "BOLOS_SDK value will be: ${BOLOS_SDK}" && \
make -j ENABLE_SDK_WERROR=1 BOLOS_SDK=${BOLOS_SDK} CHAIN=polygon scan-build

- uses: actions/upload-artifact@v3
if: failure()
with:
name: scan-build
path: scan-build

- name: Upload scan result
if: failure()
uses: actions/upload-artifact@v3
with:
name: scan-build
path: scan-build
36 changes: 18 additions & 18 deletions .github/workflows/lint-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
---
name: Code style check

# This workflow will run linting checks to ensure a level of uniformization among all Ledger applications.
#
# The presence of this workflow is mandatory as a minimal level of linting is required.
# You are however free to modify the content of the .clang-format file and thus the coding style of your application.
# We simply ask you to not diverge too much from the linting of the Boilerplate application.

on:
workflow_dispatch:
push:
branches:
- master
- master
- main
- develop
pull_request:
branches:
- master
- develop

jobs:
job_lint:
name: Lint
runs-on: ubuntu-latest

steps:
- name: Clone
uses: actions/checkout@v3

- name: Lint
uses: DoozyX/[email protected]
with:
source: "./"
extensions: "h,c"
clangFormatVersion: 12.0.1
check_linting:
name: Check linting using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_lint.yml@v1
with:
source: './'
extensions: 'h,c'
version: 12
1 change: 1 addition & 0 deletions .github/workflows/sdk-generation.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
name: Updating the SDK

on:
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/swap-ci-workflow.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
---
name: Swap functional tests

on:
workflow_dispatch:
push:
branches:
- master
- develop
- master
- develop
pull_request:

jobs:
Expand Down
2 changes: 1 addition & 1 deletion src/eth_plugin_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ bool U2BE_from_parameter(const uint8_t* parameter, uint16_t* value);
bool U4BE_from_parameter(const uint8_t* parameter, uint32_t* value);

typedef bool (*PluginAvailableCheck)(void);
typedef void (*PluginCall)(int, void *);
typedef void (*PluginCall)(int, void*);

typedef struct internalEthPlugin_t {
PluginAvailableCheck availableCheck;
Expand Down
Loading