Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
423 commits
Select commit Hold shift + click to select a range
8ff776e
Merge pull request #259 from permaweb/feat/generic-codecs-as-inputs
samcamwilliams Apr 30, 2025
60facf4
Merge branch 'main' into chore/lua-script-body-or-data
samcamwilliams Apr 30, 2025
4c6b7fc
chore: fix test failure on `--module` or `--test` eval
samcamwilliams Apr 30, 2025
c2c54a4
Merge pull request #256 from permaweb/chore/lua-script-body-or-data
samcamwilliams Apr 30, 2025
fe4bfe8
chore(docs): Update ASCII logo and regenerate documentation timestamps
Apr 30, 2025
6a28398
fixed parallax overflow
jajablinky Apr 30, 2025
3cebd8b
Merge remote-tracking branch 'origin/main' into dpshade/new-docs-updates
Apr 30, 2025
807e374
fix(edoc): correct code quote syntax for edoc compatibility in docs a…
Apr 30, 2025
b3eee02
Merge pull request #249 from permaweb/dpshade/new-docs-updates
samcamwilliams May 1, 2025
e4e89fd
style(docs): Manually pull in jaja changes. update rock depth values …
May 1, 2025
6f930e4
updated buttons on home page
jajablinky May 1, 2025
af85c4c
Merge branch 'dpshade/docs-styling-content-updates' of https://github…
jajablinky May 1, 2025
04294a6
feat: added cache visualizer v2
PeterFarber May 1, 2025
bc36fd6
Merge pull request #261 from permaweb/feat/cacheviz2
samcamwilliams May 1, 2025
1cfb7d5
new titling for cta's and header
jajablinky May 1, 2025
f99db1a
button darkness, more clickable
jajablinky May 1, 2025
50d4324
fix(docs): correct links destinations
May 1, 2025
9648321
docs: Refactor docs structure and add device documentation
May 1, 2025
84cdcd6
docs: Removed backticks from the process version in the GET request e…
May 1, 2025
fa6cf3e
refactor(docs): begin -> introduction
May 1, 2025
7eaa30f
docs: Update navigation paths and configuration documentation
May 2, 2025
8b1b54a
fix(docs): correct the landing page links and the rest of the pathing…
May 2, 2025
cd93c1b
docs: update hero button title from 'Start' to 'Introduction'
May 2, 2025
e8f8a73
docs: add FAQ entry on current focus of HyperBEAM development
May 2, 2025
ad337f6
docs: add section on avoiding key conflicts in cache table
May 2, 2025
02fe915
docs: enhance pathing documentation with query parameters and type ca…
May 2, 2025
010c51f
feat: refactor node_history validation and unify options handling
PeterFarber May 2, 2025
d7426d7
docs: add initial state sync section to process state documentation
May 2, 2025
857397c
docs: remove link from code block
May 2, 2025
dd5bd9b
docs: update cache key examples for consistency in process state docu…
May 2, 2025
bd33bad
docs: enhance get-started guide with detailed process interaction ins…
May 2, 2025
b39628a
docs: clarify case sensitivity in cache key usage within process stat…
May 2, 2025
7cabe83
feat: handle ecdsa sigs
jfrain99 May 2, 2025
1e9c3bb
Merge pull request #264 from permaweb/feat/ecdsa
samcamwilliams May 2, 2025
5eac4f9
Merge pull request #262 from permaweb/dpshade/docs-styling-content-up…
samcamwilliams May 2, 2025
237856f
updated rough illustrations, font-sizing on docs relaxation, hover st…
jajablinky May 2, 2025
b791be8
wip: added payment-proxy
May 4, 2025
aed733f
wip: added some comments
May 4, 2025
c7a6676
impr: `~p4@1.0` uses the `balance` key on the ledger device during fe…
samcamwilliams May 4, 2025
253c2da
wip: lua node process managing payment balances
samcamwilliams May 4, 2025
feb5628
mv scripts/p4-payment-proxy to twilson63/p4-payment-proxy
twilson63 May 4, 2025
ab9fc54
chore: standardize indentation using spaces instead of tabs
PeterFarber May 4, 2025
169ac6e
Merge remote-tracking branch 'origin/main' into feat/generic-codecs-a…
PeterFarber May 4, 2025
a896fd6
Merge branch 'main' of https://github.com/permaweb/HyperBEAM into ult…
jajablinky May 4, 2025
3bddb43
chore: remove disabled `init`; formatting
samcamwilliams May 4, 2025
e6cb27d
Merge pull request #266 from permaweb/feat/generic-codecs-as-inputs
samcamwilliams May 4, 2025
8f43ea7
Merge branch 'main' of https://github.com/permaweb/HyperBEAM into ult…
jajablinky May 4, 2025
d0f6e5e
wip: subresolution of keys and path parts
samcamwilliams May 5, 2025
7cfa252
impr: allow subresolution of base message
samcamwilliams May 5, 2025
3bc3498
Merge pull request #267 from permaweb/feat/subresolution
samcamwilliams May 5, 2025
046cba7
Merge branch 'main' into feat/payment-processes
samcamwilliams May 5, 2025
6b12302
fix: p4-payment-client.lua now successfully schedules and execs `debits`
samcamwilliams May 5, 2025
dc030a3
feat: add external ledger polling to payment client
samcamwilliams May 5, 2025
7133812
fix: using trusted instead of snp_hashes
PeterFarber May 5, 2025
58e3404
Merge pull request #270 from permaweb/fix/register_attestation_opts
PeterFarber May 5, 2025
185b2df
fix: trusted -> snp_trusted | update registration in lua script | snp…
PeterFarber May 5, 2025
edd9ffc
Merge pull request #271 from permaweb/fix/register_attestation_opts
PeterFarber May 5, 2025
0beb5ae
updated rough illustrations, font-sizing on docs relaxation, hover st…
jajablinky May 2, 2025
bfafe79
docs: Update documentation, fix link, and adjust styles
May 5, 2025
8e84745
docs: fine tune readability
May 5, 2025
8ff89be
docs: fix llms.txt, and more md docs readability
May 5, 2025
de7e590
docs: add divs between sections for md content
May 5, 2025
5db2a65
docs: landing page buttons linked up, hero buttons now 'solidify' upo…
May 5, 2025
df02853
docs: adjust CSS line-height for improved readability
May 5, 2025
d2ced22
docs: improve documentation clarity
May 5, 2025
5389f3f
docs: update JSON device documentation and improve clarity
May 5, 2025
f435930
docs: correct cache field references
May 5, 2025
721142c
docs: enhance device documentation
May 5, 2025
2568a60
docs: refine device documentation for clarity and consistency
May 5, 2025
4ad1dba
docs: expand scheduler documentation with slot system details
May 5, 2025
e90b566
docs: update documentation to remove data types ToC reference
May 5, 2025
ef74da3
Merge branch 'main' of https://github.com/permaweb/HyperBEAM into ult…
jajablinky May 5, 2025
b4e1272
merged with dylan's branch
jajablinky May 5, 2025
5c75959
feat: normalize accept format in scheduler
jfrain99 May 5, 2025
2c2283b
feat: implement hooks API
samcamwilliams May 6, 2025
8c893c2
docs: add space to README command, fix permaweb glossary colors
May 6, 2025
c7bcebd
testing: LocalHash fix
PeterFarber May 5, 2025
58636be
fix: hook path resolution looks in the handler message, not the request
samcamwilliams May 6, 2025
4ae575e
feat: attempt to match requested keys against modules with `_` instea…
samcamwilliams May 6, 2025
3d9353e
chore: misc fixes
samcamwilliams May 6, 2025
62f473a
docs: device source code links and compute model hashpath intro
May 6, 2025
da10515
Merge branch 'dpshade/docs-content-styling' of https://github.com/per…
jajablinky May 6, 2025
b59e034
Merge pull request #276 from permaweb/fix/register_attestation_opts
samcamwilliams May 6, 2025
2d7d653
Merge branch 'main' of https://github.com/permaweb/HyperBEAM into fea…
samcamwilliams May 6, 2025
95807b2
width, nav friendliness, accessibility of TOC, font sizing
jajablinky May 6, 2025
3fee0f5
docs: dev_meta link
May 6, 2025
34374ae
Merge branch 'ultra-landing-page-updated-apr-docs' of https://github.…
May 6, 2025
74a78f7
docs: correct license information in FAQ
May 6, 2025
b481fc7
docs: auto-hide header on scroll
May 6, 2025
12930b4
docs: hide header faster
May 6, 2025
854fa59
impr: `Router@1.0` preprocessor supports default routing options
samcamwilliams May 6, 2025
162621e
chore: correctly locate the report to verify
samcamwilliams May 6, 2025
ae60afc
impr: make `is-admissible` generic; fix typo
samcamwilliams May 6, 2025
3f628bb
fix: we don't `io:format` in this town.
samcamwilliams May 7, 2025
7796085
Merge pull request #273 from permaweb/feat/normalize-schedule-accept-…
samcamwilliams May 7, 2025
2a74cb2
feat: improved patch and device set
samcamwilliams May 7, 2025
4d2d6f0
chore: move responsibility for setting `genesis-wasm` `patch-from` to…
samcamwilliams May 7, 2025
b3169ac
Merge pull request #277 from permaweb/feat/patch-all
samcamwilliams May 7, 2025
1939524
testing: LocalHash fix
PeterFarber May 5, 2025
2467b07
feat: normalize accept format in scheduler
jfrain99 May 5, 2025
00d1b81
fix: we don't `io:format` in this town.
samcamwilliams May 7, 2025
2dd343e
feat: improved patch and device set
samcamwilliams May 7, 2025
96b379c
chore: move responsibility for setting `genesis-wasm` `patch-from` to…
samcamwilliams May 7, 2025
2e1348d
testing: generating new report
PeterFarber May 7, 2025
c48397d
docs: fix some UI artifacts including active header in ToC as well as…
May 7, 2025
2ba057f
docs: simplify toc-highlighting, parent still active though
May 7, 2025
8db99ec
docs: un-highlights the parent nav link
May 7, 2025
96e1e77
fix: attestestion validation in dynamic_router_test
PeterFarber May 7, 2025
7ecca08
Merge branch 'main' into TEE/dev-main
PeterFarber May 7, 2025
ee5d066
fix: dev_router tests | dynamic_routing_by_performance_test_ | local_…
PeterFarber May 7, 2025
79e70e5
impr: force certain values to be ANS-104 tags, rather than base fields.
samcamwilliams May 7, 2025
6db8703
Merge pull request #279 from permaweb/impr/ans104-forced-tags
samcamwilliams May 7, 2025
3dbdc79
Merge branch 'main' into TEE/dev-main
samcamwilliams May 7, 2025
38edf5e
fix: `dynamic-router` verification in `by_perf` test
samcamwilliams May 7, 2025
dea5526
fix: Response upon downstream HTTP error
samcamwilliams May 7, 2025
6bf7423
chore: remove unnecessary warning print in `meta@1.0` test
samcamwilliams May 7, 2025
0e4029e
Merge pull request #278 from permaweb/TEE/dev-main
samcamwilliams May 7, 2025
ceabbe2
feat: expose `build` information on `~meta@1.0/build`.
samcamwilliams May 7, 2025
03d8b28
chore: change `commit` name to avoid key conflict with `~message@1.0`
samcamwilliams May 7, 2025
ee6af0b
Merge pull request #280 from permaweb/feat/build-info
samcamwilliams May 7, 2025
e99d69f
docs: consolidate custom nav into toc highlight
May 8, 2025
0c438b5
Merge branch main into current branch with resolved conflicts
May 8, 2025
9799df3
fix: revert to incoming change from main
May 8, 2025
73f2dc5
fix(edoc): update include lib path to pass edoc compiler, update docs…
May 8, 2025
f00cb42
fix: do not include `tags` as ANS-104 nested messages...
samcamwilliams May 8, 2025
e3a2ccb
impr: `~push@1.0` supports user-requested depth for compute results
samcamwilliams May 8, 2025
fb0f37b
Merge pull request #281 from permaweb/impr/push@1.0
samcamwilliams May 8, 2025
e06a354
impr: `scheduler@1.0/location` key
samcamwilliams May 9, 2025
514bc87
Merge pull request #282 from permaweb/impr/scheduler@1.0/location
samcamwilliams May 9, 2025
619ecb2
fix: do not include `tags` as ANS-104 nested messages...
samcamwilliams May 8, 2025
76e4a09
impr: `~push@1.0` supports user-requested depth for compute results
samcamwilliams May 8, 2025
f97dd04
impr: `scheduler@1.0/location` key
samcamwilliams May 9, 2025
a8f0366
fix(docs): edoc compiles again
May 9, 2025
ea0c60f
docs: rm adfs recommendation
May 9, 2025
ff9e929
docs: comment to hide uncertain dep recs
May 9, 2025
50be0ed
docs: update github action to successfully permaweb deploy to dps-tes…
May 9, 2025
0b4cb05
docs: g8way.io to arweave.net for ao installation
May 9, 2025
c8011fe
fix: encoding issue when calling local scheduler
May 9, 2025
b634094
revert comment
May 9, 2025
578826e
Merge pull request #283 from permaweb/fix/encoding-application-aos-2
samcamwilliams May 9, 2025
6074489
docs: fixing some sidebar artifacts from MKdocs hierarchy
May 9, 2025
c1c8e03
docs: reorder source code modules
May 9, 2025
dee5276
fix: updated dev_push to normalize output to support both luerl and wasm
twilson63 May 10, 2025
f61b8d0
feat: added a dev_volume device to allow mounting without greenzone
PeterFarber May 10, 2025
8c1908c
Merge pull request #284 from permaweb/fix/normalize-output
samcamwilliams May 10, 2025
121122b
chore: s/script/module
May 11, 2025
eefc3d0
chore: s/script/module for lua@5.3a
May 11, 2025
21e98b8
Merge pull request #286 from permaweb/chore/replace-module-for-script
samcamwilliams May 11, 2025
14f6e35
feat(volume): enhance security and validation in device volume manage…
PeterFarber May 12, 2025
1016743
refactor(volume): consolidate parameter validation by including volum…
PeterFarber May 12, 2025
c5aead1
impr: `~push@1.0` supports user-requested depth for compute results
samcamwilliams May 8, 2025
ec13875
fix: encoding issue when calling local scheduler
May 9, 2025
461facf
revert comment
May 9, 2025
14a6480
fix: updated dev_push to normalize output to support both luerl and wasm
twilson63 May 10, 2025
c76fd8b
chore: s/script/module
May 11, 2025
3b963b9
chore: s/script/module for lua@5.3a
May 11, 2025
588d79f
docs: fix dev_push comment, now edocs compiles
dpshde May 12, 2025
469a605
Merge branch 'main' into dpshade/docs-content-styling
dpshde May 12, 2025
d4ec6f8
refactor(green-zone): improve documentation and standardize module st…
PeterFarber May 12, 2025
dc26169
refactor(volume): improve parameter validation and code formatting
PeterFarber May 12, 2025
f34eaa5
feat(router): add info API and improve parameter validation
PeterFarber May 12, 2025
971715f
chore: use spaces instead of tabs for indentation
PeterFarber May 12, 2025
e11fc89
feat: Add secure key exchange for volume encryption
PeterFarber May 12, 2025
ff66b25
Merge pull request #285 from permaweb/feat/dev_volume
samcamwilliams May 12, 2025
d317c38
docs: fix jitter/stutter when navigating MD content caused by custom …
dpshde May 14, 2025
4c2f571
feat: added a dev_volume device to allow mounting without greenzone
PeterFarber May 10, 2025
49fb15e
feat(volume): enhance security and validation in device volume manage…
PeterFarber May 12, 2025
f819325
refactor(volume): consolidate parameter validation by including volum…
PeterFarber May 12, 2025
d77e02b
refactor(green-zone): improve documentation and standardize module st…
PeterFarber May 12, 2025
a33d952
refactor(volume): improve parameter validation and code formatting
PeterFarber May 12, 2025
1834fea
feat(router): add info API and improve parameter validation
PeterFarber May 12, 2025
aeb1e34
chore: use spaces instead of tabs for indentation
PeterFarber May 12, 2025
403e328
feat: Add secure key exchange for volume encryption
PeterFarber May 12, 2025
4d49fcc
fix(docs): fix double returns doc comments so that edoc compiles
dpshde May 15, 2025
c97e719
Merge branch 'main' into dpshade/docs-content-styling
dpshde May 15, 2025
a2cde65
docs: update readme doc references
dpshde May 15, 2025
95c7957
docs: separate docs README from primary README, with a short snippet …
dpshde May 19, 2025
b2743e4
Merge pull request #268 from permaweb/dpshade/docs-content-styling
samcamwilliams May 20, 2025
c176f5f
feat: init load_revm nif
charmful0x Apr 21, 2025
73a8b0b
chore: add gitignore
charmful0x Apr 21, 2025
93fdace
fix: delete /target -- oops
charmful0x Apr 21, 2025
d30ee0c
fix: deleted commited target
charmful0x Apr 21, 2025
3d929bf
feat: evm bytecode interpreter
charmful0x Apr 21, 2025
0178ccd
feat: EVM interpreter PoC
charmful0x Apr 21, 2025
20682ed
chore: test erc20 deployment
charmful0x Apr 22, 2025
b8b7a48
fix: storage present value hex encoding
charmful0x Apr 22, 2025
76868c5
chore: erc20 tranfer
charmful0x Apr 22, 2025
c11bff9
chore: remove unncessary util file
charmful0x Apr 22, 2025
f793e8f
chore: referenced genesis address
charmful0x Apr 22, 2025
607ab9f
feat: custom EVM -- block gas limit & contract size
charmful0x Apr 22, 2025
5f06c8d
chore: add json files
charmful0x Apr 22, 2025
a615ea8
fix: evaluated state merging
charmful0x Apr 22, 2025
93fa7b6
feat: uniswap contracts set deployment tests
charmful0x Apr 22, 2025
8bce4a7
chore: add wtLOAD test
charmful0x Apr 22, 2025
a7c172d
feat: add zama devnet appchain
charmful0x Apr 23, 2025
5f3041b
feat: add zama computed state
charmful0x Apr 23, 2025
f1ec551
feat: eip1967 slot management fix + zama appchain
charmful0x Apr 23, 2025
94cd3a3
chore: fix EncryptedERC20.sol tests
charmful0x Apr 23, 2025
a6649a8
chore: organize tests
charmful0x Apr 23, 2025
0076a77
feat: dynamic state result cout
charmful0x Apr 23, 2025
b73b2b8
feat: appchain state retrieval
charmful0x Apr 26, 2025
36329ba
feat: erlang evm tests
charmful0x Apr 26, 2025
4612923
feat: evm device
charmful0x Apr 26, 2025
9aaaacd
chore: comment code
charmful0x Apr 28, 2025
9ac20a9
fix: cleanup git
charmful0x May 2, 2025
f191b5c
feat: erc20 deploy test
charmful0x May 2, 2025
e59beb4
feat: full erc20 test suite
charmful0x May 3, 2025
eaea6b3
feat: nif functions interfaces
charmful0x May 3, 2025
caa5567
feat: add state utils
charmful0x May 3, 2025
d5f03eb
feat: state shallow merge
charmful0x May 4, 2025
ca90d7f
feat: get appchains state
charmful0x May 4, 2025
e0aa485
feat: genesis & state initialization
charmful0x May 4, 2025
d2eca63
chore: commit uncommited appchain dir
charmful0x May 4, 2025
3dad734
feat: mvp-ready eval_riscv_bytecode
charmful0x May 4, 2025
5cb178d
chore: gmt
charmful0x May 4, 2025
7f834f6
feat: dev_riscv_em device interface
charmful0x May 5, 2025
659a0c8
feat: hb_http & hb_ao tests for evm device
charmful0x May 15, 2025
239a3b2
feat: init kernel-em nif
charmful0x May 15, 2025
7e768d5
feat: default kem fn
charmful0x May 15, 2025
4d544bf
feat: rustlify kem
charmful0x May 15, 2025
f5b419a
feat: add double kernel test
charmful0x May 15, 2025
5aba432
feat: adapter info
charmful0x May 15, 2025
ff5ef2a
chore: fmt
charmful0x May 15, 2025
83a29ea
fix: input/output size ratio multiplier
charmful0x May 15, 2025
d3311ef
fix: proper crate release target
charmful0x May 16, 2025
abc8145
fix: kernel input as Binary instead of Vec<u8>
charmful0x May 16, 2025
5624198
feat: add kem@1.0 device interface
charmful0x May 16, 2025
17db81e
chore: add kem lua test
charmful0x May 16, 2025
ebe9a58
docs: add README & LICENSE
charmful0x May 17, 2025
02b974f
docs: add disclaimer
charmful0x May 17, 2025
f15f663
feat: deployment files
charmful0x May 18, 2025
785b780
fix: riscv_em_nif lib name
charmful0x May 18, 2025
fbe84f4
chore: update user
charmful0x May 18, 2025
bda3f9c
fix: deployment service
charmful0x May 18, 2025
94bb7b8
feat: deployment scripts
charmful0x May 18, 2025
4c015b9
feat: eval_tx method interface
charmful0x May 20, 2025
4750691
chore: add hb portal faucet address
charmful0x May 20, 2025
7bca9ff
chore: update 9496 chain name
charmful0x May 22, 2025
71ced63
docs: add evm device docs
charmful0x May 27, 2025
2e9de7c
docs: fix typos
charmful0x May 27, 2025
e84961a
feat: updated wgsl kernel fn
charmful0x Jun 3, 2025
3d623ef
feat: add rustler execute_kernel_with_params
charmful0x Jun 3, 2025
68da58a
feat: update kem device with uniform handler
charmful0x Jun 3, 2025
ecb920d
fix: img pixelisation hotfix
charmful0x Jun 3, 2025
a5ea81a
fix: img pre-post-processing + workinggroups fix
charmful0x Jun 4, 2025
95ab718
chore: fmt
charmful0x Jun 4, 2025
e615e16
chore: more cleanup
charmful0x Jun 4, 2025
6ce9eeb
feat: expose real time logs
charmful0x Jun 6, 2025
39967e3
chore: add glitch kernel src
charmful0x Jun 8, 2025
a77144f
Merge branch 'main' into rebased-state
the-db-architect Jun 10, 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
204 changes: 204 additions & 0 deletions .github/workflows/build-deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
name: 🥘 Build & Deploy Docs HB

on:
pull_request:
branches:
- main
paths:
# Trigger on changes to docs, mkdocs config, or the workflow itself
- "docs/**"
- "mkdocs.yml"
- ".github/workflows/build-deploy-docs.yml"
push:
branches:
- main
paths:
# Trigger on changes to docs, mkdocs config, or the workflow itself
- "docs/**"
- "mkdocs.yml"
- ".github/workflows/build-deploy-docs.yml"

# Perform a release using a workflow dispatch
workflow_dispatch:

defaults:
run:
shell: bash

jobs:
# Run the build as part of PRs to confirm the site properly builds
check_build:
if: ${{ startsWith(github.ref, 'refs/pull/') }}
runs-on: ubuntu-22.04
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v3

# Setup Python environment
- name: 🐍 Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x' # Use a recent Python 3 version

# Install Erlang OTP 27 using kerl
- name: Install Erlang OTP 27
run: |
sudo apt-get update
sudo apt-get install -y build-essential autoconf libncurses5-dev libssl-dev
git clone https://github.com/kerl/kerl.git
./kerl/kerl build 27.0 otp-27.0
./kerl/kerl install otp-27.0 ~/otp-27.0
echo '. ~/otp-27.0/activate' >> ~/.bashrc
. ~/otp-27.0/activate
echo "Erlang version:"
erl -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().'
# Install system dependencies needed for HyperBEAM
- name: Install system dependencies
run: |
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
pkg-config \
ncurses-dev \
libssl-dev \
ca-certificates
# Debug step - display the region with syntax error
- name: Debug syntax error region
run: |
echo "Showing the region with syntax error in hb_message.erl:"
sed -n '1440,1460p' src/hb_message.erl || echo "File not found or cannot be read"
echo "Checking for syntax error fix files:"
find . -name "*.erl.fix" -o -name "hb_message.erl.*" | grep -v ".beam" || echo "No fix files found"
echo "Erlang version:"
. ~/otp-27.0/activate && erl -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().'
# Install rebar3
- name: Install rebar3
run: |
. ~/otp-27.0/activate
mkdir -p ~/.config/rebar3
curl -O https://s3.amazonaws.com/rebar3/rebar3 && chmod +x rebar3
sudo mv rebar3 /usr/local/bin/rebar3
. ~/otp-27.0/activate && rebar3 --version
# Install Rust toolchain (needed for WASM components)
- name: Install Rust and Cargo
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
source "$HOME/.cargo/env"
# Setup Node.js
- name: ⎔ Setup Node
uses: actions/setup-node@v3
with:
node-version: 22 # Or your preferred version

# Install pip dependencies and cache them
- name: 📦 Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin
- name: 🛠 Build Docs
run: |
. ~/otp-27.0/activate
SKIP_COMPILE=1 SKIP_EDOC=1 ./docs/build-all.sh -v
# Build and deploy the artifacts to Arweave via ArDrive
deploy:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-22.04
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these deployments to complete.
concurrency:
group: deploy
cancel-in-progress: false
steps:
- name: ⬇️ Checkout repo
uses: actions/checkout@v3

# Setup Python environment
- name: 🐍 Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

# Install Erlang OTP 27 using kerl
- name: Install Erlang OTP 27
run: |
sudo apt-get update
sudo apt-get install -y build-essential autoconf libncurses5-dev libssl-dev
git clone https://github.com/kerl/kerl.git
./kerl/kerl build 27.0 otp-27.0
./kerl/kerl install otp-27.0 ~/otp-27.0
echo '. ~/otp-27.0/activate' >> ~/.bashrc
. ~/otp-27.0/activate
echo "Erlang version:"
erl -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().'
# Install system dependencies needed for HyperBEAM
- name: Install system dependencies
run: |
sudo apt-get update && sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
pkg-config \
ncurses-dev \
libssl-dev \
ca-certificates
# Debug step - display the region with syntax error
- name: Debug syntax error region
run: |
echo "Showing the region with syntax error in hb_message.erl:"
sed -n '1440,1460p' src/hb_message.erl || echo "File not found or cannot be read"
echo "Checking for syntax error fix files:"
find . -name "*.erl.fix" -o -name "hb_message.erl.*" | grep -v ".beam" || echo "No fix files found"
echo "Erlang version:"
. ~/otp-27.0/activate && erl -eval 'io:format("~s~n", [erlang:system_info(otp_release)]), halt().'
# Install rebar3
- name: Install rebar3
run: |
. ~/otp-27.0/activate
mkdir -p ~/.config/rebar3
curl -O https://s3.amazonaws.com/rebar3/rebar3 && chmod +x rebar3
sudo mv rebar3 /usr/local/bin/rebar3
. ~/otp-27.0/activate && rebar3 --version
# Install Rust toolchain (needed for WASM components)
- name: Install Rust and Cargo
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
source "$HOME/.cargo/env"
# Install pip dependencies and cache them
- name: 📦 Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin
# Setup Node.js (needed for npx deploy command)
- name: ⎔ Setup Node
uses: actions/setup-node@v3
with:
node-version: 22 # Or your preferred version

- name: 👀 Env
run: |
echo "Event name: ${{ github.event_name }}"
echo "Git ref: ${{ github.ref }}"
echo "GH actor: ${{ github.actor }}"
echo "SHA: ${{ github.sha }}"
VER=`node --version`; echo "Node ver: $VER"
VER=`npm --version`; echo "npm ver: $VER"
. ~/otp-27.0/activate && erl -eval 'io:format("Erlang OTP version: ~s~n", [erlang:system_info(otp_release)]), halt().'
- name: 🛠 Build Docs
id: build_artifacts
run: |
. ~/otp-27.0/activate
SKIP_COMPILE=1 SKIP_EDOC=1 ./docs/build-all.sh -v
touch mkdocs-site/.nojekyll
echo "artifacts_output_dir=mkdocs-site" >> $GITHUB_OUTPUT
- name: 💾 Publish to Arweave
id: publish_artifacts
run: |
npx permaweb-deploy \
--arns-name=dps-testing-facility \
--ant-process=${{ secrets.ANT_PROCESS }} \
--deploy-folder=${ARTIFACTS_OUTPUT_DIR}
env:
DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}
ARTIFACTS_OUTPUT_DIR: ${{ steps.build_artifacts.outputs.artifacts_output_dir }}
ANT_PROCESS: ${{ secrets.ANT_PROCESS }}
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ logs
*.iml
rebar3.crashdump
*~
/venv

*.json
!.vscode/*
Expand All @@ -40,4 +41,7 @@ cache-*

cu/
mkdocs-site/
deployment.sh
mkdocs-site-id.txt
mkdocs-site-manifest.csv
!test/admissible-report-wallet.json
deployment.sh
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"editor.detectIndentation": false,
"editor.insertSpaces": false,
"editor.insertSpaces": true,
"editor.tabSize": 4
}
52 changes: 23 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ To start a shell with profiles:
rebar3 as rocksdb shell

# Multiple profiles
rebar3 as rocksdb,genesis_wasm shell
rebar3 as rocksdb, genesis_wasm shell
```

To create a release with profiles:
Expand Down Expand Up @@ -266,42 +266,36 @@ schedule of another execution.
Details on other devices found in the pre-loaded set can be located in their
respective documentation.

## Contributing
## Documentation

HyperBEAM is developed as an open source implementation of the AO-Core protocol
by [Forward Research](https://fwd.arweave.net). Pull Requests are always welcome!
HyperBEAM uses [MkDocs](https://www.mkdocs.org/) with the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme to build its documentation site. All documentation source files are located in the `docs/` directory.

To get started building on HyperBEAM, check out the [hacking on HyperBEAM](./docs/contribute/setup.md)
guide.
To build and view the documentation locally:

## Documentation
```bash
# Create and activate a virtual environment (optional but recommended)
python3 -m venv venv
source venv/bin/activate # (macOS/Linux) On Windows use `venv\Scripts\activate`

HyperBEAM uses [MkDocs](https://www.mkdocs.org/) with the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme to build its documentation site.
# Install required packages
pip3 install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin

Building the documentation requires Python 3, pip, and the following packages:
```bash
pip3 install mkdocs mkdocs-material
```
# Build the docs
./docs/build-all.sh

- **Source Files:** All documentation source files (Markdown `.md`, images, CSS) are located in the `docs/` directory.
- **Source Code Docs:** Erlang source code documentation is generated using `rebar3 edoc` (with the `edown_doclet` plugin) into the `docs/source-code-docs/` directory as Markdown files. These are then incorporated into the main MkDocs site.
- **Build Script:** The entire process (compiling, generating edoc, processing source docs, building the site) is handled by the `./docs/build-all.sh` script.
# Serve the docs
cd mkdocs-site
python3 -m http.server 8000
# Then open http://127.0.0.1:8000/ in your browser
```

To build and view the documentation locally:
For more details on the documentation structure, how to contribute, and other information, please see the [full documentation README](./docs/README.md).

1. Ensure you are in the project root directory.
2. Run the build script:
```bash
./docs/build-all.sh
```
## Contributing

This script performs the following steps:
- Compiles the Erlang project (`rebar3 compile`).
- Generates Markdown documentation from source code comments (`rebar3 edoc`) into `docs/source-code-docs/`.
- Processes the generated source code Markdown files (updates index, cleans up TOCs).
- Builds the MkDocs site into the `dist/mkdocs` directory (`mkdocs build`).
- Starts a local development server (`mkdocs serve`) to view the site at `http://127.0.0.1:8000/`.
HyperBEAM is developed as an open source implementation of the AO-Core protocol
by [Forward Research](https://fwd.arweave.net). Pull Requests are always welcome!

Press `Ctrl+C` in the terminal where the script is running to stop the local server.
To get started building on HyperBEAM, check out the [hacking on HyperBEAM](./docs/misc/hacking-on-hyperbeam.md)
guide.

The final static site is generated in the `dist/mkdocs` directory, as configured in `mkdocs.yml` (`site_dir: dist/mkdocs`).
2 changes: 1 addition & 1 deletion config.flat
Original file line number Diff line number Diff line change
@@ -1 +1 @@
port: 10001
port: 10001
Loading