You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CI runs tests on both macOS and Ubuntu. To run the Ubuntu job locally using [Act](https://github.com/nektos/act) (requires Docker / Docker Desktop):
28
+
29
+
```bash
30
+
brew install act
31
+
act -j test --matrix os:ubuntu-latest --container-architecture linux/amd64
32
+
```
33
+
34
+
## Demo
35
+
36
+
The demo GIFs are generated with [VHS](https://github.com/charmbracelet/vhs). To regenerate them:
See `website/README.md` for instructions on running the demo website locally.
55
+
56
+
It is deployed to https://hdi.md via GitHub Pages on every release.
57
+
58
+
## Benchmarking
59
+
60
+
Static benchmark READMEs in `bench/` (small, medium, large, stress) exercise parsing path at different scales. Run benchmarks with:
61
+
62
+
```bash
63
+
./bench/run # run benchmarks, print results
64
+
./bench/run --compare # compare current results against last release
65
+
./bench/run --log # also save to bench/results.csv (should only be used by release script / only run when creating a new release)
66
+
```
67
+
68
+
Benchmarks run automatically during `./release` and are recorded in `bench/results.csv`. A chart (`bench/results.svg`) is also generated to visualise performance across releases (via `bench/chart`).
69
+
70
+
## Publishing a new release
71
+
72
+
The `release` script bumps the version in `src/header.sh`, rebuilds `hdi`, commits, tags and pushes. The `release` Actions workflow will automatically build and publish a GitHub release when the tag is pushed, and the demo site is built and deployed via the `pages` workflow. The script then prints the `url` and `sha256` values to update in the [homebrew-tap](https://github.com/grega/homebrew-tap) repo (`Formula/hdi.rb`).
CI runs tests on both macOS and Ubuntu. To run the Ubuntu job locally using [Act](https://github.com/nektos/act) (requires Docker / Docker Desktop):
158
-
159
-
```bash
160
-
brew install act
161
-
act -j test --matrix os:ubuntu-latest --container-architecture linux/amd64
162
-
```
163
-
164
-
## Demo
165
-
166
-
The demo GIFs are generated with [VHS](https://github.com/charmbracelet/vhs). To regenerate them:
See `website/README.md` for instructions on running the demo website locally.
185
-
186
-
It is deployed to https://hdi.md via GitHub Pages on every release.
187
-
188
-
## Benchmarking
189
-
190
-
Static benchmark READMEs in `bench/` (small, medium, large, stress) exercise parsing path at different scales. Run benchmarks with:
191
-
192
-
```bash
193
-
./bench/run # run benchmarks, print results
194
-
./bench/run --compare # compare current results against last release
195
-
./bench/run --log # also save to bench/results.csv (should only be used by release script / only run when creating a new release)
196
-
```
197
-
198
-
Benchmarks run automatically during `./release` and are recorded in `bench/results.csv`. A chart (`bench/results.svg`) is also generated to visualise performance across releases (via `bench/chart`).
199
-
200
-
## Publishing a new release
201
-
202
-
The `release` script bumps the version in `src/header.sh`, rebuilds `hdi`, commits, tags and pushes. The `release` Actions workflow will automatically build and publish a GitHub release when the tag is pushed, and the demo site is built and deployed via the `pages` workflow. The script then prints the `url` and `sha256` values to update in the [homebrew-tap](https://github.com/grega/homebrew-tap) repo (`Formula/hdi.rb`).
203
-
204
-
```bash
205
-
./release patch # 0.1.0 → 0.1.1
206
-
./release minor # 0.1.0 → 0.2.0
207
-
./release major # 0.1.0 → 1.0.0
208
-
./release 1.2.3 # explicit version
209
-
```
135
+
See `DEVELOPMENT.md` for instructions on setting up a local development environment, running tests, benchmarking, and generating demo GIFs.
0 commit comments