Skip to content

Commit

Permalink
Merge pull request #490 from LedgerHQ/fbe/mix_ci
Browse files Browse the repository at this point in the history
Rationalize CI
  • Loading branch information
fbeutin-ledger authored Nov 9, 2023
2 parents 71f7fc4 + e45a0f7 commit 4297957
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 87 deletions.
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

0 comments on commit 4297957

Please sign in to comment.