Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
17478e3
Frontend/README: update to point to the website for the doc
dannywillems Sep 17, 2025
1c6f213
Website/sidebar: add frontend page
dannywillems Sep 17, 2025
433c3c4
Website/frontend: add page
dannywillems Sep 17, 2025
42b7ee6
Wesbite: removing info section reg. WIP status of frontend
dannywillems Sep 18, 2025
6b3fd32
docker-compose: symlink to website assets for viewing on website
dannywillems Sep 18, 2025
94490ff
Docker-compose dev: remove usecase - prioritizing manual build
dannywillems Sep 18, 2025
934e6ff
Website/frontend: add docker-compose content
dannywillems Sep 18, 2025
3d46d86
Environment variable: add env example
dannywillems Sep 18, 2025
86a9d7f
Dockerfile/frontend: lower case build image
dannywillems Sep 18, 2025
efcb8bd
CI: add documentation to run CI jobs with act
dannywillems Sep 18, 2025
df116ba
Ignore .env file
dannywillems Sep 18, 2025
8430ff5
Makefile/lint-bash: ignore new bash scripts
dannywillems Sep 18, 2025
c214f70
CI: add jobs to test frontend scripts from documentation
dannywillems Sep 18, 2025
052eefd
Frontend: remove old firebase configuration
dannywillems Sep 19, 2025
2a79a7a
WIP
dannywillems Sep 22, 2025
6b7059b
Dockerignore: update
dannywillems Sep 22, 2025
e95460a
fixup! Dockerignore: update
dannywillems Sep 22, 2025
c6b653d
Website/frontend: update instructions to build docker image
dannywillems Sep 22, 2025
91c8d56
fixup! fixup! Dockerignore: update
dannywillems Sep 22, 2025
9ea63bb
CI/Makefile: setup-wasm installs wasm-bindgen-cli
dannywillems Sep 22, 2025
3346bad
Frontend: title is Mina Rust frontend, not OpenMina
dannywillems Sep 22, 2025
a327a70
Frontend: document interface MinaEnv
dannywillems Sep 23, 2025
f085693
CI: stop building for each platform at each PR
dannywillems Sep 23, 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
62 changes: 52 additions & 10 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,24 @@
target/
# MISC
.gitignore
ARCHITECTURE.md
CHANGELOG.md
CLAUDE.md
README.md
status.md

# Docker related
Dockerfile
Dockerfile_FE
docker-compose.yml
docker-compose.block-producer.yml
docker-compose.archive.devnet.compare.yml
docker-compose.archive.devnet.yml
docker-compose.archive.local.producers.yml
docker/
run-debugger-ocaml-node.yaml
run.yaml

.dockerignore

cli/bin
cli/tests
!cli/bin/snark-worker
Expand All @@ -15,19 +31,45 @@ tools/heartbeats-processor/*.db
# Ensure .sqlx files are included
!tools/heartbeats-processor/.sqlx/

# Will be copied on demand in the Docker image, if necessary
circuit-blobs

# GH workflows
.claude
.github
.idea

# Infrastructure
helm

# Output of build-wasm
pkg

# Outputs of build-tests-webrtc

# We do not use Nix to build the Docker images, therefore we can ignore the Nix
# related files
flake.lock
flake.nix

# Environment files
.env
.env.example

# Rust related files
target/
.rustfmt.toml
clippy.toml
taplo.toml

## Outputs of build-tests-webrtc
cargo-build-test.json
tests.tsv
tests.tsv


# The website must not be included
website

# NPM related
node_modules

# Frontend
frontend/.editorconfig
frontend/.gitignore
frontend/.vscode
frontend/dist/frontend
frontend/Dockerfile
frontend/node_modules
24 changes: 24 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Example Environment Configuration for Docker Compose
# Copy this file to .env and modify as needed

# Node Configuration
MINA_RUST_IMAGE=o1labs/mina-rust
MINA_RUST_TAG=latest
MINA_LIBP2P_PORT=8302
MINA_LIBP2P_EXTERNAL_IP=

# Frontend Configuration
MINA_FRONTEND_IMAGE=o1labs/mina-rust-frontend
MINA_FRONTEND_TAG=latest
MINA_FRONTEND_ENVIRONMENT=compose

# For using local images:
# Build: cd frontend && docker build -t mina-frontend:local .
# Then set:
# MINA_FRONTEND_IMAGE=mina-frontend
# MINA_FRONTEND_TAG=local

# WebNode configuration (if using webnode environment):
# MINA_FRONTEND_ENVIRONMENT=webnode
# MINA_SIGNALING_URL=wss://signal.example.com
# MINA_WASM_VERSION=v1.0.0
10 changes: 2 additions & 8 deletions .github/actions/setup-wasm/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ inputs:
description: 'Rust toolchain version'
required: false
default: 'nightly'
wasm-bindgen-version:
description: 'wasm-bindgen-cli version'
required: false
default: '0.2.99'
cache-prefix:
description: 'Cache prefix key'
required: false
Expand All @@ -20,13 +16,11 @@ runs:
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ inputs.toolchain }}
components: rustfmt, rust-src

- name: Install wasm32 target and wasm-bindgen-cli
- name: Setup WASM toolchain using Makefile
shell: bash
run: |
rustup target add wasm32-unknown-unknown
cargo install -f wasm-bindgen-cli --version ${{ inputs.wasm-bindgen-version }}
make setup-wasm

- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/build-macos-13.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Build macOS 13
on:
push:
branches: [main, develop]
pull_request:
paths-ignore: ["frontend"]
workflow_dispatch:

concurrency:
Expand All @@ -17,4 +15,4 @@ jobs:
with:
os: macos-13
cache-prefix: macos-13-
build-wasm: true
build-wasm: true
4 changes: 1 addition & 3 deletions .github/workflows/build-macos-14.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Build macOS 14
on:
push:
branches: [main, develop]
pull_request:
paths-ignore: ["frontend"]
workflow_dispatch:

concurrency:
Expand All @@ -17,4 +15,4 @@ jobs:
with:
os: macos-14
cache-prefix: macos-14-
build-wasm: true
build-wasm: true
4 changes: 1 addition & 3 deletions .github/workflows/build-macos-15.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Build macOS 15
on:
push:
branches: [main, develop]
pull_request:
paths-ignore: ["frontend"]
workflow_dispatch:

concurrency:
Expand All @@ -17,4 +15,4 @@ jobs:
with:
os: macos-15
cache-prefix: macos-15-
build-wasm: true
build-wasm: true
4 changes: 1 addition & 3 deletions .github/workflows/build-macos-latest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Build macOS Latest
on:
push:
branches: [main, develop]
pull_request:
paths-ignore: ["frontend"]
workflow_dispatch:

concurrency:
Expand All @@ -17,4 +15,4 @@ jobs:
with:
os: macos-latest
cache-prefix: macos-latest-
build-wasm: true
build-wasm: true
4 changes: 1 addition & 3 deletions .github/workflows/build-ubuntu-22-04.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Build Ubuntu 22.04
on:
push:
branches: [main, develop]
pull_request:
paths-ignore: ["frontend"]
workflow_dispatch:

concurrency:
Expand All @@ -17,4 +15,4 @@ jobs:
with:
os: ubuntu-22.04
cache-prefix: ubuntu-22-04-
build-wasm: true
build-wasm: true
4 changes: 1 addition & 3 deletions .github/workflows/build-ubuntu-24-04-arm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Build Ubuntu 24.04 ARM
on:
push:
branches: [main, develop]
pull_request:
paths-ignore: ["frontend"]
workflow_dispatch:

concurrency:
Expand All @@ -17,4 +15,4 @@ jobs:
with:
os: ubuntu-24.04-arm
cache-prefix: ubuntu-24-04-arm-
build-wasm: true
build-wasm: true
4 changes: 1 addition & 3 deletions .github/workflows/build-ubuntu-24-04.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Build Ubuntu 24.04
on:
push:
branches: [main, develop]
pull_request:
paths-ignore: ["frontend"]
workflow_dispatch:

concurrency:
Expand All @@ -17,4 +15,4 @@ jobs:
with:
os: ubuntu-24.04
cache-prefix: ubuntu-24-04-
build-wasm: true
build-wasm: true
125 changes: 125 additions & 0 deletions .github/workflows/test-docs-scripts-ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: CI Documentation Scripts

# This workflow tests the CI documentation setup scripts to ensure they work correctly.
# It runs nightly and on-demand to avoid slowing down regular development workflow.
on:
pull_request:
types: [labeled]
# Only runs when 'test-doc-scripts' or 'test-ci' label is added to a PR
schedule:
# Run nightly to catch environment drift and ensure scripts stay functional
- cron: '0 3 * * *'
workflow_dispatch:
# Allow manual triggering for testing

jobs:
test-act-installation:
name: Test Act Installation (${{ matrix.os }})
runs-on: ${{ matrix.os }}
# Only run if the event is scheduled, manual, or PR has test-doc-scripts or test-ci label
if: |
github.event_name == 'schedule' ||
github.event_name == 'workflow_dispatch' ||
contains(github.event.pull_request.labels.*.name, 'test-doc-scripts') ||
contains(github.event.pull_request.labels.*.name, 'test-ci')
strategy:
matrix:
os: [ubuntu-22.04, ubuntu-24.04, macos-latest]

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Test GitHub CLI installation (Ubuntu)
if: startsWith(matrix.os, 'ubuntu')
run: |
# Execute the install-gh-cli-ubuntu.sh script as a user would
bash ./website/docs/developers/scripts/ci/install-gh-cli-ubuntu.sh

- name: Test GitHub CLI installation (macOS)
if: startsWith(matrix.os, 'macos')
run: |
# Execute the install-gh-cli-macos.sh script as a user would
bash ./website/docs/developers/scripts/ci/install-gh-cli-macos.sh

- name: Test act extension installation
env:
GH_TOKEN: ${{ github.token }}
run: |
# Execute the install-act.sh script as a user would
bash ./website/docs/developers/scripts/ci/install-act.sh

- name: Test act functionality
run: |
# Execute the test-act-functionality.sh script as a user would
bash ./website/docs/developers/scripts/ci/test-act-functionality.sh

verify-ci-script-consistency:
name: Verify CI Script Consistency
runs-on: ubuntu-latest
# Always run this check on PRs that modify CI scripts
if: |
github.event_name == 'pull_request' &&
(contains(github.event.pull_request.labels.*.name, 'test-doc-scripts') ||
contains(github.event.pull_request.labels.*.name, 'test-ci'))

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Check CI script files exist
run: |
# Verify all referenced CI scripts exist
scripts=(
"website/docs/developers/scripts/ci/install-gh-cli-ubuntu.sh"
"website/docs/developers/scripts/ci/install-gh-cli-macos.sh"
"website/docs/developers/scripts/ci/install-act.sh"
"website/docs/developers/scripts/ci/test-act-functionality.sh"
)

missing=0
for script in "${scripts[@]}"; do
if [ ! -f "$script" ]; then
echo "❌ Missing script: $script"
missing=$((missing + 1))
else
echo "✅ Found: $script"
fi
done

if [ $missing -gt 0 ]; then
echo "ERROR: $missing script(s) missing"
exit 1
fi

- name: Verify CI scripts are referenced in documentation
run: |
# Check that all CI scripts are imported in the CI local MDX file
mdx_file="website/docs/developers/testing/ci-local.mdx"

if [ ! -f "$mdx_file" ]; then
echo "❌ CI local documentation file not found: $mdx_file"
exit 1
fi

# Check for script imports
scripts=(
"install-gh-cli-ubuntu.sh"
"install-gh-cli-macos.sh"
"install-act.sh"
)

missing=0
for script in "${scripts[@]}"; do
if ! grep -q "$script" "$mdx_file"; then
echo "❌ Script not referenced in docs: $script"
missing=$((missing + 1))
else
echo "✅ Script referenced: $script"
fi
done

if [ $missing -gt 0 ]; then
echo "ERROR: $missing script(s) not referenced in documentation"
exit 1
fi
Loading
Loading