From 4bb1934a342eb9d6fd23e4261ac72b02198212b9 Mon Sep 17 00:00:00 2001 From: eskimo Date: Sun, 6 Sep 2026 18:21:16 -0400 Subject: [PATCH] Remove the GitHub-only CI config Every one of the five workflows was boilerplate whose entire body was a call to a reusable workflow hosted at LedgerHQ/ledger-app-workflows. Gitea cannot resolve a GitHub-hosted reusable workflow, so they could only ever appear as broken runs: build_and_functional_tests, coding_style_checks, guidelines_enforcer, misspellings_checks and python_tests_checks. dependabot.yml goes with them, since Gitea does not read it either. Kept .github/PULL_REQUEST_TEMPLATE.md, which Gitea does support, and copilot-instructions.md, which is documentation rather than CI. tests/README.md no longer points at the workflow for regenerating snapshots; ./scripts/test --golden_run is the only route now. There is no automated CI after this. ./scripts/test runs the full suite against speculos in Docker, 66 tests on each of the five devices. Co-Authored-By: Claude Opus 5 --- .github/dependabot.yml | 14 ------ .../workflows/build_and_functional_tests.yml | 50 ------------------- .github/workflows/coding_style_checks.yml | 24 --------- .github/workflows/guidelines_enforcer.yml | 27 ---------- .github/workflows/misspellings_checks.yml | 22 -------- .github/workflows/python_tests_checks.yml | 28 ----------- tests/README.md | 7 ++- 7 files changed, 3 insertions(+), 169 deletions(-) delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/build_and_functional_tests.yml delete mode 100644 .github/workflows/coding_style_checks.yml delete mode 100644 .github/workflows/guidelines_enforcer.yml delete mode 100644 .github/workflows/misspellings_checks.yml delete mode 100644 .github/workflows/python_tests_checks.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 5462dbb..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,14 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - -version: 2 -updates: - - package-ecosystem: "cargo" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "daily" - allow: - - dependency-name: "ledger_device_sdk" - - dependency-name: "include_gif" diff --git a/.github/workflows/build_and_functional_tests.yml b/.github/workflows/build_and_functional_tests.yml deleted file mode 100644 index c198920..0000000 --- a/.github/workflows/build_and_functional_tests.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Build and run functional tests using ragger through reusable workflow - -# This workflow will build the app and then run functional tests using the Ragger framework upon Speculos emulation. -# It calls a reusable workflow developed by Ledger's internal developer team to build the application and upload the -# resulting binaries. -# It then calls another reusable workflow to run the Ragger tests on the compiled application binary. -# -# The build part of this workflow is mandatory, this ensures that the app will be deployable in the Ledger App Store. -# While the test part of this workflow is optional, having functional testing on your application is mandatory and this workflow and -# tooling environment is meant to be easy to use and adapt after forking your application - -permissions: - contents: write - actions: write - pull-requests: write - -on: - workflow_dispatch: - inputs: - golden_run: - type: choice - required: true - default: 'Raise an error (default)' - description: CI behavior if the test snapshots are different than expected. - options: - - 'Raise an error (default)' - - 'Open a PR' - push: - branches: - - master - - main - - develop - pull_request: - -jobs: - build_application: - name: Build application using the reusable workflow - uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1 - with: - upload_app_binaries_artifact: "app_handshake_binaries" - builder: ledger-app-builder - - tests_standalone: - name: Run standalone ragger tests using the reusable workflow - needs: build_application - uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_ragger_tests.yml@v1 - with: - download_app_binaries_artifact: "app_handshake_binaries" - regenerate_snapshots: ${{ github.event_name == 'workflow_dispatch' && inputs.golden_run == 'Open a PR' }} - test_dir: "tests/standalone" diff --git a/.github/workflows/coding_style_checks.yml b/.github/workflows/coding_style_checks.yml deleted file mode 100644 index 11d49c7..0000000 --- a/.github/workflows/coding_style_checks.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Run coding style check - -# This workflow will run linting checks to ensure a level of code quality among all Ledger applications. -# -# The presence of this workflow is mandatory as a minimal level of linting is required. - -permissions: - contents: read - -on: - workflow_dispatch: - push: - branches: - - master - - main - - develop - pull_request: - -jobs: - check_linting: - name: Check linting using the reusable workflow - uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_lint.yml@v1 - with: - source: './src' diff --git a/.github/workflows/guidelines_enforcer.yml b/.github/workflows/guidelines_enforcer.yml deleted file mode 100644 index b9306ac..0000000 --- a/.github/workflows/guidelines_enforcer.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Ensure compliance with Ledger guidelines - -# This workflow is mandatory in all applications -# It calls a reusable workflow guidelines_enforcer developed by Ledger's internal developer team. -# The successful completion of the reusable workflow is a mandatory step for an app to be available on the Ledger -# application store. -# -# More information on the guidelines can be found in the repository: -# LedgerHQ/ledger-app-workflows/ - -permissions: - contents: read - actions: write - -on: - workflow_dispatch: - push: - branches: - - master - - main - - develop - pull_request: - -jobs: - guidelines_enforcer: - name: Call Ledger guidelines_enforcer - uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_guidelines_enforcer.yml@v1 diff --git a/.github/workflows/misspellings_checks.yml b/.github/workflows/misspellings_checks.yml deleted file mode 100644 index e476e05..0000000 --- a/.github/workflows/misspellings_checks.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Misspellings checks - -# This workflow performs some misspelling checks on the repository -# It is there to help us maintain a level of quality in our codebase and does not have to be kept on forked -# applications. - -permissions: - contents: read - -on: - workflow_dispatch: - push: - branches: - - master - - main - - develop - pull_request: - -jobs: - misspell: - name: Check misspellings - uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_spell_check.yml@v1 diff --git a/.github/workflows/python_tests_checks.yml b/.github/workflows/python_tests_checks.yml deleted file mode 100644 index 2afc7e7..0000000 --- a/.github/workflows/python_tests_checks.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Checks on the Python tests -permissions: - contents: read - -# This workflow performs some checks on the Python client used by the ragger tests -# It is there to help us maintain a level of quality in our codebase and does not have to be kept on forked -# applications. - -on: - workflow_dispatch: - push: - branches: - - master - - main - - develop - pull_request: - -jobs: - lint: - name: Call Ledger Python linters - uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_python_checks.yml@v1 - with: - run_linter: pylint - run_type_check: true - src_directory: application_client - setup_directory: tests - req_directory: tests - diff --git a/tests/README.md b/tests/README.md index 4649a4e..b2bd35b 100644 --- a/tests/README.md +++ b/tests/README.md @@ -33,10 +33,9 @@ pytest standalone --tb=short -v --device stax UI tests compare against golden PNGs under `standalone/snapshots///`. Regenerate with -`../scripts/test --golden_run`, or through the "Build and run -functional tests" workflow with `golden_run` set to "Open a PR". Read the diff -before committing one: those images are the record of what the user is shown -before they approve a signature. +`../scripts/test --golden_run`. Read the diff before committing one: +those images are the record of what the user is shown before they approve a +signature. `standalone/test_sign_tx_policy.py` deliberately needs none of them: every case there is refused before the device draws anything.