Skip to content

Commit 2188e40

Browse files
committed
EmbeddedOS website v0.4.0 - Colorful developer docs with API reference
0 parents  commit 2188e40

15 files changed

Lines changed: 3505 additions & 0 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: pages
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Validate HTML
25+
run: |
26+
echo "── Checking for required files ──"
27+
test -f index.html || { echo "ERROR: index.html not found"; exit 1; }
28+
echo "✓ index.html exists"
29+
30+
echo "── Checking for broken internal links ──"
31+
MISSING=0
32+
for file in $(grep -oP 'href="(?!https?://|#|mailto:)[^"]+' index.html | sed 's/href="//'); do
33+
if [ ! -f "$file" ]; then
34+
echo "WARNING: linked file not found: $file"
35+
MISSING=$((MISSING + 1))
36+
fi
37+
done
38+
if [ "$MISSING" -eq 0 ]; then
39+
echo "✓ No broken internal links"
40+
fi
41+
42+
echo "── File sizes ──"
43+
for f in $(find . -name '*.html' -o -name '*.css' -o -name '*.js' | grep -v node_modules | grep -v .git); do
44+
SIZE=$(wc -c < "$f")
45+
echo " $f: ${SIZE} bytes"
46+
done
47+
echo "✓ Build validation complete"
48+
49+
- name: Prepare CNAME
50+
run: |
51+
if [ -f CNAME ]; then
52+
DOMAIN=$(grep -v '^#' CNAME | grep -v '^$' | head -1)
53+
if [ -n "$DOMAIN" ]; then
54+
echo "$DOMAIN" > CNAME
55+
echo "✓ Custom domain: $DOMAIN"
56+
else
57+
echo "ℹ CNAME has no active domain — removing from artifact"
58+
rm -f CNAME
59+
fi
60+
else
61+
echo "ℹ No CNAME file — using default github.io domain"
62+
fi
63+
64+
- name: Setup Pages
65+
uses: actions/configure-pages@v5
66+
67+
- name: Upload artifact
68+
uses: actions/upload-pages-artifact@v3
69+
with:
70+
path: .
71+
72+
deploy:
73+
runs-on: ubuntu-latest
74+
needs: build
75+
environment:
76+
name: github-pages
77+
url: ${{ steps.deployment.outputs.page_url }}
78+
steps:
79+
- name: Deploy to GitHub Pages
80+
id: deployment
81+
uses: actions/deploy-pages@v4

CNAME

Whitespace-only changes.

README.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# EoS — Embedded Operating System
2+
3+
**Website**: [embeddedos-org.github.io](https://embeddedos-org.github.io)
4+
5+
## v0.1.0 Release
6+
7+
All 9 repositories at v0.1.0, 1 commit each.
8+
9+
### Ecosystem
10+
11+
| Repo | Description | Version |
12+
|---|---|---|
13+
| [eos](https://github.com/embeddedos-org/eos) | Core OS — HAL (33 peripherals), kernel, services, GDB stub, core dump, service manager, loadable drivers, device tree parser | v0.1.0 |
14+
| [eboot](https://github.com/embeddedos-org/eboot) | Bootloader — 26 board ports, A/B update, secure boot, crypto | v0.1.0 |
15+
| [ebuild](https://github.com/embeddedos-org/ebuild) | Build system — SDK generator (14 targets), eBoot board generator, deliverable packager, gated release | v0.1.0 |
16+
| [eipc](https://github.com/embeddedos-org/eipc) | Secure IPC — Go + C SDK, HMAC, replay protection | v0.1.0 |
17+
| [eai](https://github.com/embeddedos-org/eai) | AI layer — llama.cpp, agent loop, Ebot server | v0.1.0 |
18+
| [eni](https://github.com/embeddedos-org/eni) | Neural interface — BCI, assistive input | v0.1.0 |
19+
| [EoSuite](https://github.com/embeddedos-org/EoSuite) | Dev tools — Ebot client, 20+ GUI apps | v0.1.0 |
20+
21+
### Supported Hardware (14 targets)
22+
23+
| Target | Arch | CPU | Vendor | Board |
24+
|---|---|---|---|---|
25+
| stm32f4 | ARM | Cortex-M4 | ST | STM32F407 |
26+
| stm32h7 | ARM | Cortex-M7 | ST | STM32H743 |
27+
| nrf52 | ARM | Cortex-M4 | Nordic | nRF52840 |
28+
| rp2040 | ARM | Cortex-M0+ | RPi | RP2040 |
29+
| raspi3 | AArch64 | Cortex-A53 | Broadcom | BCM2837 |
30+
| raspi4 | AArch64 | Cortex-A72 | Broadcom | BCM2711 |
31+
| imx8m | AArch64 | Cortex-A53 | NXP | i.MX8M |
32+
| am64x | AArch64 | Cortex-A53 | TI | AM6442 |
33+
| riscv_virt | RISC-V | rv64gc | QEMU | virt |
34+
| sifive_u | RISC-V | U74 | SiFive | FU740 |
35+
| malta | MIPS | 24Kf | MIPS | Malta |
36+
| x86_64 | x86_64 | generic | Generic | PC/Server |
37+
38+
### Build & Deploy
39+
40+
```bash
41+
# Generate SDK for target
42+
ebuild sdk --target raspi4
43+
44+
# Source environment
45+
source build/eos-sdk-raspi4/environment-setup
46+
47+
# Build
48+
cmake -B build -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE
49+
cmake --build build
50+
51+
# Deploy
52+
scp build/app pi@192.168.1.100:~/
53+
```
54+
55+
### Release Deliverables
56+
57+
Every build produces `eos-{target}-v0.1.0-deliverable.zip`:
58+
- **EoS source code + SDK** for the product
59+
- **eBoot source code** + board config for the target
60+
- **EAI source code** + Ebot server
61+
- **ENI source code**
62+
- **EoSuite binaries** for the product
63+
- Auto-generated `eos_product_config.h`
64+
65+
### CI/CD
66+
67+
- Gated release — all repos must pass before release
68+
- 104 CI jobs across all repos per push
69+
- 11 QEMU board types, 6 architectures
70+
- Cross-repo dispatch — change in any repo validates all

0 commit comments

Comments
 (0)