Skip to content

feat: DRC-369 full implementation, auth fixes, CVP enhancements #268

feat: DRC-369 full implementation, auth fixes, CVP enhancements

feat: DRC-369 full implementation, auth fixes, CVP enhancements #268

Workflow file for this run

# Demiurge-Blockchain CI/CD Pipeline
# The Archons of Continuous Integration
name: Pleroma CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
# The First Archon - Code Quality
archon-lint:
name: "Archon: Code Quality"
runs-on: ubuntu-latest
steps:
- name: Emanate from Source
uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: dtolnay/rust-action@stable
with:
components: rustfmt, clippy
- name: Cache Cargo Registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Check Formatting
run: |
if [ -f "Cargo.toml" ]; then
cargo fmt --all -- --check
fi
- name: Clippy Lints
run: |
if [ -f "Cargo.toml" ]; then
cargo clippy --all-targets --all-features -- -D warnings
fi
# The Second Archon - Build Verification
archon-build:
name: "Archon: Build"
runs-on: ubuntu-latest
needs: archon-lint
steps:
- name: Emanate from Source
uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: dtolnay/rust-action@stable
with:
targets: wasm32-unknown-unknown
- name: Install Build Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake pkg-config libssl-dev git clang libclang-dev protobuf-compiler
# Note: Legacy Substrate dependencies removed - using custom framework
- name: Cache Cargo Registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
- name: Build
run: |
if [ -f "Cargo.toml" ]; then
cargo build --release
fi
# The Third Archon - Testing
archon-test:
name: "Archon: Tests"
runs-on: ubuntu-latest
needs: archon-build
steps:
- name: Emanate from Source
uses: actions/checkout@v4
- name: Install Rust Toolchain
uses: dtolnay/rust-action@stable
- name: Cache Cargo Registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
- name: Run Tests
run: |
if [ -f "Cargo.toml" ]; then
cargo test --all --verbose
fi
# Syzygy - Deploy to Monad (only on main)
syzygy-deploy:
name: "Syzygy: Deploy to Monad"
runs-on: ubuntu-latest
needs: [archon-lint, archon-build, archon-test]
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
environment: production
steps:
- name: Emanate from Source
uses: actions/checkout@v4
- name: Deploy to Pleroma
run: |
echo "Deployment to Monad (51.210.209.112) configured via secrets"
# SSH deployment will be configured with repository secrets