Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
28 changes: 28 additions & 0 deletions .github/workflows/runtime.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Shared runtime
on: [push, pull_request, workflow_dispatch]
permissions:
contents: read
jobs:
check:
runs-on: macos-14
steps:
- uses: actions/checkout@v6
with:
path: workspace/Octoscript-Android
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- uses: dtolnay/rust-toolchain@stable
- name: Prepare Octoscript-Makepad
working-directory: workspace/Octoscript-Android
run: python tools/setup-native.py
- name: Compile with the shared runtime
working-directory: workspace/Octoscript-Android
run: |
cargo check --locked --manifest-path catalog/rust/Cargo.toml
cargo check --locked --manifest-path probe/rust/Cargo.toml
- name: Reject divergent runtime sources
working-directory: workspace/Octoscript-Android
run: |
python tools/setup-native.py --check --cargo-manifest catalog/rust/Cargo.toml
python tools/setup-native.py --check --cargo-manifest probe/rust/Cargo.toml
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Rust
target/
Cargo.lock

# Gradle / Android
build/
Expand Down
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Octoscript-Android

## Shared Octoscript-Makepad runtime

`native-runtime.lock.json` selects one
[Octoscript-Makepad](https://github.com/OctoSense-org/Octoscript-Makepad)
release. Its `runtime.json` owns the exact Makepad and Octoscript revisions,
shared with AppCards, Mail and the other OctoSense applications.

Before building, run `python3 tools/setup-native.py` (Python 3.9+). The framework
repositories are siblings of this app: `../octoscript-makepad`, `../makepad`
and `../octoscript`. Local changes are preserved; `--update` only updates clean
checkouts. CI verifies the selected release and rejects duplicate Makepad sources.
Use `python3 tools/setup-native.py --check --cargo-manifest catalog/rust/Cargo.toml`
to check the local dependency graph. Existing platform rendering backends remain
part of their applications; the framework controls the shared VM and UI sources.


Octoscript DSL rendered to **native Android widgets** from Rust — the Android peer of
[Octoscript-OH](https://github.com/OctoSense-org/Octoscript-OH), which does the same against
OpenHarmony's ArkUI.
Expand Down
Loading