Skip to content

Commit 00c2268

Browse files
authored
Merge pull request #1251 from o1-labs/dw/ci-improvements
CI: improve using composite actions
2 parents 6549b07 + 71547dd commit 00c2268

File tree

7 files changed

+207
-136
lines changed

7 files changed

+207
-136
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: 'Setup Build Dependencies'
2+
description: 'Install system dependencies required for building OpenMina'
3+
inputs:
4+
include-sqlite:
5+
description: 'Include SQLite3 in the installation'
6+
required: false
7+
default: 'false'
8+
runs:
9+
using: 'composite'
10+
steps:
11+
- name: Setup build dependencies (Ubuntu)
12+
if: runner.os == 'Linux'
13+
shell: bash
14+
run: |
15+
sudo apt update || true
16+
if [ "${{ inputs.include-sqlite }}" = "true" ]; then
17+
sudo apt install -y protobuf-compiler sqlite3 || true
18+
else
19+
sudo apt install -y protobuf-compiler || true
20+
fi
21+
22+
- name: Setup build dependencies (macOS)
23+
if: runner.os == 'macOS'
24+
shell: bash
25+
run: |
26+
brew install protobuf
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: 'Download Circuit Files'
2+
description: 'Download required circuit files for OpenMina'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Download circuits files
7+
shell: bash
8+
run: |
9+
make download-circuits
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: 'Setup Container Dependencies'
2+
description: 'Install libssl3 in container for OpenMina binaries'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Install libssl3
7+
shell: bash
8+
run: |
9+
echo "deb http://deb.debian.org/debian bookworm main" > /etc/apt/sources.list.d/bookworm.list
10+
apt-get update && \
11+
apt-get install -y --no-install-recommends libssl3 curl && \
12+
apt-get clean && \
13+
rm -rf /var/lib/apt/lists/*

.github/actions/setup-rust/action.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: 'Setup Rust Toolchain'
2+
description: 'Setup Rust toolchain with components and caching'
3+
inputs:
4+
toolchain:
5+
description: 'Rust toolchain version'
6+
required: false
7+
default: '1.84'
8+
components:
9+
description: 'Additional Rust components to install'
10+
required: false
11+
default: 'rustfmt'
12+
cache-prefix:
13+
description: 'Cache prefix key'
14+
required: false
15+
default: 'v0'
16+
enable-cache:
17+
description: 'Enable Rust cache'
18+
required: false
19+
default: 'true'
20+
runs:
21+
using: 'composite'
22+
steps:
23+
- name: Setup Rust
24+
uses: dtolnay/rust-toolchain@stable
25+
with:
26+
toolchain: ${{ inputs.toolchain }}
27+
components: ${{ inputs.components }}
28+
29+
- name: Setup Rust Cache
30+
if: inputs.enable-cache == 'true'
31+
uses: Swatinem/rust-cache@v2
32+
with:
33+
prefix-key: ${{ inputs.cache-prefix }}

.github/actions/setup-wasm/action.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: 'Setup WebAssembly Build Environment'
2+
description: 'Setup Rust with WASM target and wasm-bindgen-cli'
3+
inputs:
4+
toolchain:
5+
description: 'Rust toolchain version'
6+
required: false
7+
default: 'nightly'
8+
wasm-bindgen-version:
9+
description: 'wasm-bindgen-cli version'
10+
required: false
11+
default: '0.2.99'
12+
cache-prefix:
13+
description: 'Cache prefix key'
14+
required: false
15+
default: 'v0'
16+
runs:
17+
using: 'composite'
18+
steps:
19+
- name: Setup Rust
20+
uses: dtolnay/rust-toolchain@stable
21+
with:
22+
toolchain: ${{ inputs.toolchain }}
23+
components: rustfmt, rust-src
24+
25+
- name: Install wasm32 target and wasm-bindgen-cli
26+
shell: bash
27+
run: |
28+
rustup target add wasm32-unknown-unknown
29+
cargo install -f wasm-bindgen-cli --version ${{ inputs.wasm-bindgen-version }}
30+
31+
- name: Setup Rust Cache
32+
uses: Swatinem/rust-cache@v2
33+
with:
34+
prefix-key: ${{ inputs.cache-prefix }}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: 'Wait for Network Debugger'
2+
description: 'Wait for the network debugger service to be ready'
3+
inputs:
4+
timeout:
5+
description: 'Timeout in seconds'
6+
required: false
7+
default: '30'
8+
runs:
9+
using: 'composite'
10+
steps:
11+
- name: Wait for the debugger
12+
shell: bash
13+
run: |
14+
timeout ${{ inputs.timeout }} bash -c 'until curl -f http://localhost/health; do sleep 1; done' || echo "Debugger may not be ready"

0 commit comments

Comments
 (0)