style: fix formatting in public_key.zig and system_program.zig #102
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
| name: CI | |
| on: | |
| push: | |
| branches: [dev, main] | |
| pull_request: | |
| branches: [dev, main] | |
| env: | |
| SOLANA_ZIG_VERSION: v1.52.0 | |
| jobs: | |
| # Format check - fast, runs first | |
| format: | |
| name: Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-linux | |
| - name: Install solana-zig | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Check SDK format | |
| run: ./solana-zig/zig fmt --check sdk/src/ | |
| - name: Check Program SDK format | |
| run: ./solana-zig/zig fmt --check src/ | |
| - name: Check Client SDK format | |
| run: ./solana-zig/zig fmt --check client/src/ | |
| - name: Check Example Programs format | |
| run: ./solana-zig/zig fmt --check examples/programs/ | |
| # SDK tests - pure Zig, no syscalls | |
| sdk-test: | |
| name: SDK Tests | |
| needs: format | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-${{ runner.os }} | |
| - name: Install solana-zig | |
| shell: bash | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Test SDK | |
| shell: bash | |
| working-directory: sdk | |
| run: ../solana-zig/zig build test --summary all | |
| # Client SDK unit tests | |
| client-test: | |
| name: Client SDK Tests | |
| needs: format | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-${{ runner.os }} | |
| - name: Install solana-zig | |
| shell: bash | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Test Client SDK | |
| shell: bash | |
| working-directory: client | |
| run: ../solana-zig/zig build test --summary all | |
| # Client SDK RPC integration tests (requires local validator) | |
| client-integration-test: | |
| name: Client RPC Integration Tests | |
| needs: [sdk-test, client-test] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-linux | |
| - name: Cache Surfpool | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.local/bin/surfpool | |
| key: surfpool-latest | |
| - name: Install solana-zig | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Install Surfpool | |
| run: | | |
| curl -sL https://run.surfpool.run/ | bash | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Start Surfpool | |
| run: | | |
| surfpool start --no-tui & | |
| # Wait for surfpool to be ready | |
| for i in {1..30}; do | |
| if curl -s http://127.0.0.1:8899/health > /dev/null 2>&1; then | |
| echo "Surfpool is ready" | |
| break | |
| fi | |
| echo "Waiting for Surfpool... ($i/30)" | |
| sleep 2 | |
| done | |
| - name: Run Client Integration Tests | |
| working-directory: client | |
| run: ../solana-zig/zig build integration-test --summary all | |
| # Program SDK tests - includes syscall stubs | |
| program-test: | |
| name: Program SDK Tests | |
| needs: format | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-${{ runner.os }} | |
| - name: Install solana-zig | |
| shell: bash | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Test Program SDK | |
| shell: bash | |
| run: ./solana-zig/zig build test --summary all | |
| # Integration tests - build actual programs and test with Rust | |
| integration-test: | |
| name: Integration Tests | |
| needs: [sdk-test, program-test] | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-${{ runner.os }} | |
| - name: Cache Cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| program-test/target | |
| key: cargo-${{ runner.os }}-${{ hashFiles('program-test/Cargo.lock') }} | |
| restore-keys: | | |
| cargo-${{ runner.os }}- | |
| - name: Install solana-zig | |
| shell: bash | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: 1.86.0 | |
| - name: Install build deps | |
| shell: bash | |
| run: ./program-test/install-build-deps.sh | |
| - name: Build and test programs | |
| shell: bash | |
| run: ./program-test/test.sh | |
| # Example programs integration tests | |
| example-programs-test: | |
| name: Example Programs Tests | |
| needs: [sdk-test, program-test] | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-${{ runner.os }} | |
| - name: Cache Cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| examples/programs/target | |
| key: cargo-examples-${{ runner.os }}-${{ hashFiles('examples/programs/Cargo.lock') }} | |
| restore-keys: | | |
| cargo-examples-${{ runner.os }}- | |
| - name: Install solana-zig | |
| shell: bash | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: 1.86.0 | |
| - name: Build example programs | |
| shell: bash | |
| working-directory: examples/programs | |
| run: ../../solana-zig/zig build | |
| - name: Run example program tests | |
| shell: bash | |
| working-directory: examples/programs | |
| run: cargo test -- --ignored | |
| # MCL tests - optional, for off-chain BN254 operations | |
| mcl-test: | |
| name: MCL Tests | |
| needs: format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-linux | |
| - name: Cache MCL build | |
| uses: actions/cache@v4 | |
| with: | |
| path: vendor/mcl/lib | |
| key: mcl-lib-${{ hashFiles('vendor/mcl/src/**', 'vendor/mcl/include/**') }} | |
| - name: Install solana-zig | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Install clang | |
| run: sudo apt-get update && sudo apt-get install -y clang libc++-dev libc++abi-dev | |
| - name: Test with MCL | |
| run: ./solana-zig/zig build test -Dwith-mcl --summary all | |
| # Build check for Solana target | |
| build-solana: | |
| name: Build for Solana | |
| needs: format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache solana-zig | |
| uses: actions/cache@v4 | |
| with: | |
| path: solana-zig | |
| key: solana-zig-${{ env.SOLANA_ZIG_VERSION }}-linux | |
| - name: Install solana-zig | |
| run: ./install-solana-zig.sh solana-zig | |
| - name: Build for Solana SBF target | |
| run: ./solana-zig/zig build -Dtarget=sbf-solana --summary all |