feat: DRC-369 full implementation, auth fixes, CVP enhancements #268
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 |