Skip to content

Commit d646908

Browse files
committed
docs: add source build instructions
1 parent 26cd56c commit d646908

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

readme.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,32 @@ If you fork Flow (or publish releases under a different repo), set:
5252
If you are upgrading to a very old tag that doesn't ship `checksums.txt`, you can force bypassing
5353
checksum verification with `FLOW_UPGRADE_INSECURE=1` (not recommended).
5454

55+
## Build From Source
56+
57+
Clone Flow, hydrate the pinned vendor snapshot, and install an optimized local build:
58+
59+
```sh
60+
git clone https://github.com/nikivdev/flow.git
61+
cd flow
62+
./scripts/vendor/vendor-repo.sh hydrate
63+
FLOW_PROFILE=release ./scripts/deploy.sh
64+
f --version
65+
```
66+
67+
This is the intended source build path.
68+
69+
- `./scripts/vendor/vendor-repo.sh hydrate` reuses `.vendor/flow-vendor` if it already exists.
70+
- If `.vendor/flow-vendor` is missing, it clones the pinned vendor repo from [`vendor.lock.toml`](vendor.lock.toml) and materializes `lib/vendor/*` from that exact commit.
71+
- The pinned vendor repo is public: `https://github.com/nikivdev/flow-vendor`
72+
- `FLOW_PROFILE=release ./scripts/deploy.sh` builds the optimized release binary and installs `f` / `flow` / `lin` into `~/bin` (and symlinks into `~/.local/bin` if that directory exists).
73+
74+
If you want to populate the vendor checkout yourself first, that works too:
75+
76+
```sh
77+
git clone https://github.com/nikivdev/flow-vendor.git .vendor/flow-vendor
78+
./scripts/vendor/vendor-repo.sh hydrate
79+
```
80+
5581
## Supported Platforms
5682

5783
Release artifacts are built for:

vendor.lock.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[flow_vendor]
2-
repo = "git@github.com:nikivdev/flow-vendor.git"
2+
repo = "https://github.com/nikivdev/flow-vendor.git"
33
branch = "main"
44
checkout = ".vendor/flow-vendor"
55
commit = "7b9a635415eba5820f3d2d8dbca54ec21519a4a3"

0 commit comments

Comments
 (0)