mirror of https://github.com/skygpu/skynet.git
73 lines
2.1 KiB
YAML
73 lines
2.1 KiB
YAML
name: CI
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
auto-tests:
|
|
name: Pytest Tests
|
|
runs-on: ubuntu-24.04
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install system dependencies (Rust + Python)
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
build-essential \
|
|
pkg-config \
|
|
libssl-dev \
|
|
clang \
|
|
lld \
|
|
protobuf-compiler \
|
|
make \
|
|
wget
|
|
|
|
- name: Install binaryen 120
|
|
run: |
|
|
wget https://github.com/WebAssembly/binaryen/releases/download/version_120/binaryen-version_120-x86_64-linux.tar.gz
|
|
tar xvf binaryen-version_120-x86_64-linux.tar.gz
|
|
echo "$(pwd)/binaryen-version_120/bin" >> $GITHUB_PATH
|
|
|
|
- name: Install the latest version of uv
|
|
uses: astral-sh/setup-uv@v5
|
|
|
|
- name: Install Rust
|
|
run: |
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
|
rustup install stable
|
|
rustup component add rust-src --toolchain stable
|
|
rustup target add wasm32-wasip1
|
|
|
|
- name: Set up Python environment and dependencies
|
|
run: |
|
|
uv venv .venv --python=3.12
|
|
uv pip install -U rust-contracts-builder
|
|
echo "$(pwd)/.venv/bin" >> $GITHUB_PATH
|
|
|
|
- name: Apply required modifications for rust-contracts-builder
|
|
run: |
|
|
sed -i "s/wasm32-wasi /wasm32-wasip1 /g" .venv/lib/python3.12/site-packages/rust_contracts_builder/__init__.py
|
|
sed -i "s/wasm32-wasi\//wasm32-wasip1\//g" .venv/lib/python3.12/site-packages/rust_contracts_builder/__init__.py
|
|
|
|
- name: Build Rust project
|
|
run: rust-contract build
|
|
working-directory: tests/contracts/skygpu-contract
|
|
|
|
- uses: actions/cache@v3
|
|
name: Cache venv
|
|
with:
|
|
path: ./.venv
|
|
key: venv-${{ hashFiles('uv.lock') }}
|
|
|
|
- name: Install with dev
|
|
run: uv sync
|
|
|
|
- name: Run tests
|
|
run: |
|
|
uv run pytest
|