Rationalize CI
This commit is contained in:
1
.github/workflows/auto-author-assign.yml
vendored
1
.github/workflows/auto-author-assign.yml
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
name: 'Auto Author Assign'
|
name: 'Auto Author Assign'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
|||||||
34
.github/workflows/build-workflow.yml
vendored
34
.github/workflows/build-workflow.yml
vendored
@@ -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
|
|
||||||
84
.github/workflows/ci-workflow.yml
vendored
84
.github/workflows/ci-workflow.yml
vendored
@@ -1,39 +1,19 @@
|
|||||||
|
---
|
||||||
name: Tests
|
name: Tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
pull_request:
|
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- develop
|
- develop
|
||||||
workflow_dispatch:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
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
|
# ZEMU TESTS
|
||||||
|
# =====================================================
|
||||||
- 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
|
|
||||||
# =====================================================
|
|
||||||
|
|
||||||
building_for_e2e_zemu_tests:
|
building_for_e2e_zemu_tests:
|
||||||
name: Building binaries for E2E Zemu tests
|
name: Building binaries for E2E Zemu tests
|
||||||
@@ -97,9 +77,9 @@ jobs:
|
|||||||
- name: Run zemu tests
|
- name: Run zemu tests
|
||||||
run: cd tests/zemu/ && yarn test
|
run: cd tests/zemu/ && yarn test
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
# SPECULOS TESTS
|
# SPECULOS TESTS
|
||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
|
|
||||||
building_for_e2e_speculos_tests:
|
building_for_e2e_speculos_tests:
|
||||||
@@ -162,9 +142,9 @@ jobs:
|
|||||||
pytest --model ${{ matrix.model }} --path ./elfs/${{ matrix.model }}.elf --display headless
|
pytest --model ${{ matrix.model }} --path ./elfs/${{ matrix.model }}.elf --display headless
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
# RAGGER TESTS
|
# RAGGER TESTS
|
||||||
# =====================================================
|
# =====================================================
|
||||||
|
|
||||||
build_ragger_elfs:
|
build_ragger_elfs:
|
||||||
name: Build app for Ragger tests
|
name: Build app for Ragger tests
|
||||||
@@ -180,3 +160,43 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
download_app_binaries_artifact: "ragger_elfs"
|
download_app_binaries_artifact: "ragger_elfs"
|
||||||
test_dir: tests/ragger
|
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
.github/workflows/lint-workflow.yml
vendored
36
.github/workflows/lint-workflow.yml
vendored
@@ -1,26 +1,26 @@
|
|||||||
|
---
|
||||||
name: Code style check
|
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:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
|
- main
|
||||||
|
- develop
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- develop
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
job_lint:
|
check_linting:
|
||||||
name: Lint
|
name: Check linting using the reusable workflow
|
||||||
runs-on: ubuntu-latest
|
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_lint.yml@v1
|
||||||
|
with:
|
||||||
steps:
|
source: './'
|
||||||
- name: Clone
|
extensions: 'h,c'
|
||||||
uses: actions/checkout@v3
|
version: 12
|
||||||
|
|
||||||
- name: Lint
|
|
||||||
uses: DoozyX/clang-format-lint-action@v0.14
|
|
||||||
with:
|
|
||||||
source: "./"
|
|
||||||
extensions: "h,c"
|
|
||||||
clangFormatVersion: 12.0.1
|
|
||||||
|
|||||||
1
.github/workflows/sdk-generation.yml
vendored
1
.github/workflows/sdk-generation.yml
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
---
|
||||||
name: Updating the SDK
|
name: Updating the SDK
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
|||||||
5
.github/workflows/swap-ci-workflow.yml
vendored
5
.github/workflows/swap-ci-workflow.yml
vendored
@@ -1,11 +1,12 @@
|
|||||||
|
---
|
||||||
name: Swap functional tests
|
name: Swap functional tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- develop
|
- develop
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
Reference in New Issue
Block a user