ci: fix actions to commit-hashes instead of tags
What changed, and why it matters
This commit is a hardening change, not a vulnerability fix. It pins all GitHub Actions used by Trezor's firmware build and test pipelines to specific commit hashes instead of version tags, and updates those actions to their latest released versions. Pinning prevents a compromised action publisher from silently replacing a trusted tag with malicious code. There is no evidence of an actual supply-chain attack or any bug being fixed beyond this preventive measure.
No immediate security response is required. Treat this as a routine hardening improvement. Reviewers should verify that each pinned SHA matches the claimed released version and that the updated action versions do not introduce breaking changes to the CI pipelines.
Security signals we found
CI/CD supply-chain hardening
GitHub Actions version pinning to immutable commit hashes
Third-party action version bumps
No firmware or cryptographic code changes
No vulnerability disclosure or CVE referenced
Evidence from the diff
The diff modifies 18 CI workflow and composite-action YAML files under .github/workflows and .github/actions. Every third-party uses: reference is changed from a floating tag (e.g., actions/checkout@v4, aws-actions/configure-aws-credentials@v4) to an immutable commit SHA with the tag preserved in a trailing comment (e.g., actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2). Several actions are also bumped to newer major/minor versions. The commit message explicitly states the goal is to prevent potential supply-chain attacks. No source code, firmware logic, secrets, or runtime behavior is changed.
Changed components
.github/workflows/bot-auto-assign.yml.github/workflows/bot-common-sync.yml.github/workflows/bot-project-automation.yml.github/workflows/cflite.yml.github/workflows/common.yml.github/workflows/core-hw.yml.github/workflows/core.yml.github/workflows/crowdin-pull.yml.github/workflows/crowdin-push.yml.github/workflows/crowdin-ui-check-reuse.yml.github/workflows/crowdin-ui-check.yml.github/workflows/legacy.yml.github/workflows/prebuild.yml.github/workflows/release-emu.yml.github/actions/environment/action.yml.github/actions/ui-comment/action.yml.github/actions/ui-report/action.yml.github/actions/upload-coverage/action.ymlInspect captured patch +126 / −126
diff --git a/.github/actions/environment/action.yml b/.github/actions/environment/action.yml
index a7a65f40..44106408 100644
--- a/.github/actions/environment/action.yml
+++ b/.github/actions/environment/action.yml
@@ -9,7 +9,7 @@ runs:
using: "composite"
steps:
- name: Install nix
- uses: cachix/install-nix-action@v31
+ uses: cachix/install-nix-action@2126ae7fc54c9df00dd18f7f18754393182c73cd # cachix/install-nix-action@v31.9.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Dependencies nixpkgs
diff --git a/.github/actions/ui-comment/action.yml b/.github/actions/ui-comment/action.yml
index 199767a8..674aab1b 100644
--- a/.github/actions/ui-comment/action.yml
+++ b/.github/actions/ui-comment/action.yml
@@ -4,7 +4,7 @@ runs:
using: composite
steps:
- name: Find Comment
- uses: peter-evans/find-comment@v3
+ uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad # peter-evans/find-comment@v4
id: fc
if: github.event_name == 'pull_request'
with:
@@ -13,7 +13,7 @@ runs:
body-includes: ui-comment-${{ github.workflow }}
- name: Create or update comment
- uses: peter-evans/create-or-update-comment@v4
+ uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # peter-evans/create-or-update-comment@v5
if: github.event_name == 'pull_request'
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
diff --git a/.github/actions/ui-report/action.yml b/.github/actions/ui-report/action.yml
index 8161ef97..94466f83 100644
--- a/.github/actions/ui-report/action.yml
+++ b/.github/actions/ui-report/action.yml
@@ -15,7 +15,7 @@ runs:
using: composite
steps:
- name: Set AWS credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
diff --git a/.github/actions/upload-coverage/action.yml b/.github/actions/upload-coverage/action.yml
index 361d2c55..9bdc6dcf 100644
--- a/.github/actions/upload-coverage/action.yml
+++ b/.github/actions/upload-coverage/action.yml
@@ -9,7 +9,7 @@ runs:
mv -v $F $F.${{ github.job }}${{ strategy.job-index }} || true
done
shell: sh
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-coverage-${{ matrix.model }}-${{ github.job }}-${{ strategy.job-index }}
path: core/src/.coverage.*
diff --git a/.github/workflows/bot-auto-assign.yml b/.github/workflows/bot-auto-assign.yml
index adecafef..f7ae3521 100644
--- a/.github/workflows/bot-auto-assign.yml
+++ b/.github/workflows/bot-auto-assign.yml
@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Assign PR author to PR
- uses: actions/github-script@v8
+ uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # actions/github-script@v8.0.0
with:
script: |
const author = context.payload.pull_request.user.login;
diff --git a/.github/workflows/bot-common-sync.yml b/.github/workflows/bot-common-sync.yml
index 9eacd6e5..d59c2827 100644
--- a/.github/workflows/bot-common-sync.yml
+++ b/.github/workflows/bot-common-sync.yml
@@ -16,12 +16,12 @@ jobs:
BOT_EMAIL: "208941332+trezor-bot[bot]@users.noreply.github.com"
steps:
- name: Checkout repository
- uses: actions/checkout@v4
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
fetch-depth: 0
- name: Generate GitHub App token
id: trezor-bot-token
- uses: actions/create-github-app-token@v1
+ uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # actions/create-github-app-token@v2.2.1
with:
app-id: ${{ secrets.TREZOR_BOT_APP_ID }}
private-key: ${{ secrets.TREZOR_BOT_PRIVATE_KEY }}
diff --git a/.github/workflows/bot-project-automation.yml b/.github/workflows/bot-project-automation.yml
index 19c8b365..b72e9531 100644
--- a/.github/workflows/bot-project-automation.yml
+++ b/.github/workflows/bot-project-automation.yml
@@ -20,7 +20,7 @@ jobs:
steps:
- name: Generate GitHub App token
id: trezor-bot-token
- uses: actions/create-github-app-token@v1
+ uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # actions/create-github-app-token@v2.2.1
with:
app-id: ${{ secrets.TREZOR_BOT_APP_ID }}
private-key: ${{ secrets.TREZOR_BOT_PRIVATE_KEY }}
diff --git a/.github/workflows/cflite.yml b/.github/workflows/cflite.yml
index 39c9ea08..ae12ad07 100644
--- a/.github/workflows/cflite.yml
+++ b/.github/workflows/cflite.yml
@@ -23,10 +23,10 @@ jobs:
matrix:
sanitizer: [address]
steps:
- - uses: actions/checkout@v4 # needed to use the modified `run-fuzzers` action
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2 # needed to use the modified `run-fuzzers` action
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
- uses: google/clusterfuzzlite/actions/build_fuzzers@v1
+ uses: google/clusterfuzzlite/actions/build_fuzzers@404f5476ff06687c1030ecfb0832755b0c4b91bc # google/clusterfuzzlite/actions/build_fuzzers@v1
with:
sanitizer: ${{ matrix.sanitizer }}
language: c
diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml
index 0f11e12f..39912319 100644
--- a/.github/workflows/common.yml
+++ b/.github/workflows/common.yml
@@ -24,7 +24,7 @@ jobs:
CC: gcc
ADDRESS_SANITIZER: 1
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -32,7 +32,7 @@ jobs:
- run: nix-shell --run "uv run make -C crypto"
- run: nix-shell --run "export ADDRESS_SANITIZER=0; uv run make -C crypto_noasan"
- run: mv crypto_noasan/tests/test_check crypto/tests/test_check_noasan
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: crypto-build
path: |
@@ -51,11 +51,11 @@ jobs:
ASAN_OPTIONS: "verify_asan_link_order=0"
CK_TIMEOUT_MULTIPLIER: 5
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: crypto-build
path: crypto/tests
@@ -73,7 +73,7 @@ jobs:
LC_ALL: C.UTF-8
LANG: C.UTF-8
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -84,7 +84,7 @@ jobs:
name: Rust crates test
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -95,7 +95,7 @@ jobs:
# TODO: only for changes in storage/
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -115,7 +115,7 @@ jobs:
env:
REF: ${{ github.head_ref || github.ref_name }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
fetch-depth: 0
@@ -150,7 +150,7 @@ jobs:
cat $GITHUB_STEP_SUMMARY
if: always()
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: reproducible-${{ matrix.model }}
path: |
diff --git a/.github/workflows/core-hw.yml b/.github/workflows/core-hw.yml
index 564014e9..73ea9ddb 100644
--- a/.github/workflows/core-hw.yml
+++ b/.github/workflows/core-hw.yml
@@ -52,7 +52,7 @@ jobs:
QUIET_MODE: 1
timeout-minutes: 360 # 6h CI job timeout
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -66,7 +66,7 @@ jobs:
nix-shell --run "uv run pytest -v --verbose-log-file pytest.log tests/device_tests $TESTOPTS"
- run: tail -n50 trezor.log || true
if: failure()
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-hardware-${{ matrix.model }}-${{ matrix.coins }}
path: |
@@ -95,7 +95,7 @@ jobs:
TT_UHUB_PORT: 1
QUIET_MODE: 1
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -109,7 +109,7 @@ jobs:
nix-shell --arg fullDeps true --run "./core/tests/run_tests_device_emu_monero.sh --trezor-path webusb:"
- run: tail -n50 trezor.log || true
if: failure()
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-hardware-monero-${{ matrix.model }}
path: trezor.log
@@ -134,7 +134,7 @@ jobs:
BITCOIN_ONLY: ${{ matrix.coins == 'universal' && '0' || '1' }}
DEBUG_LINK: 1
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -142,7 +142,7 @@ jobs:
- run: nix-shell --run "uv run legacy/script/setup"
- run: nix-shell --run "export PRODUCTION=0 && uv run legacy/script/cibuild"
- run: nix-shell --arg hardwareTest true --run "ci/hardware_tests/t1_hw_test.sh"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: legacy-hardware-${{ matrix.coins }}
path: ci/hardware_tests/*.mp4
diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml
index 38de5b78..bdff47f6 100644
--- a/.github/workflows/core.yml
+++ b/.github/workflows/core.yml
@@ -73,7 +73,7 @@ jobs:
BOOTLOADER_DEVEL: ${{ matrix.model == 'T3W1' && '1' || '0' }}
QUIET_MODE: 1
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -94,7 +94,7 @@ jobs:
if: matrix.coins == 'universal' && matrix.type != 'debuglink'
- run: nix-shell --run "uv run ./tools/check-bitcoin-only core/build/firmware/firmware.bin"
if: matrix.coins == 'btconly' && matrix.type != 'debuglink'
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-firmware-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.type }}
path: |
@@ -132,7 +132,7 @@ jobs:
QUIET_MODE: 1
DISABLE_TROPIC: 0
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -142,7 +142,7 @@ jobs:
- run: nix-shell --arg fullDeps true --run "cd vendor/ts-tvl && poetry env use 3.12 && poetry install && poetry run model_server tcp -c ../../tests/tropic_model/config.yml > ../../tests/trezor-tropic-model.log 2>&1 &"
- run: nix-shell --run "uv run make -C core test_emu_sanity"
- run: cp core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-${{ matrix.model }}-${{ matrix.coins }}
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-emu-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -173,7 +173,7 @@ jobs:
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
QUIET_MODE: 1
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -181,7 +181,7 @@ jobs:
if: matrix.coins == 'universal'
- run: nix-shell --run "uv run make -C core build_unix_frozen"
- run: mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-arm-core-${{ matrix.model }}-${{ matrix.coins }}
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-emu-arm-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -204,7 +204,7 @@ jobs:
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
DISABLE_TROPIC: 0
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -231,7 +231,7 @@ jobs:
RUSTFLAGS: ${{ matrix.asan == 'asan' && '-Z sanitizer=address' || '' }}
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -253,10 +253,10 @@ jobs:
matrix:
model: [T2T1, T3B1]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-noasan
path: core/build
@@ -291,10 +291,10 @@ jobs:
TESTOPTS: "--durations 10 --session-timeout ${{ matrix.model == 'T3W1' && '2400' || '1800' }}" # pytest global timeout
timeout-minutes: 50 # CI job timeout
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-${{ matrix.coins }}-debuglink-${{ matrix.asan }}
path: core/build
@@ -306,7 +306,7 @@ jobs:
- run: nix-shell --run "uv run make -C core ${{ env.ACTIONS_DO_UI_TEST == 'true' && 'test_emu_ui_multicore' || 'test_emu' }}"
- run: tail -v -n50 tests/trezor*.log || true
if: failure()
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-device-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.lang }}-${{ matrix.asan }}
path: tests/trezor*.log
@@ -343,10 +343,10 @@ jobs:
TEST_LANG: ${{ matrix.lang }}
TESTOPTS: "--durations 10"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-${{ matrix.asan }}
path: core/build
@@ -356,7 +356,7 @@ jobs:
if: ${{ matrix.asan == 'noasan' }}
- run: nix-shell --run "uv run make -C core test_emu_click"
if: ${{ matrix.asan == 'asan' }}
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-click-${{ matrix.model }}-${{ matrix.lang }}-${{ matrix.asan }}
path: tests/trezor*.log
@@ -391,10 +391,10 @@ jobs:
PYTEST_TIMEOUT: 20
TESTOPTS: "--durations 10"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-${{ matrix.asan }}
path: core/build
@@ -402,7 +402,7 @@ jobs:
- uses: ./.github/actions/environment
- run: nix-shell --run "tests/download_emulators.sh ${{ matrix.model }}"
- run: nix-shell --run "uv run pytest tests/upgrade_tests"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-upgrade-${{ matrix.model }}-${{ matrix.asan }}
path: |
@@ -427,10 +427,10 @@ jobs:
TREZOR_PROFILING: ${{ matrix.asan == 'noasan' && '1' || '0' }}
PYTEST_TIMEOUT: 400
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-${{ matrix.asan }}
path: core/build
@@ -451,7 +451,7 @@ jobs:
if: always()
continue-on-error: true
- uses: ./.github/actions/upload-coverage
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-persistence-${{ matrix.model }}-${{ matrix.asan }}
path: |
@@ -470,10 +470,10 @@ jobs:
matrix:
model: [T2T1, T3B1, T3T1, T3W1]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-noasan
path: core/build
@@ -481,7 +481,7 @@ jobs:
- uses: ./.github/actions/environment # XXX poetry maybe not needed
- run: nix-shell --run "git clone --depth=1 https://github.com/bitcoin-core/HWI.git"
- run: nix-shell --arg fullDeps true --run "cd HWI && poetry install && poetry run ./test/test_trezor.py --model_t ../core/build/unix/trezor-emu-core bitcoind"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-hwi-${{ matrix.model }}
path: HWI/trezor-t-emulator.stdout
@@ -497,7 +497,7 @@ jobs:
PYOPT: 0
PYTEST_TIMEOUT: 900
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -505,7 +505,7 @@ jobs:
- run: nix-shell --run "uv run make -C core test_emu"
- run: nix-shell --run "mkdir core/prof/memperf-html"
- run: nix-shell --run "uv run core/tools/alloc.py --alloc-data=core/src/alloc_data.txt html core/prof/memperf-html"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-memperf-${{ matrix.model }}
path: |
@@ -527,10 +527,10 @@ jobs:
matrix:
model: [T2T1] # FIXME: checker.py lacks awareness of U5 flash layout
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-firmware-${{ matrix.model }}-universal-normal # FIXME: s/normal/debuglink/
path: core/build
@@ -553,10 +553,10 @@ jobs:
TREZOR_PROFILING: ${{ matrix.asan == 'noasan' && '1' || '0' }}
PYTEST_TIMEOUT: 400
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-${{ matrix.asan }}
path: core/build
@@ -565,7 +565,7 @@ jobs:
with:
full-deps: true
- run: nix-shell --arg fullDeps true --run "uv run make -C core test_emu_monero"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-monero-${{ matrix.model }}-${{ matrix.asan }}
path: |
@@ -592,10 +592,10 @@ jobs:
TREZOR_PROFILING: ${{ matrix.asan == 'noasan' && '1' || '0' }}
PYTEST_TIMEOUT: 400
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-${{ matrix.asan }}
path: core/build
@@ -606,7 +606,7 @@ jobs:
run: nix-shell --arg fullDeps true --run "cd vendor/ts-tvl && poetry env use 3.12 && poetry install && poetry run model_server tcp -c ../../tests/tropic_model/config.yml > ../../tests/trezor-tropic-model.log 2>&1 &"
- run: nix-shell --run "uv run make -C tests/fido_tests/u2f-tests-hid"
- run: nix-shell --run "uv run make -C core test_emu_u2f"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-u2f-${{ matrix.model }}-${{ matrix.asan }}
path: tests/trezor*.log
@@ -630,10 +630,10 @@ jobs:
TREZOR_PROFILING: ${{ matrix.asan == 'noasan' && '1' || '0' }}
PYTEST_TIMEOUT: 400
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-${{ matrix.asan }}
path: core/build
@@ -643,7 +643,7 @@ jobs:
if: ${{ matrix.model == 'T3W1' }}
run: nix-shell --arg fullDeps true --run "cd vendor/ts-tvl && poetry env use 3.12 && poetry install && poetry run model_server tcp -c ../../tests/tropic_model/config.yml > ../../tests/trezor-tropic-model.log 2>&1 &"
- run: nix-shell --run "uv run make -C core test_emu_fido2"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-test-fido2-${{ matrix.model }}-${{ matrix.asan }}
path: |
@@ -670,17 +670,17 @@ jobs:
# TODO: https://github.com/trezor/trezor-firmware/issues/5957
COVERAGE_THRESHOLD: ${{ matrix.model == 'T3B1' && 84 || 85 }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
pattern: core-coverage-${{ matrix.model }}-*
path: core
merge-multiple: true
- uses: ./.github/actions/environment
- run: nix-shell --run "uv run make -C core coverage"
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-coverage-report-${{ matrix.model }}
path: core/htmlcov
@@ -696,7 +696,7 @@ jobs:
needs:
- param
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
- run: sleep 1m # try avoiding github api rate limit
- run: |
python ci/make_pull_comment.py "${{ github.run_id }}" '${{ needs.param.outputs.test_lang }}' > ${{ env.PULL_COMMENT_PATH }}
@@ -704,7 +704,7 @@ jobs:
- uses: ./.github/actions/ui-comment
if: github.event_name == 'pull_request'
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
@@ -727,12 +727,12 @@ jobs:
- core_emu
- core_emu_arm
steps:
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
pattern: core-emu*debuglink-noasan
merge-multiple: true
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
@@ -750,12 +750,12 @@ jobs:
# Do not include ARM, they are only built on nightly
- core_emu
steps:
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
pattern: core-emu*debuglink-noasan
merge-multiple: true
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
diff --git a/.github/workflows/crowdin-pull.yml b/.github/workflows/crowdin-pull.yml
index 3e72afb6..2d0d0032 100644
--- a/.github/workflows/crowdin-pull.yml
+++ b/.github/workflows/crowdin-pull.yml
@@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v6
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
@@ -39,7 +39,7 @@ jobs:
run: nix-shell --run "uv run python core/translations/crowdin.py split"
- name: Download translations from Crowdin
- uses: crowdin/github-action@v2
+ uses: crowdin/github-action@8818ff65bfc4322384f983ea37e3926948c11745 # crowdin/github-action@v2.15.0
with:
config: core/translations/crowdin.yml
upload_sources: false
@@ -59,13 +59,13 @@ jobs:
- name: Generate GitHub App token
id: trezor-bot-token
- uses: actions/create-github-app-token@v2
+ uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # actions/create-github-app-token@v2.2.1
with:
app-id: ${{ secrets.TREZOR_BOT_APP_ID }}
private-key: ${{ secrets.TREZOR_BOT_PRIVATE_KEY }}
- name: Create PR
- uses: peter-evans/create-pull-request@v8
+ uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # peter-evans/create-pull-request@v8.1.0
with:
token: ${{ steps.trezor-bot-token.outputs.token }}
commit-message: "chore(translations): sync Crowdin translations"
diff --git a/.github/workflows/crowdin-push.yml b/.github/workflows/crowdin-push.yml
index b41bf842..140d3c86 100644
--- a/.github/workflows/crowdin-push.yml
+++ b/.github/workflows/crowdin-push.yml
@@ -18,7 +18,7 @@ jobs:
environment: crowdin
steps:
- name: Checkout
- uses: actions/checkout@v6
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
@@ -29,7 +29,7 @@ jobs:
run: nix-shell --run "uv run python core/translations/crowdin.py split"
- name: Upload sources to Crowdin
- uses: crowdin/github-action@v2
+ uses: crowdin/github-action@8818ff65bfc4322384f983ea37e3926948c11745 # crowdin/github-action@v2.15.0
with:
config: core/translations/crowdin.yml
upload_sources: true
diff --git a/.github/workflows/crowdin-ui-check-reuse.yml b/.github/workflows/crowdin-ui-check-reuse.yml
index f81ad51e..a75b8c10 100644
--- a/.github/workflows/crowdin-ui-check-reuse.yml
+++ b/.github/workflows/crowdin-ui-check-reuse.yml
@@ -34,10 +34,10 @@ jobs:
TESTOPTS: "@../tests/context_tests.txt --ui=test"
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v7
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-noasan
path: core/build/unix
@@ -58,13 +58,13 @@ jobs:
name: Comment with UI flows
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
- run: sleep 1m # to avoid GitHub API rate limit
- run: |
python ci/make_crowdin_comment.py "${{ github.run_id }}" '${{ inputs.languages }}' > ${{ env.CROWDIN_COMMENT_PATH }}
cat ${{ env.CROWDIN_COMMENT_PATH }} >> $GITHUB_STEP_SUMMARY
- name: Configure AWS credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
diff --git a/.github/workflows/crowdin-ui-check.yml b/.github/workflows/crowdin-ui-check.yml
index 7f30ed89..302d121d 100644
--- a/.github/workflows/crowdin-ui-check.yml
+++ b/.github/workflows/crowdin-ui-check.yml
@@ -37,12 +37,12 @@ jobs:
QUIET_MODE: 1
DISABLE_TROPIC: 0
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
- run: nix-shell --run "uv run make -C core build_unix_frozen"
- - uses: actions/upload-artifact@v6
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-emu-${{ matrix.model }}-universal-debuglink-noasan
path: |
diff --git a/.github/workflows/legacy.yml b/.github/workflows/legacy.yml
index 35384b43..d74f5636 100644
--- a/.github/workflows/legacy.yml
+++ b/.github/workflows/legacy.yml
@@ -46,7 +46,7 @@ jobs:
BITCOIN_ONLY: ${{ matrix.coins == 'universal' && '0' || '1' }}
DEBUG_LINK: ${{ matrix.type == 'debuglink' && '1' || '0' }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -55,7 +55,7 @@ jobs:
- run: nix-shell --run "export PRODUCTION=0 && uv run legacy/script/cibuild"
- run: nix-shell --run "uv run make -C legacy/demo"
if: matrix.coins == 'universal' && matrix.type == 'normal'
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: legacy-firmware-${{ matrix.coins }}-${{ matrix.type }}
path: legacy/firmware/firmware-*.bin
@@ -77,13 +77,13 @@ jobs:
DEBUG_LINK: ${{ matrix.type == 'debuglink' && '1' || '0' }}
ADDRESS_SANITIZER: ${{ matrix.asan == 'asan' && '1' || '0' }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
- run: nix-shell --run "uv run legacy/script/cibuild"
- run: cp legacy/firmware/trezor.elf legacy/firmware/trezor-emu-legacy-T1B1-${{ matrix.coins }}
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: legacy-emu-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -106,13 +106,13 @@ jobs:
DEBUG_LINK: ${{ matrix.type == 'debuglink' && '1' || '0' }}
ADDRESS_SANITIZER: ${{ matrix.asan == 'asan' && '1' || '0' }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
- run: nix-shell --run "uv run legacy/script/cibuild"
- run: mv legacy/firmware/trezor.elf legacy/firmware/trezor-emu-arm-legacy-T1B1-${{ matrix.coins }}
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: legacy-emu-arm-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -132,10 +132,10 @@ jobs:
EMULATOR: 1
PYTEST_TIMEOUT: 120
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: legacy-emu-${{ matrix.coins }}-debuglink-${{ matrix.asan }}
path: legacy/firmware
@@ -167,10 +167,10 @@ jobs:
TREZOR_UPGRADE_TEST: legacy
PYTEST_TIMEOUT: 120
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: legacy-emu-universal-debuglink-${{ matrix.asan }}
path: legacy/firmware
@@ -188,10 +188,10 @@ jobs:
env:
EMULATOR: 1
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
name: legacy-emu-universal-debuglink-noasan
path: legacy/firmware
@@ -208,12 +208,12 @@ jobs:
- legacy_emu
- legacy_emu_arm
steps:
- - uses: actions/download-artifact@v4
+ - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # actions/download-artifact@v8.0.0
with:
pattern: legacy-emu*debuglink-noasan
merge-multiple: true
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
diff --git a/.github/workflows/prebuild.yml b/.github/workflows/prebuild.yml
index 90783ddf..a48093a9 100644
--- a/.github/workflows/prebuild.yml
+++ b/.github/workflows/prebuild.yml
@@ -24,9 +24,9 @@ jobs:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
- name: Block Fixup Commit Merge
- uses: 13rac1/block-fixup-merge-action@v2.0.0
+ uses: 13rac1/block-fixup-merge-action@bd5504fb9ca0253e109d98eb86b7debc01970cdc # 13rac1/block-fixup-merge-action@v2.0.0
# Check the code for style correctness and perform some static code analysis.
# Biggest part is the python one - using `flake8`, `isort`, `black`, `pylint` and `pyright`,
@@ -36,7 +36,7 @@ jobs:
name: Style check
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
- name: Initialize and update ts-tvl
run: |
git submodule update --init --recursive vendor/ts-tvl
@@ -51,7 +51,7 @@ jobs:
name: Defs check
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: "recursive"
- uses: ./.github/actions/environment
@@ -63,7 +63,7 @@ jobs:
name: Gen check
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: "recursive"
- uses: ./.github/actions/environment
@@ -77,7 +77,7 @@ jobs:
if: ${{ github.ref != 'main' && github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
@@ -90,7 +90,7 @@ jobs:
if: ${{ github.event_name == 'push' }}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
- uses: ./.github/actions/environment
- name: "Check release commit message format"
run: ./ci/check_release_commit_messages.sh
@@ -101,7 +101,7 @@ jobs:
if: ${{ github.ref != 'main' && github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
@@ -112,7 +112,7 @@ jobs:
cat $GITHUB_OUTPUT
- name: Find Comment
- uses: peter-evans/find-comment@v3
+ uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad # peter-evans/find-comment@v4
if: ${{ env.cargo_modified == '1' }}
id: fc
with:
@@ -121,7 +121,7 @@ jobs:
body-includes: cargolock-comment-${{ github.workflow }}
- name: Create comment
- uses: peter-evans/create-or-update-comment@v4
+ uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # peter-evans/create-or-update-comment@v5
if: ${{ env.cargo_modified == '1' && steps.fc.outputs.comment-id == '' }}
with:
issue-number: ${{ github.event.pull_request.number }}
diff --git a/.github/workflows/release-emu.yml b/.github/workflows/release-emu.yml
index 5e430b47..828b11f3 100644
--- a/.github/workflows/release-emu.yml
+++ b/.github/workflows/release-emu.yml
@@ -42,7 +42,7 @@ jobs:
tropic_models: ${{ steps.get_models.outputs.tropic_models }}
version: ${{ steps.get_models.outputs.version }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
- name: Get models from releases.json
id: get_models
run: |
@@ -88,7 +88,7 @@ jobs:
ADDRESS_SANITIZER: "0"
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -98,7 +98,7 @@ jobs:
- run: cp core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }}
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
@@ -108,7 +108,7 @@ jobs:
run: |
aws s3 mv core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }} s3://data.trezor.io/dev/firmware/releases/emulators-new/${{ matrix.model}}/
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-emu-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -138,7 +138,7 @@ jobs:
ADDRESS_SANITIZER: ${{ matrix.asan == 'asan' && '1' || '0' }}
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -148,7 +148,7 @@ jobs:
- run: mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }}-arm
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
@@ -158,7 +158,7 @@ jobs:
run: |
aws s3 cp core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }}-arm s3://data.trezor.io/dev/firmware/releases/emulators-new/${{ matrix.model}}/
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-emu-arm-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -189,7 +189,7 @@ jobs:
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
DISABLE_TROPIC: "0"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -199,7 +199,7 @@ jobs:
- run: cp core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }}
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
@@ -209,7 +209,7 @@ jobs:
run: |
aws s3 mv core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }} s3://data.trezor.io/dev/firmware/releases/emulators-new/${{ matrix.model}}/${{ matrix.model }}_tropic_on/
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-emu-tropic-capable-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -240,7 +240,7 @@ jobs:
LSAN_OPTIONS: "suppressions=../../asan_suppressions.txt"
DISABLE_TROPIC: "0"
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -250,7 +250,7 @@ jobs:
- run: mv core/build/unix/trezor-emu-core core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }}-arm
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
@@ -260,7 +260,7 @@ jobs:
run: |
aws s3 cp core/build/unix/trezor-emu-core-${{ matrix.model }}-v${{ needs.get_models.outputs.version }}-arm s3://data.trezor.io/dev/firmware/releases/emulators-new/${{ matrix.model}}/${{ matrix.model }}_tropic_on/
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # actions/upload-artifact@v7.0.0
with:
name: core-emu-arm-tropic-capable-${{ matrix.model }}-${{ matrix.coins }}-${{ matrix.type }}-${{ matrix.asan }}
path: |
@@ -285,7 +285,7 @@ jobs:
DEBUG_LINK: ${{ matrix.type == 'debuglink' && '1' || '0' }}
ADDRESS_SANITIZER: ${{ matrix.asan == 'asan' && '1' || '0' }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -293,7 +293,7 @@ jobs:
- run: mv legacy/firmware/trezor.elf legacy/firmware/trezor-emu-legacy-T1B1-v${{ needs.get_models.outputs.version }}
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
@@ -320,7 +320,7 @@ jobs:
DEBUG_LINK: ${{ matrix.type == 'debuglink' && '1' || '0' }}
ADDRESS_SANITIZER: ${{ matrix.asan == 'asan' && '1' || '0' }}
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # actions/checkout@v6.0.2
with:
submodules: recursive
- uses: ./.github/actions/environment
@@ -328,7 +328,7 @@ jobs:
- run: mv legacy/firmware/trezor.elf legacy/firmware/trezor-emu-legacy-T1B1-v${{ needs.get_models.outputs.version }}-arm
- name: Configure aws credentials
- uses: aws-actions/configure-aws-credentials@v4
+ uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # aws-actions/configure-aws-credentials@v6.0.0
with:
role-to-assume: arn:aws:iam::538326561891:role/gh_actions_deploy_dev_firmware_data
aws-region: eu-west-1
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.