Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
5562005
build: add Makefile-based macOS/Linux build, bootstrap and docs
Nov 1, 2026
adee326
docs: note that a changed PATH or NIX_* variable reruns all native-as…
Nov 1, 2026
230e9af
xcode: only use sudo when the install target is not writable
Nov 1, 2026
9898d5b
bootstrap: do not upgrade installed formulae, make the report tools o…
Nov 2, 2026
b284551
build: call build_app.sh from scripts/ like CI, drop redundant keys b…
Nov 2, 2026
c452b9f
xcode: retry interrupted downloads
Nov 2, 2026
0b1dffa
build: align make build-linux with the CI flags, Xcode mirror overrid…
Nov 2, 2026
97d75c2
build: add clean-app and clean-native targets, record sccache hits in…
Nov 2, 2026
2ab7434
build: add stack-bom.toml and make verify-bom
Nov 1, 2026
be76a9e
build: add make build-windows and a runner workflow to test the make …
Nov 1, 2026
b68ac3e
ci: make-build workflow is manual only and gets a Linux job
Nov 1, 2026
39f3327
docs: describe the native Windows build and make build-windows
Nov 2, 2026
3a348a6
build: add make build-android wrapping the CI steps (unsigned)
Nov 2, 2026
3a5bc1f
build: make build-android creates a throw-away debug key when no sign…
Nov 2, 2026
af8f962
build: add make build-ios wrapping the CI steps (no code signing)
Nov 2, 2026
32da0ce
docs: describe make build-android and make build-ios
Nov 2, 2026
c3eb56a
ci: make-build workflow gets an iOS job and runs make verify-bom on L…
Nov 2, 2026
64bfa5b
ci: free disk space in the Linux make-build job
Nov 2, 2026
cbf07c1
build: fix review findings in bootstrap, Windows asset copies, Linux …
Nov 7, 2026
ae6fcbb
build: fix make targets and tooling issues
Nov 11, 2026
5d94895
Merge upstream/staging into feat/makefile-macos-build
Nov 11, 2026
2b0a0e2
ci: serialize the macOS and iOS make-build jobs
Nov 11, 2026
b82bc47
Merge remote-tracking branch 'upstream/staging' into feat/makefile-ma…
Nov 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
107 changes: 107 additions & 0 deletions .github/workflows/make-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Make build

# Builds with the Makefile targets on the hosted runners. Manual only.
on:
workflow_dispatch:

jobs:
windows:
runs-on: windows-2022
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.47.2'
channel: 'stable'
- uses: actions/setup-go@v6
with:
go-version: '1.24.13'
- name: Install make
run: command -v make >/dev/null 2>&1 || choco install make -y --no-progress
- name: Build
run: make build-windows VERSION=0.0.0 BUILD_NUM=${{ github.run_number }} WINDOWS_COPY_ASSETS=1

macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.47.2'
channel: 'stable'
- uses: actions/setup-go@v6
with:
go-version: '1.24.13'
- name: Tools
run: |
brew install meson ninja autoconf automake libtool protobuf pkg-config cbindgen || true
rustup toolchain install 1.99.1 --profile minimal || true
rustup default 1.99.1 || true
- name: Build
run: make build-macos VERSION=0.0.0 BUILD_NUM=${{ github.run_number }}

linux:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.47.2'
channel: 'stable'
- uses: actions/setup-go@v6
with:
go-version: '1.24.13'
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
df -h /
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
automake build-essential clang cmake libclang-dev libtool llvm meson ninja-build patchelf pkg-config protobuf-compiler rsync \
libgcrypt20-dev libgirepository1.0-dev libgit2-dev libglib2.0-dev libgtk-3-dev libjsoncpp-dev liblzma-dev \
libncurses5-dev libncursesw5-dev libopencv-dev libsecret-1-dev libssl-dev libtss2-dev \
ocl-icd-opencl-dev opencl-headers valac zlib1g-dev
- name: Rust
run: |
rustup toolchain install 1.99.1 --profile minimal
rustup default 1.99.1
- name: Check the toolchain bill of materials
run: make verify-bom
- name: Build
run: make build-linux VERSION=0.0.0 BUILD_NUM=${{ github.run_number }}

ios:
# The fork has a single hosted macOS concurrency slot. Running macOS and
# iOS together leaves one job queued until GitHub cancels it; serialise them.
needs: macos
if: always()
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.47.2'
channel: 'stable'
- uses: actions/setup-go@v6
with:
go-version: '1.24.13'
- name: Tools
run: |
brew install meson ninja autoconf automake libtool protobuf pkg-config cbindgen || true
rustup toolchain install 1.99.1 --profile minimal || true
rustup default 1.99.1 || true
- name: Build
run: make build-ios VERSION=0.0.0 BUILD_NUM=${{ github.run_number }}
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
*.pyc
*.swp
.DS_Store
._*
.atom/
.buildlog/
.history
Expand Down Expand Up @@ -35,9 +36,13 @@ Microsoft.Windows*
android/app/.cxx
android/build/

# Nix / direnv / project-local toolchain state
.direnv/

# Web related
lib/generated_plugin_registrant.dart


# testing data
test/services/coins/bitcoin/bitcoin_wallet_test_parameters.dart
test/services/coins/firo/firo_wallet_test_parameters.dart
Expand Down Expand Up @@ -120,3 +125,12 @@ lib/wl_gen/generated/

/assets/windows/mwebd.exe
/tool/build
bm/results/
/.cargo/config.toml
/scripts/linux/pc/

# Nix dev shell: generated wrappers
.nix-bin/
.direnv/
/android/key.properties
/android/dev-keystore.jks
Loading
Loading