busbar-sf-api 0.0.3

Salesforce API client library for Rust
Documentation
name: Integration Tests (Manual)

on:
  workflow_dispatch:

permissions:
  contents: read

env:
  RUST_BACKTRACE: 1
  CARGO_TERM_COLOR: always

jobs:
  integration:
    name: Integration Tests
    runs-on: ubuntu-latest
    environment: scratch
    steps:
      - uses: actions/checkout@v6
      - uses: dtolnay/rust-toolchain@stable
      - uses: taiki-e/install-action@cargo-llvm-cov
      - uses: Swatinem/rust-cache@v2

      - name: Verify credentials
        env:
          SF_AUTH_URL: ${{ secrets.SF_AUTH_URL }}
        run: |
          if [ -z "$SF_AUTH_URL" ]; then
            echo "::error::SF_AUTH_URL secret is not configured"
            exit 1
          fi

      - name: Run integration tests with coverage
        env:
          SF_AUTH_URL: ${{ secrets.SF_AUTH_URL }}
        run: cargo llvm-cov --workspace --all-features --test integration --lcov --output-path lcov-integration.info -- --nocapture

      - name: Generate summary
        if: always()
        env:
          SF_AUTH_URL: ${{ secrets.SF_AUTH_URL }}
        run: |
          echo "### Integration Tests (Manual)" >> "$GITHUB_STEP_SUMMARY"
          cargo llvm-cov report --summary-only 2>&1 | tail -20 >> "$GITHUB_STEP_SUMMARY" || true

      - name: Upload coverage to Codecov
        if: always()
        uses: codecov/codecov-action@v5
        with:
          files: lcov-integration.info
          flags: integration-tests
          fail_ci_if_error: false
        env:
          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}