name: client_targets on: push: branches: - master pull_request: branches: - master paths: - "client/**" - ".github/workflows/client-targets.yml" - "ci/rust-version.sh" - "**/Cargo.toml" - "**/Cargo.lock" env: CARGO_TERM_COLOR: always jobs: android: if: github.repository == 'anza-xyz/agave' strategy: matrix: os: - ubuntu-22.04 target: - x86_64-linux-android - aarch64-linux-android - i686-linux-android - armv7-linux-androideabi runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v6 # This can be removed once cargo-ndk >= 3.5.4 is used. - name: Setup environment for Android NDK run: | echo "RANLIB=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" >> $GITHUB_ENV - run: cargo install cargo-ndk@2.12.2 - name: Setup Rust run: | source ci/rust-version.sh stable rustup target add --toolchain "$rust_stable" ${{ matrix.target }} - name: Stable build run: ./cargo stable ndk --target ${{ matrix.target }} build -p solana-client ios: if: github.repository == 'anza-xyz/agave' strategy: matrix: os: - macos-15 target: - aarch64-apple-ios - x86_64-apple-ios - aarch64-apple-darwin - x86_64-apple-darwin runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v6 - name: Setup Rust run: | source ci/rust-version.sh stable rustup target add --toolchain "$rust_stable" ${{ matrix.target }} - name: Stable build run: ./cargo stable build --target ${{ matrix.target }} -p solana-client error_reporting: needs: - android - ios if: failure() && github.event_name == 'push' uses: ./.github/workflows/error-reporting.yml secrets: WEBHOOK: ${{ secrets.SLACK_ERROR_REPORTING_WEBHOOK }}