Skip to content

Commit d0b5c1c

Browse files
authored
Merge pull request #5 from broxus/blooo-io
Stax/Flex support by Blooo io
2 parents d5a7ecd + 7695775 commit d0b5c1c

File tree

393 files changed

+4251
-5605
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

393 files changed

+4251
-5605
lines changed

.clang-format

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
BasedOnStyle: Google
3+
IndentWidth: 4
4+
Language: Cpp
5+
ColumnLimit: 100
6+
DerivePointerAlignment: false
7+
PointerAlignment: Left
8+
AlignAfterOpenBracket: Align
9+
AlignConsecutiveMacros: true
10+
11+
AllowAllParametersOfDeclarationOnNextLine: false
12+
SortIncludes: false
13+
SpaceAfterCStyleCast: true
14+
AllowShortCaseLabelsOnASingleLine: false
15+
AllowAllArgumentsOnNextLine: false
16+
AllowShortBlocksOnASingleLine: Never
17+
AllowShortFunctionsOnASingleLine: None
18+
BinPackArguments: false
19+
BinPackParameters: false
20+
---
21+

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Checklist
2+
<!-- Put an `x` in each box when you have completed the items. -->
3+
- [ ] App update process has been followed <!-- See comment below -->
4+
- [ ] Target branch is `develop` <!-- unless you have a very good reason -->
5+
- [ ] Application version has been bumped <!-- required if your changes are to be deployed -->
6+
7+
<!-- Make sure you followed the process described in https://developers.ledger.com/docs/embedded-app/maintenance/ before opening your Pull Request.
8+
Don't hesitate to contact us directly on Discord if you have any questions ! https://developers.ledger.com/discord -->

.github/workflows/build-workflow.yml

Lines changed: 0 additions & 34 deletions
This file was deleted.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Build and run functional tests using ragger through reusable workflow
2+
3+
# This workflow will build the app and then run functional tests using the Ragger framework upon Speculos emulation.
4+
# It calls a reusable workflow developed by Ledger's internal developer team to build the application and upload the
5+
# resulting binaries.
6+
# It then calls another reusable workflow to run the Ragger tests on the compiled application binary.
7+
#
8+
# The build part of this workflow is mandatory, this ensures that the app will be deployable in the Ledger App Store.
9+
# While the test part of this workflow is optional, having functional testing on your application is mandatory and this workflow and
10+
# tooling environment is meant to be easy to use and adapt after forking your application
11+
12+
on:
13+
workflow_dispatch:
14+
inputs:
15+
golden_run:
16+
type: choice
17+
required: true
18+
default: 'Raise an error (default)'
19+
description: CI behavior if the test snapshots are different than expected.
20+
options:
21+
- 'Raise an error (default)'
22+
- 'Open a PR'
23+
push:
24+
branches:
25+
- master
26+
- main
27+
- develop
28+
pull_request:
29+
30+
jobs:
31+
build_application:
32+
name: Build application using the reusable workflow
33+
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
34+
with:
35+
upload_app_binaries_artifact: "compiled_app_binaries"
36+
37+
ragger_tests:
38+
name: Run ragger tests using the reusable workflow
39+
needs: build_application
40+
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_ragger_tests.yml@v1
41+
with:
42+
download_app_binaries_artifact: "compiled_app_binaries"
43+
regenerate_snapshots: ${{ inputs.golden_run == 'Open a PR' }}

.github/workflows/ci-workflow.yml

Lines changed: 0 additions & 97 deletions
This file was deleted.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: "CodeQL"
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- master
8+
- main
9+
- develop
10+
pull_request:
11+
# Excluded path: add the paths you want to ignore instead of deleting the workflow
12+
paths-ignore:
13+
- '.github/workflows/*.yml'
14+
- 'tests/*'
15+
16+
jobs:
17+
analyse:
18+
name: Analyse
19+
strategy:
20+
fail-fast: false
21+
matrix:
22+
sdk: ["$NANOX_SDK", "$NANOSP_SDK"]
23+
# 'cpp' covers C and C++
24+
language: ['cpp']
25+
runs-on: ubuntu-latest
26+
container:
27+
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-legacy:latest
28+
29+
steps:
30+
- name: Clone
31+
uses: actions/checkout@v4
32+
33+
- name: Initialize CodeQL
34+
uses: github/codeql-action/init@v3
35+
with:
36+
languages: ${{ matrix.language }}
37+
queries: security-and-quality
38+
39+
# CodeQL will create the database during the compilation
40+
- name: Build
41+
run: |
42+
make BOLOS_SDK=${{ matrix.sdk }}
43+
44+
- name: Perform CodeQL Analysis
45+
uses: github/codeql-action/analyze@v3
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Run coding style check through reusable workflow
2+
3+
# This workflow will run linting checks to ensure a level of uniformization among all Ledger applications.
4+
#
5+
# The presence of this workflow is mandatory as a minimal level of linting is required.
6+
# You are however free to modify the content of the .clang-format file and thus the coding style of your application.
7+
# We simply ask you to not diverge too much from the linting of the everscale application.
8+
9+
on:
10+
workflow_dispatch:
11+
push:
12+
branches:
13+
- master
14+
- main
15+
- develop
16+
pull_request:
17+
18+
jobs:
19+
check_linting:
20+
name: Check linting using the reusable workflow
21+
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_lint.yml@v1
22+
with:
23+
source: './src'
24+
extensions: 'h,c'
25+
version: 12
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Ensure compliance with Ledger guidelines
2+
3+
# This workflow is mandatory in all applications
4+
# It calls a reusable workflow guidelines_enforcer developed by Ledger's internal developer team.
5+
# The successful completion of the reusable workflow is a mandatory step for an app to be available on the Ledger
6+
# application store.
7+
#
8+
# More information on the guidelines can be found in the repository:
9+
# LedgerHQ/ledger-app-workflows/
10+
11+
on:
12+
workflow_dispatch:
13+
push:
14+
branches:
15+
- master
16+
- main
17+
- develop
18+
pull_request:
19+
20+
jobs:
21+
guidelines_enforcer:
22+
name: Call Ledger guidelines_enforcer
23+
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_guidelines_enforcer.yml@v1
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Misspellings checks
2+
3+
# This workflow performs some misspelling checks on the repository
4+
# It is there to help us maintain a level of quality in our codebase and does not have to be kept on forked
5+
# applications.
6+
7+
on:
8+
workflow_dispatch:
9+
push:
10+
branches:
11+
- master
12+
- main
13+
- develop
14+
pull_request:
15+
16+
jobs:
17+
misspell:
18+
name: Check misspellings
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Clone
22+
uses: actions/checkout@v4
23+
24+
- name: Check misspellings
25+
uses: codespell-project/actions-codespell@v2
26+
with:
27+
builtin: clear,rare
28+
check_filenames: true
29+
skip: "*.lock"
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Checks on the Python client
2+
3+
# This workflow performs some checks on the Python client used by the everscale tests
4+
# It is there to help us maintain a level of quality in our codebase and does not have to be kept on forked
5+
# applications.
6+
7+
on:
8+
workflow_dispatch:
9+
push:
10+
branches:
11+
- master
12+
- main
13+
- develop
14+
pull_request:
15+
16+
jobs:
17+
lint:
18+
name: everscale client linting
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Clone
22+
uses: actions/checkout@v4
23+
- name: Installing PIP dependencies
24+
run: |
25+
pip install pylint
26+
pip install -r tests/requirements.txt
27+
- name: Lint Python code
28+
run: pylint --rc tests/setup.cfg tests/application_client/
29+
30+
mypy:
31+
name: Type checking
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Clone
35+
uses: actions/checkout@v4
36+
- name: Installing PIP dependencies
37+
run: |
38+
pip install mypy
39+
pip install -r tests/requirements.txt
40+
- name: Mypy type checking
41+
run: mypy tests/application_client/

0 commit comments

Comments
 (0)