Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
6b5d7ca
feat(kreivo-runtime): add `Listings` and `ListingsCatalog`
pandres95 Mar 2, 2025
60a81c4
feat(kreivo-runtime): bump version
pandres95 Mar 2, 2025
c79fd47
fix(kreivo-runtime): misconfiguration in imports (both on non-benchma…
pandres95 Mar 2, 2025
0e2f40b
fix(kreivo-runtime): incorrect use of `AsSignedByCommunity` origin to…
pandres95 Mar 2, 2025
d6b74ca
chore: update dependencies / add `frame-contrib-traits`, `pallet-list…
pandres95 Apr 15, 2025
c6d1c2a
feat(apis): define `ListingsAPI`
pandres95 Apr 15, 2025
65dc419
fix(kreivo-runtime): update configs for listings and payments
pandres95 Apr 15, 2025
89fb6dc
chore: fmt and feature-propagate cargo files
pandres95 Apr 15, 2025
33fd02a
chore: Bump to `stable2409-6` (#451)
pandres95 Apr 23, 2025
7690108
feat(kreivo-runtime): configure pallet orders (#452)
pandres95 Apr 23, 2025
c047544
feat: Setup `GenesisConfig` on `pallet-communities-manager` (#453)
pandres95 Apr 23, 2025
c867da3
feat: Implement `Listings` in _Kreivo APIs_ (#454)
pandres95 Apr 24, 2025
aab3ba9
chore(kreivo-apis): apply `T::Listings::clear_price` to chain extensi…
pandres95 Apr 24, 2025
306b6f3
chore: Unify usage of `frame-contrib-traits` (#456)
pandres95 Apr 24, 2025
4abcdf8
fix(pallet-communities-manager): create memberships store collection …
pandres95 Apr 24, 2025
8a006ad
feat: Pallet Contracts Store (#450)
pandres95 Apr 26, 2025
4b28853
feat(kreivo-apis): implement `item_transfer` and `item_creator_transf…
pandres95 Apr 26, 2025
cf65e51
fix: inventory attributes weren't being retrieved.
pandres95 Apr 27, 2025
e0af0a9
change(chain-spec-generator): update paseador's chainspec to re-genesis.
pandres95 Apr 28, 2025
fd19cd5
chore: move `pallet-communities` away to `frame-contrib`
pandres95 Apr 30, 2025
f36364b
fix(kreivo-runtime): minor improvements + enable XCM to receive messa…
pandres95 Apr 30, 2025
9fb742d
chore: make clippy happy
pandres95 Apr 30, 2025
10893d8
change(kreivo-runtime): runtime apis refactor #1
pandres95 May 1, 2025
b93d05e
Merge branch 'master' into dev
pandres95 May 11, 2025
cf75495
fix(.github): invalid workflow format
pandres95 May 11, 2025
493b8b5
Merge branch 'master' into dev
pandres95 May 11, 2025
a021581
Merge branch 'master' into dev
pandres95 May 11, 2025
1d84cb1
fix(kreivo-runtime): lower deposit amount for `pallet-proxy` (#460)
pandres95 May 13, 2025
89a23a4
feat: Bump to `stable2503` (#457)
pandres95 May 14, 2025
0d39b08
feat(kreivo-runtime): new pallet pass tx extension (#461)
pandres95 May 15, 2025
7ce0f0a
chore(kreivo-runtime): apply fix from `frame-contrib#47`
pandres95 May 15, 2025
5ea57b4
chore(kreivo-runtime): allow communities to use `Scheduler`
pandres95 May 15, 2025
ee52d22
chore(.github): add zepter checks
pandres95 May 15, 2025
e5f2872
chore(Cargo): restore to 0.16.0
pandres95 May 15, 2025
47c3b1e
fix(kreivo-runtime): incorrectly set `ScheduleOrigin`
pandres95 May 15, 2025
e76fd01
make clippy happy
pandres95 May 15, 2025
4bfb5dc
chore(kreivo-runtime): update benchmark configs
pandres95 May 15, 2025
fb74924
chore(kreivo-runtime): bump spec version
pandres95 May 15, 2025
5a6fa7b
chore(kreivo-runtime): update deps to enable better logging
pandres95 May 18, 2025
dac47ee
chore(kreivo-runtime): update deps and use `RelaychainData` as block …
pandres95 May 22, 2025
83de304
chore(kreivo-runtime): update deps and use `RelaychainData` as block …
pandres95 May 23, 2025
34e88a1
chore: test ramp-up of ephemeral vm for benchmarking / test 1
pandres95 May 23, 2025
44d3d7c
chore: test ramp-up of ephemeral vm for benchmarking / test 2
pandres95 May 24, 2025
adc308a
chore: test ramp-up of ephemeral vm for benchmarking / test 2 - remov…
pandres95 May 24, 2025
e0e3d3b
[ci] calculate weights
pandres95 May 24, 2025
70a91b7
feat(pallet-contracts-store): add benchmarking setup
pandres95 May 25, 2025
201470d
feat(kreivo-runtime): define benchmarks for new pallets
pandres95 May 25, 2025
d2861c0
fix(pallet-contracts-store): prepare publisher minting system balance…
pandres95 May 25, 2025
ec32893
fix(kreivo-runtime): benchmarking setup
pandres95 May 25, 2025
ff6afdf
fix(kreivo-runtime): upgrade deps / configure benchmark settings for …
pandres95 May 25, 2025
3725d0d
fix(kreivo-runtime): define `pallet_payment_indices` to handle subind…
pandres95 May 25, 2025
5304f6d
change(.github): ALWAYS create the PR to avoid losing the runner's work.
pandres95 May 26, 2025
4b4095e
fix(justfile): output logs file using quotes to prevent incorrectly h…
pandres95 May 26, 2025
3b1507d
fix(justfile): `do -i` instead of `do --ignore-errors` for failsafe o…
pandres95 May 26, 2025
1ef021d
chore(kreivo-runtime): re-enable missing benchmarks
pandres95 May 26, 2025
034560d
Benchmarking: Calculate weights for 4b4095eb478de140e8d8856353af48fd4…
github-actions[bot] May 26, 2025
36ff434
chore(kreivo-runtime): migrate `GeneratePaymentId` to `pallet_payment…
pandres95 May 26, 2025
5d8e9c8
chore: Calculate weights for `034560da50486ba9908525e1af66c7215840bb7…
github-actions[bot] May 26, 2025
14367c1
chore: bump spec version
pandres95 May 26, 2025
299eb00
fix(kreivo-runtime): Incorrect implementation of BlockHashChallenger.…
pandres95 May 28, 2025
38263c0
feat: contract extensions for `Memberships` (#465)
pandres95 Jun 7, 2025
7e09c9e
feat(kreivo-runtime): introduce `pass-substrate-keys` as authenticato…
pandres95 Jun 8, 2025
c172c21
chore(kreivo-runtime): rollback `BlockNumberProvider` for `Scheduler`…
pandres95 Jun 8, 2025
2ce0dfd
chore(kreivo-runtime): bump version
pandres95 Jun 8, 2025
e83bb23
fix(zombienet): use `rpc_port` instead of `ws_port`
pandres95 Jul 4, 2025
6440b43
feat(kreivo-runtime): update deps + add black-hole
pandres95 Jul 4, 2025
2f2547b
chore(kreivo-runtime): version bump
pandres95 Jul 4, 2025
f0f6a9e
fix(kreivo-runtime): remove feature-gateway for pallet-black-hole (to…
pandres95 Jul 4, 2025
d666c3b
fix(kreivo-runtime): wrap the memberships adapter with the respective…
pandres95 Jul 16, 2025
bc84e9c
fix(kreivo-runtime): correctly copy memberships well-known attributes…
pandres95 Aug 2, 2025
d3a087e
fix(kreivo-runtime): ensure proper item deposit for memberships on te…
pandres95 Aug 2, 2025
d54fc34
chore: update to `stable2506` and latest `frame-contrib`/`pass-authen…
pandres95 Aug 21, 2025
41a8660
chore(ci): modify `checks` to use `stable` instead of `nightly`.
pandres95 Aug 21, 2025
7f56120
fix: ensure tests and clippy pass
pandres95 Aug 21, 2025
82034be
fix(kreivo-runtime): add `RelayParentOffsetApi`
pandres95 Aug 22, 2025
a676a16
fix(kreivo-runtime): set `RelayParentOffset` to 0. Add missing import…
pandres95 Aug 22, 2025
427d06b
fix(kreivo-runtime): allow reusing rng in pass benchmarks
pandres95 Aug 22, 2025
fb7ec48
fix(zombienet): configure zombienet appropriately for async backing.
pandres95 Aug 24, 2025
ff6dca7
fix(cargo): update package url in the manifest
pandres95 Aug 24, 2025
b00b47f
fix(ci): invalid definition for benchmarking.yml
pandres95 Aug 24, 2025
4e58ea1
feat(kreivo-runtime): first try to reduce blocktime to 3 seconds.
pandres95 Aug 27, 2025
0c952cf
fix(kreivo-runtime): forgot to update `SLOT_DURATION` in `aura` confi…
pandres95 Aug 27, 2025
4480f34
feat(kreivo-runtime): adjust configuration for block weight. Bump to …
pandres95 Aug 30, 2025
f15f4e4
feat(kreivo-runtime): update deps + adjust config / set block product…
pandres95 Sep 2, 2025
c738df2
Included revive 0.7.0 (#467)
johandroid Sep 25, 2025
7402a84
Track PolkadotSDK version + script to compare versions
olanod Sep 25, 2025
15f9aca
feat: migration to `stable2509` (#468)
johandroid Oct 21, 2025
83bf216
chore(kreivo-runtime): set `RELAY_PARENT_OFFSET` of 1.
pandres95 Oct 21, 2025
b8046c4
chore(kreivo-runtime): prepare constants for async backing and elasti…
pandres95 Oct 21, 2025
38871e9
chore(kreivo-runtime): set `RELAY_PARENT_OFFSET=1` only when not in `…
pandres95 Oct 25, 2025
cebdcc5
Merge branch 'master' into dev
pandres95 Oct 27, 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
61 changes: 61 additions & 0 deletions .github/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Kreivo CI Dockerfile - GitHub Actions Runner Base Image
# Provides Rust toolchain, Node.js, and smart contract tools for CI

FROM node:22-slim

# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive

# Install system dependencies required for GitHub Actions runner and builds
RUN apt-get update && apt-get install -y \
build-essential \
curl \
git \
libssl-dev \
pkg-config \
protobuf-compiler \
clang \
llvm \
jq \
ca-certificates \
sudo \
&& rm -rf /var/lib/apt/lists/*

# Install Rust toolchain with CI optimizations
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none \
&& rustup install stable nightly \
&& rustup default stable \
&& rustup target add wasm32-unknown-unknown --toolchain stable \
&& rustup target add wasm32-unknown-unknown --toolchain nightly \
&& rustup component add rust-src clippy --toolchain stable \
&& rustup component add rust-src clippy --toolchain nightly

# Install official Solidity compiler binary
RUN curl -L -o /usr/local/bin/solc https://github.com/ethereum/solidity/releases/download/v0.8.30/solc-static-linux && \
chmod +x /usr/local/bin/solc

# Install Parity resolc binary
RUN curl -L -o /usr/local/bin/resolc https://github.com/paritytech/revive/releases/download/v0.4.1/resolc-x86_64-unknown-linux-musl && \
chmod +x /usr/local/bin/resolc

# Set up environment for WASM builds
ENV WASM_BUILD_TOOLCHAIN=nightly

# Create docker user (GitHub Actions runner requirement)
RUN useradd -m -s /bin/bash docker \
&& mkdir -p /home/docker/actions-runner \
&& chown -R docker:docker /home/docker/actions-runner /usr/local/cargo /usr/local/rustup

USER docker
WORKDIR /home/docker/actions-runner

# Health check for container validation
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD cargo --version && node --version && solc --version || exit 1

# Default command for testing the environment
CMD ["cargo", "--version"]
139 changes: 139 additions & 0 deletions .github/Dockerfile-README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
# Kreivo CI Dockerfile

This Dockerfile provides a **GitHub Actions runner base image** for the Kreivo blockchain project CI environment, including Rust toolchain, Node.js, and smart contract tools.

## Features

- **GitHub Actions optimized** - Designed as a runner container image
- **Latest stable and nightly Rust toolchains** with WASM32 target support
- **Node.js 22** with essential packages for smart contract development
- **Solidity compiler** (`solc`) and **Parity tools** (`resolc`)
- **Rust components**: `rust-src` and `clippy` for both stable and nightly
- **Health checks** and security best practices
- **Optimized for CI/CD** with proper caching and layer optimization

## GitHub Actions Usage

### Basic Job Configuration

```yaml
jobs:
test:
runs-on: ubuntu-latest
container:
image: kreivo-ci:latest
steps:
- uses: actions/checkout@v4
- run: cargo test --release

build-runtime:
runs-on: ubuntu-latest
container:
image: kreivo-ci:latest
steps:
- uses: actions/checkout@v4
- run: cargo build --release -p kreivo-runtime
```

### With Caching

```yaml
jobs:
quality-checks:
runs-on: ubuntu-latest
container:
image: kreivo-ci:latest
steps:
- uses: actions/checkout@v4

- uses: actions/cache@v3
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

- run: cargo fmt -- --check
- run: cargo clippy -- -D warnings
- run: cargo test --release
```

## Local Development

### Building the Image

```bash
# Build the CI image
docker build -f .github/Dockerfile -t kreivo-ci:latest .
```

### Testing Locally

```bash
# Test the environment
docker run --rm kreivo-ci:latest cargo --version
docker run --rm kreivo-ci:latest node --version
docker run --rm kreivo-ci:latest solc --version

# Run commands with volume mount
docker run --rm -v $(pwd):/workspace -w /workspace kreivo-ci:latest cargo build --release
```

### Using with Docker Compose

```yaml
version: '3.8'
services:
kreivo-dev:
build: .
volumes:
- .:/workspace
- cargo-cache:/usr/local/cargo/registry
- target-cache:/workspace/target
working_directory: /workspace
environment:
- USER=docker # Match container user

volumes:
cargo-cache:
target-cache:
```

## Environment Variables

- `WASM_BUILD_TOOLCHAIN=nightly` - Toolchain used for WASM builds
- `RUSTUP_HOME=/usr/local/rustup` - Rust toolchain location
- `CARGO_HOME=/usr/local/cargo` - Cargo home directory

## Included Tools

### Rust Toolchain
- **Stable** and **Nightly** versions
- **wasm32-unknown-unknown** target for both toolchains
- **rust-src** and **clippy** components

### Node.js 22
- **solc** - Solidity compiler
- **resolc** - Parity Solidity compiler
- **yarn** - Package manager

### System Dependencies
- **build-essential** - C/C++ build tools
- **clang** & **llvm** - Additional compilers
- **protobuf-compiler** - Protocol buffer compiler
- **git** - Version control

## Security Features

- Non-root docker user execution
- Minimal Debian base image (node:22-slim)
- Proper dependency management
- Health check monitoring

## Performance Optimizations

- Single-stage build for faster runner startup
- Pre-installed toolchains reduce setup time
- Optimized layer caching
- GitHub Actions runner compatible
Loading
Loading