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. # # While 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 on: workflow_dispatch: inputs: golden_run: type: choice required: true default: 'Raise an error (default)' description: CI behavior if the test snaphots 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: "compiled_app_binaries" ragger_tests: name: Run 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: "compiled_app_binaries" regenerate_snapshots: ${{ inputs.golden_run == 'Open a PR' }}