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
26 changes: 26 additions & 0 deletions .github/actions/setup-build-deps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 'Setup Build Dependencies'
description: 'Install system dependencies required for building OpenMina'
inputs:
include-sqlite:
description: 'Include SQLite3 in the installation'
required: false
default: 'false'
runs:
using: 'composite'
steps:
- name: Setup build dependencies (Ubuntu)
if: runner.os == 'Linux'
shell: bash
run: |
sudo apt update || true
if [ "${{ inputs.include-sqlite }}" = "true" ]; then
sudo apt install -y protobuf-compiler sqlite3 || true
else
sudo apt install -y protobuf-compiler || true
fi

- name: Setup build dependencies (macOS)
if: runner.os == 'macOS'
shell: bash
run: |
brew install protobuf
9 changes: 9 additions & 0 deletions .github/actions/setup-circuits/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'Download Circuit Files'
description: 'Download required circuit files for OpenMina'
runs:
using: 'composite'
steps:
- name: Download circuits files
shell: bash
run: |
make download-circuits
13 changes: 13 additions & 0 deletions .github/actions/setup-container-deps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'Setup Container Dependencies'
description: 'Install libssl3 in container for OpenMina binaries'
runs:
using: 'composite'
steps:
- name: Install libssl3
shell: bash
run: |
echo "deb http://deb.debian.org/debian bookworm main" > /etc/apt/sources.list.d/bookworm.list
apt-get update && \
apt-get install -y --no-install-recommends libssl3 curl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
33 changes: 33 additions & 0 deletions .github/actions/setup-rust/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: 'Setup Rust Toolchain'
description: 'Setup Rust toolchain with components and caching'
inputs:
toolchain:
description: 'Rust toolchain version'
required: false
default: '1.84'
components:
description: 'Additional Rust components to install'
required: false
default: 'rustfmt'
cache-prefix:
description: 'Cache prefix key'
required: false
default: 'v0'
enable-cache:
description: 'Enable Rust cache'
required: false
default: 'true'
runs:
using: 'composite'
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ inputs.toolchain }}
components: ${{ inputs.components }}

- name: Setup Rust Cache
if: inputs.enable-cache == 'true'
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ inputs.cache-prefix }}
34 changes: 34 additions & 0 deletions .github/actions/setup-wasm/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: 'Setup WebAssembly Build Environment'
description: 'Setup Rust with WASM target and wasm-bindgen-cli'
inputs:
toolchain:
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
default: 'v0'
runs:
using: 'composite'
steps:
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ inputs.toolchain }}
components: rustfmt, rust-src

- name: Install wasm32 target and wasm-bindgen-cli
shell: bash
run: |
rustup target add wasm32-unknown-unknown
cargo install -f wasm-bindgen-cli --version ${{ inputs.wasm-bindgen-version }}

- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ inputs.cache-prefix }}
14 changes: 14 additions & 0 deletions .github/actions/wait-for-debugger/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: 'Wait for Network Debugger'
description: 'Wait for the network debugger service to be ready'
inputs:
timeout:
description: 'Timeout in seconds'
required: false
default: '30'
runs:
using: 'composite'
steps:
- name: Wait for the debugger
shell: bash
run: |
timeout ${{ inputs.timeout }} bash -c 'until curl -f http://localhost/health; do sleep 1; done' || echo "Debugger may not be ready"
Loading
Loading