Rationalize CI

This commit is contained in:
Francois Beutin
2023-11-09 14:34:08 +01:00
parent 71f7fc44e3
commit 480e40ae28
6 changed files with 75 additions and 86 deletions

View File

@@ -1,3 +1,4 @@
---
name: 'Auto Author Assign'
on:

View File

@@ -1,34 +0,0 @@
name: Compilation
on:
push:
branches:
- master
pull_request:
branches:
- master
- develop
workflow_dispatch:
jobs:
nano_release_build:
name: Build release application for NanoS, X and S+
strategy:
matrix:
sdk: ["$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK"]
runs-on: ubuntu-latest
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-lite:latest
steps:
- name: Clone
uses: actions/checkout@v3
- name: Build Ethereum
run: |
make -j BOLOS_SDK=${{ matrix.sdk }}
- name: Build an altcoin
run: |
make clean
make -j BOLOS_SDK=${{ matrix.sdk }} CHAIN=polygon

View File

@@ -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
@@ -97,9 +77,9 @@ jobs:
- name: Run zemu tests
run: cd tests/zemu/ && yarn test
# =====================================================
# SPECULOS TESTS
# =====================================================
# =====================================================
# SPECULOS TESTS
# =====================================================
building_for_e2e_speculos_tests:
@@ -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
@@ -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

View File

@@ -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/clang-format-lint-action@v0.14
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

View File

@@ -1,3 +1,4 @@
---
name: Updating the SDK
on:

View File

@@ -1,11 +1,12 @@
---
name: Swap functional tests
on:
workflow_dispatch:
push:
branches:
- master
- develop
- master
- develop
pull_request:
jobs: