name: librdkafka
lang: unknown
lang_version: unknown
git:
  enable: true
github:
  enable: true
semaphore:
  enable: true
  pipeline_enable: false
  triggers:
  - tags
  - branches
  branches:
  - master
  - /semaphore.*/
  - /dev_.*/
  - /feature\/.*/
  tasks:
  - name: verify-linux-packages
    branch: master
    scheduled: false
    pipeline_file: .semaphore/verify-linux-packages.yml
    parameters:
      - name: LIBRDKAFKA_VERSION
        required: true
        description: librdkafka version to verify
  - name: run-all-tests
    branch: master
    scheduled: false
    pipeline_file: .semaphore/run-all-tests.yml
    parameters:
      - name: GIT_REF
        required: false
        description: "librdkafka git ref to test."

      - name: TEST_KAFKA_GIT_REF
        required: true
        default_value: ""
        description: "Kafka version to test against. When a valid version, the corresponding 
          package is downloaded. [<username>/]<git_ref>[@<commit_hash>] is also supported 
          to clone from GitHub and build from source."

      - name: TEST_CP_VERSION
        required: false
        description: "CP version to test against"

      - name: TEST_KAFKA_VERSION
        required: false
        description: "Kafka version to assume in this branch. If empty (default) 
          uses TEST_KAFKA_GIT_REF when a valid version, otherwise 9.9.9."

      - name: TEST_KRAFT
        required: true
        default_value: "True"
        description: "Run a KRaft cluster."
        options:
          - "True"
          - "False"

      - name: TEST_TYPE
        required: true
        default_value: "plaintext,ssl"
        description: "Run PLAINTEXT or SSL tests or both. Defaults to both."
        options:
          - "plaintext,ssl"
          - "plaintext"
          - "ssl"

      - name: TEST_SSL_INTERMEDIATE_CA
        required: false
        description: "Run SSL tests with an intermediate CA certificate."
        options:
          - "True"
          - "False"

      - name: TEST_SASL
        required: false
        description: "SASL mechanism to use."
        options:
          - ""
          - "PLAIN"
          - "SCRAM-SHA-256"
          - "SCRAM-SHA-512"
          - "GSSAPI"
          - "OAUTHBEARER"

      - name: TEST_QUICK
        required: true
        default_value: "False"
        description: "Run only quick tests."
        options:
          - "True"
          - "False"

      - name: TEST_LOCAL
        required: true
        default_value: "All"
        description: "Run only local, only non-local or all tests."
        options:
          - "All"
          - "Local"
          - "Non-local"

      - name: TEST_PARALLEL
        required: false
        description: "Number of parallel tests to run. Empty means default value."

      - name: TEST_MODE
        required: false
        description: "Test mode to use. Empty means default value."

      - name: TESTS
        required: false
        description: "Run specified tests only. Empty means run all tests. 
          Can be a comma-separated list of test numbers or ranges, 
          even overlapping. Example: 
          1,3,9-11,10-15,17-,-10"

      - name: TESTS_BATCH_SIZE
        required: false
        description: "Run tests in batches of this size. 
          Empty means no batches, run all tests at once."

      - name: TEST_ITERATIONS
        required: false
        description: "Run specified tests this many times. 
          Empty means run tests once."

      - name: TEST_ASSERT
        required: true
        default_value: "False"
        description: "Assert on failures"
        options:
          - "True"
          - "False"

      - name: TEST_DEBUG
        required: false
        description: "Enable debug output for tests."

      - name: TEST_LEVEL
        required: false
        description: "Test verbosity level. Default is 2. Increase to 3 or 4 for more output."

      - name: TEST_CONF
        required: false
        description: "Additional broker configuration as a JSON array. Example: 
          [group.coordinator.rebalance.protocols=classic,consumer]"

      - name: TEST_TRIVUP_PARAMETERS
        required: false
        description: "Additional trivup parameters."

      - name: TEST_RUNNER_PARAMETERS
        required: false
        description: "Additional test runner parameters."

      - name: TEST_ENV_VARIABLES
        required: false
        description: "Additional environment variables to set for tests. 
          Example: A=1,B=2,C=3"

      - name: TEST_ARCHES
        required: true
        default_value: "x86_64,aarch64"
        description: "Test on these architectures: x86_64, aarch64 or both"
        options:
          - "x86_64,aarch64"
          - "x86_64"
          - "aarch64"
      
