Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from digitalbitbox:master #294

Open
wants to merge 3,068 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3068 commits
Select commit Hold shift + click to select a range
c96e413
frontend: add btc direct info dialog and disclaimer
sutterseba Oct 29, 2024
328092b
frontend: adjust message component mobile font size
sutterseba Oct 30, 2024
3d1603c
Merge remote-tracking branch 'sutter/btc-direct-link'
thisconnect Nov 5, 2024
5185aec
backend/exchanges: add btcDirect support
Beerosagos Nov 6, 2024
09ad6f9
Merge branch 'btc-direct-backend'
Beerosagos Nov 6, 2024
fe9e720
frontend: ignore files dropped into the app window
thisconnect Nov 6, 2024
c10d26a
Merge branch 'frontend-ignore-dropped-files'
thisconnect Nov 6, 2024
b5b7df6
frontend: npm audit fix
thisconnect Nov 7, 2024
9876f70
frontend: updated [email protected]
thisconnect Nov 7, 2024
76ff3cf
frontend: updated [email protected]
thisconnect Nov 7, 2024
dac918a
frontend: update [email protected]
thisconnect Nov 7, 2024
3ad11e4
frontend: updated [email protected]
thisconnect Nov 7, 2024
57f08e2
frontend: update vite plugins
thisconnect Nov 7, 2024
d35dca1
frontend: update @testing-library plugins
thisconnect Nov 7, 2024
fa4376b
frontend: update @types packages
thisconnect Nov 7, 2024
183ebed
Merge branch 'frontend-update-deps'
thisconnect Nov 7, 2024
d43cef1
frontend: update wallet-connect
thisconnect Nov 7, 2024
588f877
frontend: npm audit fix --force --save-exact
thisconnect Nov 7, 2024
a7ad86b
backend: update to version 4.46.0
benma Nov 5, 2024
f4626d3
frontend: fix estimate symbol
thisconnect Nov 7, 2024
6077981
Merge branch 'frontend-fix-estimate-symbol'
thisconnect Nov 7, 2024
272efa7
frontend: fix back button with UseBackButton
benma Nov 7, 2024
48543f6
Merge branch 'fix-back'
benma Nov 7, 2024
1f98911
Merge branch 'update'
benma Nov 7, 2024
2766c31
frontend/auth: fix auth screen glitch on startup
Beerosagos Nov 7, 2024
a4c11d4
Merge branch 'lock-screen-glitch2'
Beerosagos Nov 7, 2024
d84218e
backend: remove "No priority" from fee options
strmci Nov 7, 2024
bd876f6
Merge branch 'remove_no_priority'
strmci Nov 7, 2024
de8da06
frontend: make locize-pull
benma Nov 5, 2024
2fdbbc5
Merge branch 'locize'
benma Nov 7, 2024
b3d5534
CHANGELOG: fix typo, reword
benma Nov 8, 2024
797e083
Merge branch 'typo'
benma Nov 8, 2024
074e758
Merge pull request #3016 from NickeZ/nickez/test-curl
NickeZ Nov 8, 2024
6a29a31
changelog: account page skeletons
shonsirsha Nov 5, 2024
133d705
Merge branch 'changelog-account-page-skeleton'
shonsirsha Nov 11, 2024
13a8e91
frontend: better font size & spacing during firwmware install
shonsirsha Nov 6, 2024
9fe8aff
Merge branch 'frontend-font-size-firmware-update'
shonsirsha Nov 11, 2024
09c636d
frontend: use darkmode colors for scrollbar
thisconnect Nov 11, 2024
5414f46
Merge branch 'frontend-improve-scrollbars'
thisconnect Nov 12, 2024
a6d7c5e
Merge remote-tracking branch 'upstream/release-v4.45.0' into release-…
thisconnect Nov 12, 2024
84a6607
Merge branch 'release-4.45-merged'
thisconnect Nov 12, 2024
f0b3bb2
frontend: update UI of add account dropdown to use react-select
shonsirsha Nov 11, 2024
f200fd0
Merge branch 'frontend-addaccount-dropdown-restyle'
shonsirsha Nov 12, 2024
bc386dc
frontend/qrcodescanner: improve qrscanner component
Beerosagos Oct 21, 2024
1d16700
backend: add litecoin to btcdirect supported coins
sutterseba Nov 12, 2024
91e4ed7
Merge branch 'qrscan-rotate-fix-rc' into release-v4.46.0
Beerosagos Nov 13, 2024
05396ae
frontend: fix minor spacing issue on medium size screens
thisconnect Nov 14, 2024
42a5ca3
frontend: make locize-pull
benma Nov 14, 2024
6392ff9
frontend/android: fix moonpay widget
Beerosagos Nov 14, 2024
f2d9df9
Merge branch 'frontend-fix-accountsummary-spacing' into release-v4.46.0
thisconnect Nov 14, 2024
3f90723
Merge branch 'locize' into release-v4.46.0
benma Nov 14, 2024
aa7d5d9
Merge branch 'moonpay-android-fix' into release-v4.46.0
Beerosagos Nov 14, 2024
5847353
Merge commit 'refs/pull/3046/head' of https://github.com/BitBoxSwiss/…
benma Nov 15, 2024
fbe9a75
frontend: improve simple markup parsing
thisconnect Nov 18, 2024
3e3a30c
frontend: make locize-pull
benma Nov 18, 2024
9d144ea
Merge branch 'locize' into release-v4.46.0
benma Nov 18, 2024
c4f40c4
android: bump versionCode
benma Nov 18, 2024
3e1929b
Merge branch 'buildversion' into release-v4.46.0
benma Nov 18, 2024
f3b21b0
Merge branch 'frontend-fix-i18n-markup-with-newlines'
thisconnect Nov 19, 2024
0dc7040
Merge remote-tracking branch 'upstream/release-v4.46.0' into resolve-…
thisconnect Nov 19, 2024
1a67def
backend: re-enable copyloopvar linter and refactor code
strmci Nov 15, 2024
12df2de
Merge branch 'enable_copyloopvar'
strmci Nov 20, 2024
95c0c41
envinit: use fixed versions of the mock tools
benma Nov 20, 2024
fe1117f
go: downgrade from Go 1.23 to 1.22 to fix an Android bug
benma Nov 20, 2024
758fcb9
backend: update to version 4.46.1
benma Nov 20, 2024
67352e1
Merge remote-tracking branch 'benma/go122' into release-v4.46.1
benma Nov 21, 2024
d78380f
qt: force mime type resolution by extension
benma Nov 21, 2024
6b2ddac
backend: update to version 4.46.2
benma Nov 22, 2024
ab325eb
Merge branch 'mimetype2' into release-v4.46.2
benma Nov 22, 2024
37ab166
Merge branch 'resolve-release-branch-conflict'
thisconnect Nov 25, 2024
aa3013c
qt: fix cam access by restoring window.isSecureContext
benma Nov 26, 2024
f3f3d12
backend: update to version 4.46.3
benma Nov 26, 2024
58498b2
Merge branch 'qt-securecontext' into release-v4.46.3
benma Nov 26, 2024
549efd6
frontend: show the full text of long transaction notes
thisconnect Nov 25, 2024
63f43e4
Merge remote-tracking branch 'pull/release-v4.46.1'
benma Nov 26, 2024
1b77204
Merge branch 'frontend-long-transaction-notes'
thisconnect Nov 26, 2024
b8a2c27
Merge remote-tracking branch 'pull/release-v4.46.2'
benma Nov 26, 2024
2b29341
frontend: change transaction info for send-to-self
thisconnect Nov 7, 2024
ebe632f
Merge branch 'frontend-improve-sendtoself'
thisconnect Nov 26, 2024
869b9ef
Merge remote-tracking branch 'pull/release-v4.46.3'
benma Nov 26, 2024
28e0cc4
frontend: fix labels are always gray
thisconnect Nov 26, 2024
55c2231
frontend: add css class to target platform
thisconnect Nov 11, 2024
4af6867
frontend: use custom scrollbars only on linux and windows
thisconnect Nov 11, 2024
990a8d5
frontend: fix white guide scrollbars on linux and windows
thisconnect Nov 25, 2024
7929ce8
Merge branch 'frontend-improve-scrollbars-macos'
thisconnect Nov 26, 2024
eaabaf3
frontend: update checkbox border color
thisconnect Nov 26, 2024
cdcc10d
frontend: update radio input color
thisconnect Nov 27, 2024
94a89ed
frontend: create reusable single & multi dropdown
shonsirsha Nov 26, 2024
865f21a
frontend: use newly created Dropdown component
shonsirsha Nov 27, 2024
3f64296
Merge branch 'frontend-refactor-dropdown'
shonsirsha Nov 28, 2024
d9b5ab3
Merge branch 'frontend-checkbox-labels'
thisconnect Nov 28, 2024
a13f06d
frontend: full width for Dropdowns in General settings on mobile
shonsirsha Nov 28, 2024
0c35d45
Merge branch 'frontend-full-width-select-mobile'
shonsirsha Nov 28, 2024
951e283
ci: build windows app and report artifact
sutterseba Nov 28, 2024
f8bccf4
frontend: add eslint rule restrict-template-expressions
thisconnect Oct 31, 2023
c6ee6e0
frontend: fix restrict-template-expressions
thisconnect Dec 2, 2024
f5930ed
frontend: allow numbers in template literals
thisconnect Dec 2, 2024
58c9fc7
frontend: remove unused swiss-made css
thisconnect Dec 2, 2024
d0f1b36
frontend: fix mobile remember wallet settings layout
shonsirsha Nov 28, 2024
27fdb73
frontend/widget: fix loosing iframe ref on screen rotation
Beerosagos Dec 3, 2024
5afd06b
Merge branch 'frontend-mobile-remember-wallet-layout'
shonsirsha Dec 3, 2024
6f207ca
Merge branch 'ci-build-windows-app'
sutterseba Dec 3, 2024
7789b86
frontend: create dialog on remember wallet
shonsirsha Dec 2, 2024
44f3c76
Merge branch 'frontend-remember-wallet-enable-dialog'
shonsirsha Dec 3, 2024
a774621
ci: add artifact url to windows outputs
sutterseba Dec 3, 2024
c033211
Merge branch 'ci-fix-windows-artifact-url'
sutterseba Dec 3, 2024
9704476
Merge branch 'iframe-ref'
Beerosagos Dec 3, 2024
1b67bce
Merge branch 'frontend-eslint-templateliterals'
thisconnect Dec 3, 2024
045aa86
frontend/notes: filter text files on notes import
Beerosagos Nov 28, 2024
4d293ce
Merge branch 'filepicker-txt'
Beerosagos Dec 4, 2024
41064f9
frontend: type coinUnit in IAccount
NicolaLS Oct 3, 2024
7aef20d
frontend: utilize send-wrapper for some logic
NicolaLS Oct 3, 2024
ec61327
Merge branch 'frontend-send-refactor'
thisconnect Dec 4, 2024
7f42c0a
frontend: fix bb01 device-info type
thisconnect Dec 4, 2024
ff01a50
frontend: remove unused state in send component
NicolaLS Oct 4, 2024
73bfcd9
frontend: improve send error handling
NicolaLS Oct 4, 2024
c5bf45c
frontend: improve note onChange handler
NicolaLS Oct 7, 2024
2fabfa4
frontend: hide estimated symbol for send-to-self transactions
thisconnect Dec 5, 2024
ca5fc80
frontend: keep fees dropdown always enabled
thisconnect Dec 4, 2024
8a6c65d
Merge branch 'frontend-enable-feetargets-dropdown'
thisconnect Dec 5, 2024
74338a9
Merge branch 'frontend-deviceinfo-null'
thisconnect Dec 5, 2024
9a74ab4
Merge branch 'frontend-fix-sendself-esitmated'
thisconnect Dec 5, 2024
85201c3
frontend: fix chart edgecase to properly update the total amount
thisconnect Dec 6, 2024
cd81647
build(deps): bump jurplel/install-qt-action from 3 to 4
dependabot[bot] Dec 9, 2024
0c3f44f
Merge branch 'frontend-cleanup-send'
thisconnect Dec 9, 2024
e1d6d34
Merge branch 'frontend-fix-chart-edgecase'
thisconnect Dec 9, 2024
3ce8b5d
build(deps): bump golang.org/x/net from 0.29.0 to 0.32.0
dependabot[bot] Dec 18, 2024
8322b37
Merge commit 'refs/pull/3096/head' of https://github.com/BitBoxSwiss/…
benma Dec 18, 2024
ca7ae13
build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0
dependabot[bot] Dec 18, 2024
7fe899f
Merge commit 'refs/pull/3069/head' of https://github.com/BitBoxSwiss/…
benma Dec 18, 2024
bfec1af
build(deps): bump github.com/ethereum/go-ethereum from 1.14.8 to 1.14.12
dependabot[bot] Dec 18, 2024
2b9edc5
Merge commit 'refs/pull/3068/head' of https://github.com/BitBoxSwiss/…
benma Dec 18, 2024
a5e37d0
Merge commit 'refs/pull/3017/head' of https://github.com/BitBoxSwiss/…
benma Dec 18, 2024
09a7704
Merge commit 'refs/pull/3098/head' of https://github.com/BitBoxSwiss/…
benma Dec 18, 2024
ace02fe
container: add container image version
Beerosagos Dec 10, 2024
99d4727
frontend: rename buy-receive-empty component
thisconnect Dec 22, 2024
5fca0c8
build: fix clean error if file does not exist
NicolaLS Dec 23, 2024
efb517a
chore: sort web assets before generating RCC file
tensor5 Dec 31, 2024
645c656
frontend: cleanup buy-receive-empty css
thisconnect Jan 4, 2025
a9f1aa6
frontend: fix missing spacing on buy-receive-empty component
thisconnect Jan 4, 2025
b3870ff
frontend: remove guide in spinner component
thisconnect Jan 4, 2025
a6d8db8
frontend: fix hamburger in spinner componnet in darkmode
thisconnect Jan 4, 2025
e4ae9e1
frontend: lazy-load languages
cstenglein Oct 23, 2024
a4d744b
frontend: ensure falling back to native langauge
thisconnect Nov 15, 2024
da2d6b0
frontend: remove unnecessary any types in i18n config tests
thisconnect Nov 15, 2024
3825175
backend: fallback to en_US if no lang is found
thisconnect Dec 6, 2024
0910fa1
frontend: always include english as a fallback for untranslated keys
thisconnect Dec 6, 2024
47c6636
frontend: test i18n with unknown, empty and invalid native locales
thisconnect Jan 4, 2025
045ef80
Merge branch 'frontend-spinner-cleanup'
thisconnect Jan 6, 2025
a0fa23e
Merge branch 'frontend-emptywallet-padding'
thisconnect Jan 6, 2025
e4899b0
Merge branch 'reproducible-build' of https://github.com/tensor5/bitbo…
thisconnect Jan 6, 2025
eeef19c
Merge commit 'refs/pull/3107/head' of https://github.com/BitBoxSwiss/…
benma Jan 6, 2025
88f6a0c
Merge branch 'lazy-load-lang-defaults'
thisconnect Jan 6, 2025
7356e0d
Merge branch 'container-version'
Beerosagos Jan 7, 2025
0b0a07a
container: fix bug in make dockerdev
Beerosagos Jan 7, 2025
3cf3880
Merge branch 'container-version-fix'
Beerosagos Jan 7, 2025
d98aa95
frontend: remove hide amounts settings
shonsirsha Jan 7, 2025
1cbbf5b
Merge branch 'frontend-remove-hide-amounts-settings'
shonsirsha Jan 9, 2025
4da8f8c
qt/linux: also bundle Wayland platform libs to support Wayland
benma Jan 8, 2025
f700473
frontend: revamp sdcardcheck (bb02) UI
shonsirsha Dec 9, 2024
fb85631
Merge branch 'frontend-revamp-manage-backups-view'
shonsirsha Jan 9, 2025
4860a3a
build(deps): bump golang.org/x/net from 0.32.0 to 0.34.0
dependabot[bot] Jan 13, 2025
af9ebd4
Merge branch 'wayland'
benma Jan 13, 2025
36e315f
frontend: enable clipboard read/write for android/qt
Beerosagos Jan 9, 2025
090038f
frontend: hide estimate sign if conversion is btc or sat
thisconnect Jan 9, 2025
72bb074
Merge branch 'frontend-hide-estimate'
thisconnect Jan 14, 2025
2e2f477
ci: replace deprecated set-output command
sutterseba Jan 14, 2025
7007eb2
ios: add initial bluetooth functionality
benma Jan 15, 2025
02de26f
frontend: allow frontend to run not on port 8080
bznein Jan 15, 2025
bfe3a50
Merge branch 'force_port'
bznein Jan 15, 2025
fcebfa3
frontend: include fee in transaction summary
bznein Jan 15, 2025
7b31a4c
Merge branch 'ci-set-output'
sutterseba Jan 15, 2025
3a24ebc
Merge branch 'TransactionFee'
bznein Jan 15, 2025
0edc039
Merge branch 'clipboard-fix'
Beerosagos Jan 15, 2025
b1f2d3c
frontend: show estimate symbol for pending alt coin transactions
thisconnect Jan 15, 2025
1bb8a18
config: add --host parameter to vite app npm start script
Tomasvrba Nov 22, 2024
99c4718
Merge branch 'config-webdev'
benma Jan 16, 2025
537e4b4
frontend: refactor conversion amount into its own componnet
thisconnect Jan 15, 2025
78a033f
backend: do not log error containing serialized tx
bznein Jan 16, 2025
690e155
Merge branch 'rawTxInLog'
bznein Jan 16, 2025
d691923
frontend: move conversion amount to its own component
thisconnect Jan 16, 2025
18d7c9e
frontend: type get-tx-sign function arugment
thisconnect Jan 20, 2025
e439a05
frontend: increase confirm send width
shonsirsha Jan 20, 2025
0fbfdab
Merge branch 'frontend-change-send-confirm-width'
shonsirsha Jan 20, 2025
16cec98
Merge branch 'frontend-show-estimate-for-alts'
thisconnect Jan 20, 2025
3dde651
frontend: change send-result interface to type
thisconnect Dec 17, 2024
0ce779e
frontend: add missing license header
thisconnect Dec 17, 2024
bf504c5
frontend: explicitly type different send responses
thisconnect Dec 17, 2024
37c0265
frontend: add error icon to view component
thisconnect Dec 18, 2024
e553b49
frontend: change send success to fullscreen view
thisconnect Dec 18, 2024
6ab8861
frontend: add done and continue buttons to send success
thisconnect Dec 18, 2024
9cadb51
frontend: refactor reset send state
thisconnect Dec 19, 2024
98d5dee
frontend: remove unused export
thisconnect Dec 20, 2024
a7b9b32
frontend: refactor fiat-value into separate component
thisconnect Dec 19, 2024
2c29f11
backend: show deducted amount only for non-erc20.
bznein Jan 20, 2025
4815ca3
Merge branch 'TransactionFee'
bznein Jan 21, 2025
633f8be
android: handle device disconnect while the app is in the background
benma Nov 18, 2024
87f5277
frontend: improve send result view
thisconnect Dec 20, 2024
be19fe7
frontend: improve generic error in send results
thisconnect Jan 22, 2025
eed18d0
Merge remote-tracking branch 'benma/bt'
benma Jan 22, 2025
9c558a3
frontend: npm audit fix
thisconnect Jan 22, 2025
b7adca3
frontend: set app status to default on wallet restore/create abort
shonsirsha Jan 22, 2025
e9fe9c5
frontend: make sure sdcard insert check only runs once
shonsirsha Jan 22, 2025
47def3a
Merge branch 'frontend-abort-setup-or-restore-flow'
shonsirsha Jan 23, 2025
ebf4bd7
frontend/android: upgrade gradle to 8.8.0
Beerosagos Jan 23, 2025
c1d22f9
Merge branch 'gradle-upgrade'
Beerosagos Jan 27, 2025
496fb1f
Merge branch 'frontend-update-walletconnect'
thisconnect Jan 27, 2025
1a9d73c
frontend: skeleton when txhistory conversion amount isnt available
shonsirsha Jan 21, 2025
ab3373b
Merge branch 'frontend-skeleton-for-conversion-amount-loading'
shonsirsha Jan 28, 2025
5656cc7
Merge remote-tracking branch 'benma/android-disconnect'
benma Jan 28, 2025
eb7ec05
Merge branch 'frontend-send-success'
thisconnect Jan 28, 2025
f234026
build(deps): bump github.com/ethereum/go-ethereum
dependabot[bot] Feb 3, 2025
b75f28c
Merge commit 'refs/pull/3149/head' of https://github.com/BitBoxSwiss/…
benma Feb 3, 2025
16a748c
Merge commit 'refs/pull/3120/head' of github.com:BitBoxSwiss/bitbox-w…
benma Feb 3, 2025
72b378f
frontend: set width for dropdowns in settings page
shonsirsha Feb 4, 2025
ac23e5d
Merge branch 'frontend-fix-width-settings-dropdowns'
shonsirsha Feb 5, 2025
04ccacc
backend/bitbox02: add some simulator tests
benma Feb 3, 2025
141a749
backend: typo in comment
benma Feb 3, 2025
90c910e
backend/btc/maketx: refactor to include input address in output set
benma Feb 3, 2025
816860c
backend/btc: add Finalize() function to de-dup code
benma Feb 3, 2025
9f085c8
backend/frontend: add option to restart in testnet
bznein Jan 28, 2025
5de8e17
Merge branch 'testnetRestart'
bznein Feb 6, 2025
dc66381
frontend: adjust padding & wordbreak for cta & action buttons
shonsirsha Feb 3, 2025
ddc7010
Merge branch 'frontend-fix-action-buttons-spacing-and-word-break'
shonsirsha Feb 10, 2025
26a0273
frontend: full width add account button on mobile
shonsirsha Feb 9, 2025
866a20d
Merge branch 'frontend-improve-add-account-btn-mobile'
shonsirsha Feb 10, 2025
688da52
frontend: revamp buysell action buttons
shonsirsha Jan 28, 2025
976540e
Merge branch 'frontend-fix-buy-action-buttons'
shonsirsha Feb 10, 2025
39df077
ios: listen on our product characteristic
benma Feb 10, 2025
555c3ba
Merge remote-tracking branch 'benma/bt'
benma Feb 10, 2025
74df72c
frontend: show correct amount for ERC20 tokens.
bznein Feb 11, 2025
df5c3ad
frontend: fix export to CSV for ERC20 Tokens.
bznein Feb 10, 2025
888bda4
Merge branch 'regressionERC20Tx'
bznein Feb 11, 2025
bbdc3b8
Merge branch 'exportCSV'
bznein Feb 11, 2025
e828be6
backend: add support for xpub_required in AOPP.
bznein Feb 5, 2025
8f630dc
frontend: always left align text in message component
bznein Feb 10, 2025
5220df6
Merge branch 'aopp'
bznein Feb 12, 2025
d76b02f
backend/bitbox02: add silent payments simulator test
benma Feb 4, 2025
e2ef679
backend/bitbox02: add test for send-to-self
benma Feb 5, 2025
5e2e1d2
frontend: fix account selector title on buy / sell page
shonsirsha Feb 11, 2025
e792f72
Merge branch 'frontend-fix-select-account-view-title'
shonsirsha Feb 12, 2025
319b006
Merge branch 'unit-test-keystore'
benma Feb 12, 2025
d370632
backend/btc/maketx: unit test outIndex
benma Feb 12, 2025
2ce3dc6
backend/btc/maketx: unit test SpendAll
benma Feb 12, 2025
8bca04a
qt: create windows desktop shortcut during installation
benma Feb 12, 2025
de972b3
Merge remote-tracking branch 'nsis_shortcut'
benma Feb 12, 2025
afb41df
backend/bitbox02: make newVersion optional
benma Feb 13, 2025
084bfbd
vendor: update bitbox02-api-go
benma Feb 12, 2025
52f56f9
Merge branch 'api-go'
benma Feb 13, 2025
d7785be
Merge remote-tracking branch 'benma/maketx-tests'
benma Feb 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .containerversion
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
27
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
303 changes: 238 additions & 65 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,132 +2,305 @@
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: ci
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
# Use alternative image when running on GitHub workflows CI to avoid potential
# rate limiting when executing jobs in parallel: they can't cache docker images
# and always pull.
#
# To update this image, generate a personal token with write:packages scope
# on https://github.com/settings/tokens and authenticate yourself locally with
# "docker login ghcr.io -u <github-username>" using the
# newly generated token as password.
# Once logged in, tag an new image:
# docker tag shiftcrypto/bitbox-wallet-app:VERSION \
# ghcr.io/digitalbitbox/bitbox-wallet-app-ci:VERSION
# and push as usual:
# docker push ghcr.io/digitalbitbox/bitbox-wallet-app-ci:VERSION
# Lastly, update the next line to use the newly pushed image version.
# See docs for more details:
# https://docs.github.com/en/packages/guides/pushing-and-pulling-docker-images
#
# Keep this in sync with default in scripts/travis-ci.sh.
CI_IMAGE: ghcr.io/digitalbitbox/bitbox-wallet-app-ci:11
TRAVIS_BUILD_DIR: ${{github.workspace}}
GITHUB_BUILD_DIR: ${{github.workspace}}

jobs:
setup-env:
runs-on: ubuntu-22.04
outputs:
ci_image: ${{ steps.set-ci-image.outputs.ci_image }}
steps:
- name: Clone the repo
uses: actions/checkout@v4

- name: Read CI Image Version
id: set-ci-image
run: |
# Use alternative image when running on GitHub workflows CI to avoid potential
# rate limiting when executing jobs in parallel: they can't cache docker images
# and always pull.
#
# To update this image, generate a personal token with write:packages scope
# on https://github.com/settings/tokens and authenticate yourself locally with
# "docker login ghcr.io -u <github-username>" using the
# newly generated token as password.
# Once logged in, tag an new image:
# docker tag shiftcrypto/bitbox-wallet-app:VERSION \
# ghcr.io/bitboxswiss/bitbox-wallet-app-ci:VERSION
# and push as usual:
# docker push ghcr.io/bitboxswiss/bitbox-wallet-app-ci:VERSION
# Lastly, update the next line to use the newly pushed image version.
# See docs for more details:
# https://docs.github.com/en/packages/guides/pushing-and-pulling-docker-images
#
# Keep this in sync with default in scripts/github-ci.sh.
CI_IMAGE_VERSION=$(cat .containerversion)
echo "ci_image=ghcr.io/bitboxswiss/bitbox-wallet-app-ci:$CI_IMAGE_VERSION" >> $GITHUB_OUTPUT

test-lint:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
needs: setup-env
steps:
- name: Clone the repo
with:
submodules: recursive
uses: actions/checkout@v2
- name: Enable caching
uses: actions/cache@v2
with:
key: ${{runner.os}}-test-lint
path: frontends/web/node_modules
uses: actions/checkout@v4
- name: Run CI script
# The script also runs golang-ci but it's ok: doesn't take too long and may be useful
# to keep its linter errors in this log, too.
run: ./scripts/travis-ci.sh ci
run: ./scripts/github-ci.sh ci
env:
TRAVIS_OS_NAME: linux
OS_NAME: linux
CI_IMAGE: ${{ needs.setup-env.outputs.ci_image }}

android:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
needs: setup-env
outputs:
artifact-url: ${{ steps.upload.outputs.artifact-url }}
steps:
- name: Clone the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Enable caching
uses: actions/cache@v2
uses: actions/cache@v4
with:
key: ${{runner.os}}-android
path: |
frontends/web/node_modules
~/.gradle/caches
~/.gradle/wrapper
- name: Build Android
run: ./scripts/travis-ci.sh android
run: ./scripts/github-ci.sh android
env:
TRAVIS_OS_NAME: linux
OS_NAME: linux
CI_IMAGE: ${{ needs.setup-env.outputs.ci_image }}
- name: Upload APK
uses: actions/upload-artifact@v2
id: upload
uses: actions/upload-artifact@v4
with:
path: frontends/android/BitBoxApp/app/build/outputs/apk/debug/app-debug.apk
name: BitBoxApp-android-${{github.sha}}.apk
if-no-files-found: error
qt-linux:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
needs: setup-env
outputs:
artifact-url-ai: ${{ steps.upload-ai.outputs.artifact-url }}
artifact-url-deb: ${{ steps.upload-deb.outputs.artifact-url }}
artifact-url-rpm: ${{ steps.upload-rpm.outputs.artifact-url }}
steps:
- name: Clone the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive
- name: Enable caching
uses: actions/cache@v2
with:
key: ${{runner.os}}-qt-linux
path: frontends/web/node_modules
- name: Build Qt-Linux
run: ./scripts/travis-ci.sh qt-linux
run: ./scripts/github-ci.sh qt-linux
env:
TRAVIS_OS_NAME: linux
OS_NAME: linux
CI_IMAGE: ${{ needs.setup-env.outputs.ci_image }}
- name: Upload AppImage
uses: actions/upload-artifact@v2
id: upload-ai
uses: actions/upload-artifact@v4
with:
path: frontends/qt/build/linux/BitBoxApp-*.AppImage
name: BitBoxApp-linux-${{github.sha}}.AppImage
if-no-files-found: error
- name: Upload deb
uses: actions/upload-artifact@v2
id: upload-deb
uses: actions/upload-artifact@v4
with:
path: frontends/qt/build/linux/bitbox_*.deb
name: BitBoxApp-linux-${{github.sha}}.deb
if-no-files-found: error
- name: Upload rpm
uses: actions/upload-artifact@v2
id: upload-rpm
uses: actions/upload-artifact@v4
with:
path: frontends/qt/build/linux/bitbox-*.rpm
name: BitBoxApp-linux-${{github.sha}}.rpm
if-no-files-found: error
macos:
runs-on: macos-10.15
runs-on: macos-13
outputs:
artifact-url: ${{ steps.upload.outputs.artifact-url }}
steps:
- name: Clone the repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive
- name: Enable caching
uses: actions/cache@v2
with:
# The key version is just an incremental number.
# Bump it every time there are changes in CI scripts.
key: ${{runner.os}}-qt-osx-v2
path: |
frontends/web/node_modules
~/Library/Caches/Homebrew
- name: Install Go
uses: actions/setup-go@v2
uses: actions/setup-go@v5
with:
go-version: 1.23.x
- name: Install Node.js
uses: actions/setup-node@v4
with:
go-version: 1.16.x
node-version: '20.x'
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install Qt
# Qt modules: Not sure why we need qtpositioning - app compilation fails without. Maybe the webengine depends on it.
# qtpositioning depends on qtserialport.
# qtwebchannel is for the JS/backend bridge.
# qtwebengine is for rendering the frontend.
run: |
pip install aqtinstall
aqt install-qt mac desktop 6.2.4 --modules qtpositioning qtserialport qtwebchannel qtwebengine --outputdir ~/Qt
echo "$HOME/Qt/6.2.4/macos/bin" >> $GITHUB_PATH
echo "$HOME/Qt/6.2.4/macos/libexec" >> $GITHUB_PATH
- name: Build macOS app
run: >
./scripts/travis-ci.sh qt-osx;
./scripts/github-ci.sh qt-osx;
env:
TRAVIS_OS_NAME: osx
OS_NAME: osx
- name: Archive app
run: >
pushd ~/go/src/github.com/digitalbitbox/bitbox-wallet-app/frontends/qt/build/osx;
pushd ~/go/src/github.com/BitBoxSwiss/bitbox-wallet-app/frontends/qt/build/osx;
ditto -c -k --keepParent BitBox.app ${{github.workspace}}/BitBoxApp-macos.zip;
popd;
- name: Upload app
uses: actions/upload-artifact@v2
id: upload
uses: actions/upload-artifact@v4
with:
path: BitBoxApp-macos.zip
name: BitBoxApp-macos-${{github.sha}}.zip
if-no-files-found: error
ios:
runs-on: macos-14
env:
GO_SRC_DIR: src/github.com/BitBoxSwiss/bitbox-wallet-app
steps:
- name: Clone the repo
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Go
uses: actions/setup-go@v5
with:
# Take Go version to install from go.mod.
go-version-file: 'go.mod'
- name: Set GOPATH
run: |
echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
- name: Copy repo to GOPATH
# This is needed as gomobile is still unaware of go modules, so the repo must be in GOPATH
run: |
mkdir -p $GOPATH/$(dirname $GO_SRC_DIR)
cp -a ${{github.workspace}} $GOPATH/$(dirname $GO_SRC_DIR)
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Build iOS app
run: |
make gomobileinit
(cd $GOPATH/$GO_SRC_DIR; make ios)
windows:
runs-on: windows-2019
outputs:
artifact-url: ${{ steps.upload.outputs.artifact-url }}
defaults:
run:
shell: bash
env:
MINGW_BIN: /C/mingw64/bin
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Install Go
uses: actions/setup-go@v5
with:
# Take Go version to install from go.mod
go-version-file: 'go.mod'
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.2'
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
modules: 'qtwebengine qtwebchannel qtpositioning'
- name: Link Visual Studio editions
# This is needed due to our build expecting the Community edition, but Enterprise being pre-installed
shell: cmd
run: |
mklink /J "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community" "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise"
- name: Build Windows app
run: |
make qt-windows
cd frontends/qt
makensis setup.nsi
- name: Upload Installer
id: upload
uses: actions/upload-artifact@v4
with:
path: frontends/qt/BitBox-installer.exe
name: BitBoxApp-windows-${{ github.sha }}.exe
if-no-files-found: error

report-artifacts:
needs: [android, qt-linux, macos, windows]
runs-on: ubuntu-22.04
if: ${{ !cancelled() && github.event_name == 'push' }}
steps:
- name: Clone the repo
uses: actions/checkout@v4
- name: Create vars
id: vars
run: |
echo "git_sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Message for success
uses: mattermost/action-mattermost-notify@master
continue-on-error: true
if: job.status == 'success'
with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MM_WEBHOOK_URL }}
MATTERMOST_ICON_URL: https://cdn4.iconfinder.com/data/icons/basic-ui-2-line/32/check-mark-checklist-complete-done-512.png
MATTERMOST_CHANNEL: eng-artifacts
TEXT: |
**New artifacts built**
([${{ github.ref_name }}](https://github.com/${{ github.repository }}/tree/${{ github.ref_name }}), [${{ steps.vars.outputs.git_sha_short }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }}), [artifacts](https://github.com/${{ github.repository }}/actions/runs/${{github.run_id}}#artifacts))
* Android - [APK](${{needs.android.outputs.artifact-url}})
* Linux - [AppImage](${{needs.qt-linux.outputs.artifact-url-ai}}), [DEB](${{needs.qt-linux.outputs.artifact-url-deb}}), [RPM](${{needs.qt-linux.outputs.artifact-url-rpm}})
* MacOS - [Zip](${{needs.macos.outputs.artifact-url}})
* Windows - [EXE](${{needs.windows.outputs.artifact-url}})

- name: Message for failure
uses: mattermost/action-mattermost-notify@master
continue-on-error: true
if: job.status == 'failure'
with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MM_WEBHOOK_URL }}
MATTERMOST_ICON_URL: https://cdn4.iconfinder.com/data/icons/basic-ui-2-line/32/exclamation-mark-triangle-sign-caution-1024.png
MATTERMOST_CHANNEL: eng-build-failures
TEXT: |
**Oh no! [${{ steps.vars.outputs.git_sha_short }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }}) failed to build.**
See [run](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) for more details.
bitbox02-simulator:
# This is a separate job because the simulator runs on Ubuntu 22.04+, while the
# Docker CI image is still on Ubuntu 20.04 (the min supported version for BitBoxApp).
runs-on: ubuntu-22.04
steps:
- name: Clone the repo
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Run simulator tests
run: |
go test -mod=vendor -tags=bitbox02_simulator ./... -count=1 -v -run 'TestSimulator*'
Loading