From fdc43ec9463d9b9430be22611dec294a170a9200 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Wed, 3 Apr 2024 08:59:30 +0200 Subject: [PATCH] Add yamllint CI and codespell CI --- .github/workflows/codeql_checks.yml | 6 +-- .github/workflows/codespell.yml | 23 +++++++++++ .github/workflows/lint-workflow.yml | 7 ++++ .github/workflows/python-client.yml | 62 ++++++++++++++--------------- .yamllint.yml | 7 ++++ 5 files changed, 71 insertions(+), 34 deletions(-) create mode 100644 .github/workflows/codespell.yml create mode 100644 .yamllint.yml diff --git a/.github/workflows/codeql_checks.yml b/.github/workflows/codeql_checks.yml index fb9506442..75d1d1a38 100644 --- a/.github/workflows/codeql_checks.yml +++ b/.github/workflows/codeql_checks.yml @@ -18,9 +18,9 @@ jobs: name: Analyse strategy: matrix: - sdk: [ "$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK", "$STAX_SDK" ] - #'cpp' covers C and C++ - language: [ 'cpp' ] + sdk: ["$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK", "$STAX_SDK"] + # 'cpp' covers C and C++ + language: ['cpp'] runs-on: ubuntu-latest container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-legacy:latest diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 000000000..61d2c7ba8 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,23 @@ +name: Misspelings CI + +on: + workflow_dispatch: + push: + branches: + - master + - main + - develop + pull_request: + +jobs: + misspell: + name: Check misspellings + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Check misspellings + uses: codespell-project/actions-codespell@v2 + with: + builtin: clear,rare + check_filenames: true + path: src, src_bagl, src_common, src_features, src_nbgl, src_plugin_sdk, src_plugins, doc, client diff --git a/.github/workflows/lint-workflow.yml b/.github/workflows/lint-workflow.yml index ca32687e5..583bb6e64 100644 --- a/.github/workflows/lint-workflow.yml +++ b/.github/workflows/lint-workflow.yml @@ -24,3 +24,10 @@ jobs: source: './' extensions: 'h,c' version: 12 + + yamllint: + name: Check yaml files + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - run: yamllint . diff --git a/.github/workflows/python-client.yml b/.github/workflows/python-client.yml index 2c8745bb9..21a0abdd8 100644 --- a/.github/workflows/python-client.yml +++ b/.github/workflows/python-client.yml @@ -44,37 +44,37 @@ jobs: needs: [lint, mypy] steps: - - name: Clone - uses: actions/checkout@v4 - with: - fetch-depth: 0 + - name: Clone + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Build Python package - run: | - pip install --upgrade pip build twine - cd client/ - python -m build; - python -m twine check dist/* - pip install .; - echo "TAG_VERSION=$(python -c 'from ledger_app_clients.ethereum import __version__; print(__version__)')" >> "$GITHUB_ENV" + - name: Build Python package + run: | + pip install --upgrade pip build twine + cd client/ + python -m build; + python -m twine check dist/* + pip install .; + echo "TAG_VERSION=$(python -c 'from ledger_app_clients.ethereum import __version__; print(__version__)')" >> "$GITHUB_ENV" - - name: Check version against CHANGELOG - if: startsWith(github.ref, 'refs/tags/') - run: | - CHANGELOG_VERSION=$(grep -Po '(?<=## \[)(\d+\.)+[^\]]' client/CHANGELOG.md | head -n 1) - if [ "${{ env.TAG_VERSION }}" == "${CHANGELOG_VERSION}" ]; - then - echo 'Package and CHANGELOG versions match!'; - exit 0; - else - echo "Tag '${{ env.TAG_VERSION }}' and CHANGELOG '${CHANGELOG_VERSION}' versions mismatch!"; - exit 1; - fi + - name: Check version against CHANGELOG + if: startsWith(github.ref, 'refs/tags/') + run: | + CHANGELOG_VERSION=$(grep -Po '(?<=## \[)(\d+\.)+[^\]]' client/CHANGELOG.md | head -n 1) + if [ "${{ env.TAG_VERSION }}" == "${CHANGELOG_VERSION}" ]; + then + echo 'Package and CHANGELOG versions match!'; + exit 0; + else + echo "Tag '${{ env.TAG_VERSION }}' and CHANGELOG '${CHANGELOG_VERSION}' versions mismatch!"; + exit 1; + fi - - name: Publish Python package on pypi.org - if: success() && github.event_name == 'push' - run: (cd client && python -m twine upload --verbose dist/*) - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_PUBLIC_API_TOKEN }} - TWINE_NON_INTERACTIVE: 1 + - name: Publish Python package on pypi.org + if: success() && github.event_name == 'push' + run: (cd client && python -m twine upload --verbose dist/*) + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_PUBLIC_API_TOKEN }} + TWINE_NON_INTERACTIVE: 1 diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 000000000..cbd9dc568 --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,7 @@ +--- +extends: default + +rules: + document-start: disable + line-length: disable + truthy: disable