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 <device> --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 <noreply@anthropic.com>
This commit is contained in:
eskimo
2026-09-06 18:21:16 -04:00
parent 1b70b558c6
commit 4bb1934a34
7 changed files with 3 additions and 169 deletions

View File

@@ -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"

View File

@@ -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"

View File

@@ -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'

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -33,10 +33,9 @@ pytest standalone --tb=short -v --device stax
UI tests compare against golden PNGs under
`standalone/snapshots/<device>/<test_name>/`. Regenerate with
`../scripts/test <device> --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 <device> --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.