Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8e2dd23
feat: add Nix crane build system with Cachix caching
radupopa369 Dec 15, 2025
8f8849d
fix: update nixpkgs to unstable and migrate to apple-sdk_15
radupopa369 Dec 15, 2025
27dc6d2
docs: simplify binary cache setup guide
radupopa369 Dec 15, 2025
dcdf127
feat: add Cachix push workflow for sharing builds
radupopa369 Dec 15, 2025
468790b
fix: use correct Cachix cache name 'movementlabs'
radupopa369 Dec 15, 2025
66bd1dc
docs: update nix trusted-users config for macOS
radupopa369 Dec 15, 2025
6006a23
docs: add nix shell alternative for cachix install
radupopa369 Dec 15, 2025
4d9b33b
docs: recommend Determinate Nix and add troubleshooting for public ke…
radupopa369 Dec 15, 2025
4e479c9
fix: add meta.description to apps to suppress flake check warnings
radupopa369 Dec 15, 2025
3851f07
fix: remove invalid cachix authtoken --check command
radupopa369 Dec 15, 2025
66ef9b6
feat: add GitHub Actions workflow for Nix builds with Cachix
radupopa369 Dec 15, 2025
04242f7
fix: remove Cachix key from flake nixConfig to avoid key validation e…
radupopa369 Dec 15, 2025
92fa077
docs: add fix for 'public key is not valid' error
radupopa369 Dec 15, 2025
f42d82d
fix: add missing file patterns to crane source filter
radupopa369 Dec 15, 2025
826f984
fix: add .errmap pattern to crane source filter
radupopa369 Dec 15, 2025
a18f9fe
fix: add .yaml pattern to crane source filter
radupopa369 Dec 15, 2025
6be8d08
fix: correct Cachix public key in documentation
radupopa369 Dec 15, 2025
0a476c9
fix: correct cargoPackage name for movement binary
radupopa369 Dec 16, 2025
af375ad
fix: add .txt, .html, .version patterns to crane source filter
radupopa369 Dec 16, 2025
094be3d
fix: only use JEMALLOC_OVERRIDE on Linux for correct symbol prefixes
radupopa369 Dec 16, 2025
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
108 changes: 108 additions & 0 deletions .github/workflows/nix-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: "🔧 Nix Build & Cache"

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: Build (${{ matrix.target }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- aptos-node
- movement
- l1-migration
- aptos-faucet-service
- aptos-transaction-emitter

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Determinate Nix
uses: DeterminateSystems/nix-installer-action@main

- name: Setup Cachix
uses: cachix/cachix-action@v15
with:
name: movementlabs
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}

- name: Build ${{ matrix.target }}
run: |
cd nix
nix build .#${{ matrix.target }} -L --accept-flake-config

- name: Verify binary
run: |
ls -la result/bin/
./result/bin/${{ matrix.target }} --version || ./result/bin/${{ matrix.target }} --help || true

build-all:
name: Build All Binaries
runs-on: ubuntu-latest
needs: build

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Determinate Nix
uses: DeterminateSystems/nix-installer-action@main

- name: Setup Cachix
uses: cachix/cachix-action@v15
with:
name: movementlabs
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}

- name: Build all binaries
run: |
cd nix
nix build .#all-binaries -L --accept-flake-config

- name: List all binaries
run: ls -la result/bin/

containers:
name: Build Containers
runs-on: ubuntu-latest
needs: build

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Determinate Nix
uses: DeterminateSystems/nix-installer-action@main

- name: Setup Cachix
uses: cachix/cachix-action@v15
with:
name: movementlabs
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}

- name: Build aptos-node container
run: |
cd nix
nix build .#container-aptos-node -L --accept-flake-config

- name: Build faucet container
run: |
cd nix
nix build .#container-aptos-faucet-service -L --accept-flake-config

- name: Load and verify containers
run: |
docker load < result
docker images | grep -E "(aptos-node|aptos-faucet)"
Loading