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
f54d0ff
build: add Makefile-based macOS/Linux build, bootstrap and docs
parasew Nov 1, 2026
ecdcf6e
docs: note that a changed PATH or NIX_* variable reruns all native-as…
parasew Nov 1, 2026
0602409
xcode: only use sudo when the install target is not writable
parasew Nov 1, 2026
3ac372d
bootstrap: do not upgrade installed formulae, make the report tools o…
parasew Nov 2, 2026
389259d
build: call build_app.sh from scripts/ like CI, drop redundant keys b…
parasew Nov 2, 2026
708b787
xcode: retry interrupted downloads
parasew Nov 2, 2026
8f7eb3b
build: align make build-linux with the CI flags, Xcode mirror overrid…
parasew Nov 2, 2026
548defb
build: add clean-app and clean-native targets, record sccache hits in…
parasew Nov 2, 2026
c5a8340
build: add stack-bom.toml and make verify-bom
parasew Nov 1, 2026
baa3b85
build: add make build-windows and a runner workflow to test the make …
parasew Nov 1, 2026
576d1fc
ci: make-build workflow is manual only and gets a Linux job
parasew Nov 1, 2026
aa6841d
docs: describe the native Windows build and make build-windows
parasew Nov 2, 2026
ae678f2
build: add make build-android wrapping the CI steps (unsigned)
parasew Nov 2, 2026
f5c0fdc
build: make build-android creates a throw-away debug key when no sign…
parasew Nov 2, 2026
488d628
build: add make build-ios wrapping the CI steps (no code signing)
parasew Nov 2, 2026
46202da
docs: describe make build-android and make build-ios
parasew Nov 2, 2026
84a6615
ci: make-build workflow gets an iOS job and runs make verify-bom on L…
parasew Nov 2, 2026
60ac9ee
ci: free disk space in the Linux make-build job
parasew Nov 2, 2026
a694997
build: fix review findings in bootstrap, Windows asset copies, Linux …
parasew Nov 7, 2026
9aef56a
build: fix make targets and tooling issues
parasew Nov 11, 2026
bd3181a
Merge upstream/staging into feat/makefile-macos-build
parasew Nov 11, 2026
8ded23e
ci: serialize the macOS and iOS make-build jobs
parasew Nov 11, 2026
4481c00
Merge remote-tracking branch 'upstream/staging' into feat/makefile-ma…
parasew 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