Skip to content

Commit 7b07b9d

Browse files
ychenychen
authored andcommitted
Adopt the shared Octoscript-Makepad runtime contract
1 parent 2eccd4b commit 7b07b9d

9 files changed

Lines changed: 1535 additions & 3 deletions

File tree

‎.github/workflows/runtime.yml‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Shared runtime
2+
on: [push, pull_request, workflow_dispatch]
3+
permissions:
4+
contents: read
5+
jobs:
6+
check:
7+
runs-on: macos-14
8+
steps:
9+
- uses: actions/checkout@v6
10+
with:
11+
path: workspace/Octoscript-Android
12+
- uses: actions/setup-python@v6
13+
with:
14+
python-version: '3.12'
15+
- uses: dtolnay/rust-toolchain@stable
16+
- name: Prepare Octoscript-Makepad
17+
working-directory: workspace/Octoscript-Android
18+
run: python tools/setup-native.py
19+
- name: Compile with the shared runtime
20+
working-directory: workspace/Octoscript-Android
21+
run: |
22+
cargo check --locked --manifest-path catalog/rust/Cargo.toml
23+
cargo check --locked --manifest-path probe/rust/Cargo.toml
24+
- name: Reject divergent runtime sources
25+
working-directory: workspace/Octoscript-Android
26+
run: |
27+
python tools/setup-native.py --check --cargo-manifest catalog/rust/Cargo.toml
28+
python tools/setup-native.py --check --cargo-manifest probe/rust/Cargo.toml

‎.gitignore‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# Rust
22
target/
3-
Cargo.lock
43

54
# Gradle / Android
65
build/

‎README.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Octoscript-Android
22

3+
## Shared Octoscript-Makepad runtime
4+
5+
`native-runtime.lock.json` selects one
6+
[Octoscript-Makepad](https://github.com/OctoSense-org/Octoscript-Makepad)
7+
release. Its `runtime.json` owns the exact Makepad and Octoscript revisions,
8+
shared with AppCards, Mail and the other OctoSense applications.
9+
10+
Before building, run `python3 tools/setup-native.py` (Python 3.9+). The framework
11+
repositories are siblings of this app: `../octoscript-makepad`, `../makepad`
12+
and `../octoscript`. Local changes are preserved; `--update` only updates clean
13+
checkouts. CI verifies the selected release and rejects duplicate Makepad sources.
14+
Use `python3 tools/setup-native.py --check --cargo-manifest catalog/rust/Cargo.toml`
15+
to check the local dependency graph. Existing platform rendering backends remain
16+
part of their applications; the framework controls the shared VM and UI sources.
17+
18+
319
Octoscript DSL rendered to **native Android widgets** from Rust — the Android peer of
420
[Octoscript-OH](https://github.com/OctoSense-org/Octoscript-OH), which does the same against
521
OpenHarmony's ArkUI.

0 commit comments

Comments
 (0)