Skip to content

⬆️ (ci) [NO-ISSUE]: Bump the actions group across 1 directory with 7 updates #8784

⬆️ (ci) [NO-ISSUE]: Bump the actions group across 1 directory with 7 updates

⬆️ (ci) [NO-ISSUE]: Bump the actions group across 1 directory with 7 updates #8784

Workflow file for this run

name: "[Checks] Pull Request"
on:
pull_request:
types: [opened, synchronize, reopened, edited]
branches-ignore:
- main
env:
FORCE_COLOR: "1"
permissions:
contents: read
issues: write
pull-requests: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name != 'develop' && github.ref || github.run_id }}
cancel-in-progress: true
jobs:
auto-assign:
name: Auto assign
runs-on: ubuntu-22.04
permissions:
pull-requests: write
steps:
- uses: toshimaru/auto-author-assign@v3.0.2
detect-changes:
name: Detect changed packages
runs-on: ubuntu-22.04
outputs:
context-module: ${{ steps.filter.outputs.context-module }}
signer-eth: ${{ steps.filter.outputs.signer-eth }}
signer-solana: ${{ steps.filter.outputs.signer-solana }}
signer-utils: ${{ steps.filter.outputs.signer-utils }}
solana-tools: ${{ steps.filter.outputs.solana-tools }}
cs-tester: ${{ steps.filter.outputs.cs-tester }}
should-run-ethereum-cs-tester: ${{ steps.filter.outputs.signer-eth == 'true' || steps.filter.outputs.context-module == 'true' || steps.filter.outputs.signer-utils == 'true' || steps.filter.outputs.cs-tester == 'true' }}
should-run-solana-cs-tester: ${{ steps.filter.outputs.signer-solana == 'true' || steps.filter.outputs.context-module == 'true' || steps.filter.outputs.signer-utils == 'true' || steps.filter.outputs.cs-tester == 'true' || steps.filter.outputs.solana-tools == 'true' }}
steps:
- uses: actions/checkout@v6
- uses: dorny/paths-filter@v4
id: filter
with:
filters: |
context-module:
- 'packages/signer/context-module/**'
signer-eth:
- 'packages/signer/signer-eth/**'
signer-solana:
- 'packages/signer/signer-solana/**'
signer-utils:
- 'packages/signer/signer-utils/**'
solana-tools:
- 'packages/tools/solana-tools/**'
cs-tester:
- 'apps/clear-signing-tester/**'
- '.github/**'
setup:
name: Setup toolchain and dependencies
runs-on: ${{ !github.event.pull_request.head.repo.fork && 'ledgerhq-device-sdk' || 'ubuntu-22.04' }}
steps:
- uses: actions/checkout@v6
- uses: LedgerHQ/device-sdk-ts/.github/actions/setup-with-cache-composite@develop
danger:
name: Run Danger check
needs: [setup]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v6
- uses: LedgerHQ/device-sdk-ts/.github/actions/setup-with-cache-composite@develop
- name: Danger
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Workaround when using custom runners
# https://github.com/danger/danger-js/issues/1374
DANGER_GITHUB_API_BASE_URL: "https://api.github.com"
run: pnpm danger:ci
build-libraries:
name: Build libraries
needs: [setup]
runs-on: ${{ !github.event.pull_request.head.repo.fork && 'ledgerhq-device-sdk' || 'ubuntu-22.04' }}
steps:
- uses: actions/checkout@v6
- uses: LedgerHQ/device-sdk-ts/.github/actions/setup-with-build-cache-composite@develop
build-apps:
name: Build apps
needs: [build-libraries]
runs-on: ${{ !github.event.pull_request.head.repo.fork && 'ledgerhq-device-sdk' || 'ubuntu-22.04' }}
steps:
- uses: actions/checkout@v6
- uses: LedgerHQ/device-sdk-ts/.github/actions/setup-with-build-cache-composite@develop
- name: Build apps
run: pnpm build
health-check:
name: Run health check
needs: [build-libraries]
runs-on: ${{ !github.event.pull_request.head.repo.fork && 'ledgerhq-device-sdk' || 'ubuntu-22.04' }}
steps:
- uses: actions/checkout@v6
- uses: LedgerHQ/device-sdk-ts/.github/actions/setup-with-build-cache-composite@develop
- name: Health check
id: health-check
run: pnpm health-check
tests:
name: Run unit tests
needs: [build-libraries]
runs-on: ${{ !github.event.pull_request.head.repo.fork && 'ledgerhq-device-sdk' || 'ubuntu-22.04' }}
steps:
- uses: actions/checkout@v6
- uses: LedgerHQ/device-sdk-ts/.github/actions/setup-with-build-cache-composite@develop
- name: Tests
id: unit-tests
run: pnpm test:coverage
- uses: sonarsource/sonarqube-scan-action@v8
if: ${{ steps.unit-tests.conclusion == 'success' && github.actor != 'dependabot[bot]' && !github.event.pull_request.head.repo.fork }}
env:
SONAR_TOKEN: ${{ secrets.PUBLIC_GREEN_SONAR_TOKEN }}
SONAR_HOST_URL: ${{ vars.PUBLIC_SONAR_HOST_URL }}
cs-tester:
needs: [build-libraries, detect-changes]
if: needs.detect-changes.outputs.should-run-ethereum-cs-tester == 'true'
name: Ethereum Clear Signing Test (${{ matrix.device }} - ${{ matrix.test }})
runs-on: ${{ !github.event.pull_request.head.repo.fork && 'ledgerhq-device-sdk' || 'ubuntu-22.04' }}
permissions:
contents: read
strategy:
fail-fast: false
matrix:
device: [stax, nanox]
test:
- test:raw:complete
- test:raw:multisig
- test:typed-data:multisig
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/cs-tester-composite
with:
runner: cs-tester
test: ${{ matrix.test }}
device: ${{ matrix.device }}
coin-app: Ethereum
artifact-prefix: eth-cs-tester-logs
summary-prefix: "Ethereum Clear Signing Test"
gh-bot-app-id: ${{ secrets.GH_BOT_APP_ID }}
gh-bot-private-key: ${{ secrets.GH_BOT_PRIVATE_KEY }}
gating-token: ${{ secrets.GATING_TOKEN }}
solana-rpc-url: ${{ secrets.SOLANA_LEDGER_RPC_URL }}
solana-cs-tester:
needs: [build-libraries, detect-changes]
if: needs.detect-changes.outputs.should-run-solana-cs-tester == 'true'
name: Solana Fixture Test (${{ matrix.device }} - ${{ matrix.test }})
runs-on: ${{ !github.event.pull_request.head.repo.fork && 'ledgerhq-device-sdk' || 'ubuntu-22.04' }}
permissions:
contents: read
strategy:
fail-fast: false
matrix:
device: [stax, nanox]
test:
- test:solana:system-transfers
- test:solana:spl-legacy
- test:solana:spl-token2022
- test:solana:stake
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/cs-tester-composite
with:
runner: cs-tester:solana
test: ${{ matrix.test }}
device: ${{ matrix.device }}
coin-app: Solana
artifact-prefix: solana-cs-tester-logs
summary-prefix: "Solana Fixture Test"
gh-bot-app-id: ${{ secrets.GH_BOT_APP_ID }}
gh-bot-private-key: ${{ secrets.GH_BOT_PRIVATE_KEY }}
gating-token: ${{ secrets.GATING_TOKEN }}
solana-rpc-url: ${{ secrets.SOLANA_LEDGER_RPC_URL }}