Test all

name: Test all

on:
  workflow_call:
    inputs:
      repo:
        required: true
        type: string

      python-version:
        required: false
        default: "3.11"
        type: string
      standard:
        required: false
        default: false
        type: boolean
      latest:
        required: false
        default: false
        type: boolean
      test-py2:
        required: false
        default: false
        type: boolean
      test-py3:
        required: false
        default: true
        type: boolean
      agent-image:
        required: false
        default: ""
        type: string
      agent-image-py2:
        required: false
        default: ""
        type: string
      agent-image-windows:
        required: false
        default: ""
        type: string
      agent-image-windows-py2:
        required: false
        default: ""
        type: string
      setup-env-vars:
        required: false
        default: ""
        type: string

jobs:
  j7a4721a:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Aqua
      target: aqua
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j68e2604:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: AWS Pricing
      target: aws_pricing
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jd342fce:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: BIND 9
      target: bind9
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j9eb5f31:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: celerdata
      target: celerdata
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jcb3c31b:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: cfssl
      target: cfssl
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j6a8ad70:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: CloudNatix
      target: cloudnatix
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  ja2364fe:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Cloudsmith
      target: cloudsmith
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  ja669dc6:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: cybersixgill_actionable_alerts
      target: cybersixgill_actionable_alerts
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j3263e78:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Cyral
      target: cyral
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jfe56917:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: emqx
      target: emqx
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j8c2c004:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Eventstore
      target: eventstore
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jbb3d7c9:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: exim
      target: exim
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j0180cad:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: fiddler
      target: fiddler
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jec10af8:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Filebeat
      target: filebeat
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j77495f2:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: filemage
      target: filemage
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jd678fea:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Fluent Bit
      target: fluentbit
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jb8cf774:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: flume
      target: flume
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jb4053fb:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Gatekeeper
      target: gatekeeper
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j94cb576:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Gitea
      target: gitea
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jdb917e1:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Gnatsd
      target: gnatsd
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j5bcfa2e:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Gnatsd Streaming
      target: gnatsd_streaming
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jdb696b5:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: go_pprof_scraper
      target: go_pprof_scraper
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jb27a2a4:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: gRPC Check
      target: grpc_check
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j2eba458:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: hikaricp
      target: hikaricp
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  ja3e78b9:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Kernelcare
      target: kernelcare
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j68bd571:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Lighthouse
      target: lighthouse
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j41ca94d:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Logstash
      target: logstash
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j1d16977:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Mergify
      target: mergify
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j981d202:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Neo4j
      target: neo4j
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jf1d4aee:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Neutrona
      target: neutrona
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j337128a:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Nextcloud
      target: nextcloud
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j581723e:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Netnology SD-WAN
      target: nn_sdwan
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j61be2af:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: NS1
      target: ns1
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  je41f6a9:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: nvml
      target: nvml
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  je2bd36a:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: OctoPrint
      target: octoprint
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jdcde1e7:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: open_policy_agent
      target: open_policy_agent
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jdcd599a:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: PHP APCu
      target: php_apcu
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jf9ca17e:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: PHP OPcache
      target: php_opcache
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j7220ce3:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: pihole
      target: pihole
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j6a4c3a4:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Ping
      target: ping
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jdb59cb8:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Portworx
      target: portworx
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j831ad4c:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Puma
      target: puma
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j689e0be:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: PureFA
      target: purefa
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  ja269254:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: PureFB
      target: purefb
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jd4cdbe0:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Radarr
      target: radarr
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j473bdb7:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Reboot Required
      target: reboot_required
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j9989d64:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Redis Enterprise V2
      target: redis_enterprise
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  ja8f7203:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Redis Sentinel
      target: redis_sentinel
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  ja156788:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Redis Enterprise
      target: redisenterprise
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jce0dc1a:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Redpanda
      target: redpanda
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jc5ec7c0:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Resin
      target: resin
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j4accb07:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Riak MDC Replication
      target: riak_repl
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jfcdbb05:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Robust Intelligence AI Firewall
      target: robust_intelligence_ai_firewall
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j154ce9f:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Scalr (Community Version)
      target: scalr
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jf44ab67:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Sendmail
      target: sendmail
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j190d837:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: snmpwalk
      target: snmpwalk
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jcdba2ca:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Sonarr
      target: sonarr
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j011590d:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Sortdb
      target: sortdb
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jfc3e971:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: speedtest
      target: speedtest
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  je0445d5:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Stardog
      target: stardog
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j5870f9b:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Storm
      target: storm
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j9744de5:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Syncthing
      target: syncthing
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j0c2f158:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: TiDB
      target: tidb
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j54ace69:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Traefik
      target: traefik
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jd73ec80:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Trino
      target: trino
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j6c9fa4e:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Unbound
      target: unbound
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  ja76fbf3:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Unifi Console
      target: unifi_console
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jfe85d2e:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Upbound UXP
      target: upbound_uxp
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j4041974:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: UPSC
      target: upsc
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j8fcdf27:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Vespa
      target: vespa
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  jf287d93:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: wayfinder
      target: wayfinder
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j0a99eb2:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Zabbix (Community Version)
      target: zabbix
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit
  j7f4936a:
    uses: DataDog/integrations-core/.github/workflows/test-target.yml@master
    with:
      job-name: Zenoh router
      target: zenoh_router
      platform: linux
      runner: '["ubuntu-22.04"]'
      repo: "${{ inputs.repo }}"
      python-version: "${{ inputs.python-version }}"
      standard: ${{ inputs.standard }}
      latest: ${{ inputs.latest }}
      agent-image: "${{ inputs.agent-image }}"
      agent-image-py2: "${{ inputs.agent-image-py2 }}"
      agent-image-windows: "${{ inputs.agent-image-windows }}"
      agent-image-windows-py2: "${{ inputs.agent-image-windows-py2 }}"
      test-py2: ${{ inputs.test-py2 }}
      test-py3: ${{ inputs.test-py3 }}
      setup-env-vars: "${{ inputs.setup-env-vars }}"
    secrets: inherit


Validate repository

name: Validate repository

on:
  push:
    branches:
    - master
  pull_request:

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
  cancel-in-progress: true

jobs:
  run:
    uses: DataDog/integrations-core/.github/workflows/run-validations.yml@master
    with:
      repo: extras

      # Validations
      ci: true
      codeowners: true
      config: true
      dashboards: true
      imports: true
      integration-style: true
      jmx-metrics: true
      legacy-signature: true
      metadata: true
      models: true
      package: true
      readmes: true
      saved-views: true
      service-checks: true
    secrets: inherit


CI & CD

---
name: "CI & CD"

on:
  workflow_dispatch:
  pull_request:
  release:
    types:
    - published

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

env:
  CIBW_BUILD: cp310-* cp311-* cp312-*
  CIBW_TEST_EXTRAS: test
  CIBW_TEST_COMMAND: >
    pytest {project}
    --durations=50
    --ignore={project}//tests//structure//test_trajectory.py
    --ignore={project}//tests//sequence//align//test_statistics.py
    --ignore={project}//tests//application
    --ignore={project}//tests//database
    --ignore={project}//tests//test_doctest.py
    --ignore={project}//tests//test_modname.py
  CIBW_DEPENDENCY_VERSIONS: "pinned"
  # Once GHA and cibuildwheel are updated this can be removed
  # mussllinux takes 6+ hrs to build and test so ignore it
  CIBW_TEST_SKIP: "*musllinux* *-macosx_arm64"

jobs:
  generate-wheels-matrix:
    name: "Generate wheels matrix"
    runs-on: "ubuntu-latest"
    outputs:
      include: ${{ steps.set-matrix.outputs.include }}
    steps:
      - uses: actions/checkout@v4
      - name: Install cibuildwheel
        # MAKE SURE THIS STAYS IN SYNC WITH THE LOWER GHA cibuildwheel
        run: pipx install cibuildwheel==2.19.1
      - id: set-matrix
        run: |
          MATRIX=$(
            {
              cibuildwheel --print-build-identifiers --platform linux \
              | jq -nRc '{"dist": inputs, "os": "ubuntu-latest"}' \
              && cibuildwheel --print-build-identifiers --platform macos \
              | jq -nRc '{"dist": inputs, "os": "macos-latest"}' \
              && cibuildwheel --print-build-identifiers --platform windows \
              | jq -nRc '{"dist": inputs, "os": "windows-latest"}'
            } | jq -sc
          )
          echo "include=$MATRIX" | tee -a $GITHUB_OUTPUT
        env:
          CIBW_ARCHS_LINUX: "x86_64"
          CIBW_ARCHS_MACOS: "x86_64 arm64"
          CIBW_ARCHS_WINDOWS: "x86 AMD64"
          # Skip musllinux because it takes too long to compile on GHA
          # since it is emulated. (6+ hours)
          # *note* most of the build time is actually numpy for musllinux
          CIBW_SKIP: "*musllinux* *-manylinux_i686 *-musllinux_i686 *-win32 pp*"

  test-and-build:
    name: "Build & Test"
    needs: "generate-wheels-matrix"
    strategy:
      matrix:
        include: ${{ fromJson(needs.generate-wheels-matrix.outputs.include) }}
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4

      # QEMU enables building/testing for non-native architectures (ie arm64)
      # at the cost of speed
      - name: Set up QEMU
        if: runner.os == 'Linux'
        uses: docker/setup-qemu-action@v3
        with:
          platforms: all

      - name: Build & (optionally) test wheels
        # MAKE SURE THIS STAYS IN SYNC WITH THE UPPER pipx call to cibuildwheel
        uses: pypa/cibuildwheel@v2.19.1
        with:
          only: ${{ matrix.dist }}

      - uses: actions/upload-artifact@v4
        with:
          name: release-${{ matrix.dist }}
          path: ./wheelhouse/*.whl

  test-interfaces:
    name: Test interfaces to databases and applications

    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash -l {0}

    steps:
      - uses: actions/checkout@v4
      - uses: conda-incubator/setup-miniconda@v3
        with:
          mamba-version: "*"
          environment-file: environment.yml
      - name: Build distribution
        run: pip wheel --no-deps -w dist .
      - name: Install distribution
        run: pip install .//dist//*.whl
      - name: Run tests
        # Running NCBI BLAST and SRA takes too long
        # The tests on the NCBI Entrez database are not reliable enough
        run: >
          pytest
          --durations=50
          --ignore="tests//application//test_blast.py"
          --ignore="tests//application//test_sra.py"
          --ignore="tests//database//test_entrez.py"
          tests//test_doctest.py
          tests//test_modname.py
          tests//database
          tests//application

  test-muscle5:
    name: Test interface to Muscle 5

    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash -l {0}

    steps:
      - uses: actions/checkout@v4
      - uses: conda-incubator/setup-miniconda@v3
        with:
          activate-environment: biotite-dev
          miniforge-variant: Mambaforge
          python-version: "3.10"
          channels: conda-forge,defaults
      - name: Install Muscle 5
        run: conda install -c bioconda "muscle=5"
      - name: Build distribution
        run: pip wheel -w dist .
      - name: Install distribution
        run: pip install .//dist//*.whl pytest
      - name: Test Muscle 5 interface
        run: pytest --durations=50 tests//application//test_msa.py

  make-sdist:
    name: Build source distribution
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Build source distribution
      run: pipx run build --sdist
    - uses: actions/upload-artifact@v4
      with:
        name: release-${{ matrix.dist }}
        path: dist//*.tar.gz

  make-ccd:
    name: Compile the CCD subset for structure.info from the wwPDB CCD

    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash -l {0}

    steps:
    - uses: actions/checkout@v4
    - uses: conda-incubator/setup-miniconda@v2
      with:
        activate-environment: biotite-dev
        miniforge-variant: Mambaforge
        python-version: "3.10"
        channels: conda-forge,defaults
    - name: Build distribution
      run: pip wheel -w dist .
    - name: Install distribution
      run: pip install .//dist//*.whl pytest
    - name: Compile CCD subset
      run: python setup_ccd.py
    - name: Zip CCD
      run: |
          cd src/biotite/structure/info
          zip -r ${{ github.workspace }}//dist//ccd.zip ccd
          cd ${{ github.workspace }}
    - uses: actions/upload-artifact@v4
      with:
        name: ccd
        path: dist//ccd.zip

  make-docs:
    name: Build documentation

    runs-on: ubuntu-20.04
    defaults:
      run:
        shell: bash -l {0}
    env:
      NCBI_API_KEY: ${{ secrets.NCBI_API_KEY }}

    steps:
    - uses: actions/checkout@v4
    - uses: conda-incubator/setup-miniconda@v2
      with:
        environment-file: environment.yml
        miniforge-variant: Mambaforge
    - name: Build distribution
      run: pip wheel --no-deps -w dist .
    - name: Install distribution
      run: pip install .//dist//*.whl
    - name: Build base documentation
      run: sphinx-build -a -D plot_gallery=0 doc build//doc
    - name: Build tutorial and gallery
      if: >
        (
          github.event_name == 'release' &&
          github.event.action == 'published'
        )
        || github.event_name == 'workflow_dispatch'
      run: sphinx-build -a doc build//doc
    - name: Zip documentation
      run: |
          cd build
          zip -r ..//dist//doc.zip doc
          cd ..
    - uses: actions/upload-artifact@v4
      with:
        name: documentation
        path: dist//doc.zip

  upload-package:
    name: Upload package to GitHub Releases & PyPI
    permissions:
      contents: write
    needs:
    - test-and-build
    - make-sdist
    - test-interfaces
    - test-muscle5
    runs-on: ubuntu-latest
    steps:
    - uses: actions/download-artifact@v4
      with:
        pattern: release-*
        merge-multiple: true
        path: dist
    - name: List distributions to be uploaded
      run: ls dist
    - name: Upload to GitHub Releases
      uses: softprops/action-gh-release@v2.0.5
      if: github.event_name == 'release' && github.event.action == 'published'
      with:
        files: dist//*
    - name: Upload to PyPI
      uses: pypa/gh-action-pypi-publish@v1.9.0
      if: github.event_name == 'release' && github.event.action == 'published'
      with:
        password: ${{ secrets.PYPI_TOKEN }}

  upload-docs:
    name: Upload documentation to GitHub Releases
    permissions:
      contents: write
    needs:
    - make-docs
    runs-on: ubuntu-latest
    steps:
    - uses: actions/download-artifact@v4
      with:
        name: documentation
        path: dist
    - uses: softprops/action-gh-release@v2.0.5
      if: github.event_name == 'release' && github.event.action == 'published'
      with:
        files: dist//doc.zip


Build Docker-Image

name: Build Docker-Image

on:
  push:
    branches:
      - master
  repository_dispatch:
    types: [build-docker-image]

jobs:
  build-docker-image:
    runs-on: ubuntu-latest
    name: Build Docker Image
    steps:
    - name: Checkout
      uses: actions/checkout@v4
    - name: Install buildx
      uses: docker/setup-buildx-action@v3
    - name: Login to Docker
      uses: docker/login-action@v3
      with:
        registry: ghcr.io
        username: ${{ github.actor }}
        password: ${{ github.token }}
    - name: Set Names
      id: names
      run: |
        echo "name=ghcr.io/oggm/oggm" >> $GITHUB_OUTPUT
        echo "date=$(date +%Y%m%d)" >> $GITHUB_OUTPUT
        echo "sha=$GITHUB_SHA" >> $GITHUB_OUTPUT
    - name: Stop Commands
      run: T="$(echo -n ${{ github.token }} | sha256sum | head -c 64)" && echo -e "::add-mask::${T}\n::stop-commands::${T}"
    - name: Build image
      uses: docker/build-push-action@v6
      with:
        context: deployment/docker
        pull: true
        load: true
        provenance: false
        build-args: |
          GITHUB_SHA=${{ github.sha }}
          GITHUB_REPOSITORY=${{ github.repository }}
        tags: |
          ${{ steps.names.outputs.name }}:test
    - name: Test image
      run: docker run --rm ${{ steps.names.outputs.name }}:test /root/test.sh
    - name: Push image
      uses: docker/build-push-action@v6
      if: ${{ github.repository_owner == 'OGGM' }}
      with:
        context: deployment/docker
        push: true
        provenance: false
        build-args: |
          GITHUB_SHA=${{ github.sha }}
          GITHUB_REPOSITORY=${{ github.repository }}
        tags: |
          ${{ steps.names.outputs.name }}:latest
          ${{ steps.names.outputs.name }}:${{ steps.names.outputs.date }}
          ${{ steps.names.outputs.name }}:${{ steps.names.outputs.sha }}


Test

name: Test

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  test:
    name: ${{ matrix.test-env }} on ${{ matrix.container }}
    strategy:
      fail-fast: false
      matrix:
        test-env:
          - prepro
          - numerics
          - models
          - benchmark
          - utils
          - workflow-single
          - workflow-multi
          - graphics-mpl
        container:
          - ghcr.io/oggm/untested_base:20231004
          - ghcr.io/oggm/untested_base:py3.10
          - ghcr.io/oggm/untested_base:py3.9
        include:
          - container: python:3.11-slim
            test-env: minimal
    runs-on: ubuntu-latest
    container: ${{ matrix.container }}
    continue-on-error: ${{ contains(matrix.container, 'py3') }}
    steps:
      - name: Install tools
        if: ${{ contains(matrix.container, 'slim') }}
        run: apt-get -y update && apt-get -y install git curl
      - name: Checkout
        uses: actions/checkout@v4
      - name: Fix Git-Permissions
        run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
      - name: Test
        run: ./ci/run_tests.sh "${{ matrix.test-env }}" "${{ matrix.container }}"
      - name: Upload pytest-mpl artifacts
        if: failure()
        uses: actions/upload-artifact@v4
        with:
          name: pytest-mpl-results
          path: /tmp/oggm-mpl-results/
      - name: Upload Coverage
        if: ${{ !contains(matrix.container, 'py3') }}
        continue-on-error: true
        env:
          GITHUB_TOKEN: ${{ github.token }}
          COVERALLS_SERVICE_NAME: github
          COVERALLS_PARALLEL: true
        run: coveralls
  finish-coveralls:
    name: Coveralls Finished
    needs: test
    runs-on: ubuntu-latest
    container: python:3.11-slim
    continue-on-error: true
    steps:
    - name: Coveralls Finished
      env:
        GITHUB_TOKEN: ${{ github.token }}
        COVERALLS_SERVICE_NAME: github
      run: |
        pip3 install --upgrade coveralls &&
        coveralls --finish


Check code format

# This file is part of BenchExec, a framework for reliable benchmarking:
# https://github.com/sosy-lab/benchexec
#
# SPDX-FileCopyrightText: 2023 Dirk Beyer <https://www.sosy-lab.org>
#
# SPDX-License-Identifier: Apache-2.0

name: Check code format

on: [push, pull_request]

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: psf/black@stable
        with:
          options: "--check --diff"
          version: "<25"


JavaScript Pipeline

# This file is part of BenchExec, a framework for reliable benchmarking:
# https://github.com/sosy-lab/benchexec
#
# SPDX-FileCopyrightText: 2023 Dirk Beyer <https://www.sosy-lab.org>
#
# SPDX-License-Identifier: Apache-2.0

name: JavaScript Pipeline

on: [push, pull_request, workflow_dispatch]

jobs:
  lint:
    name: Perform linting
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "lts/iron"

      - name: Cache dependencies
        uses: actions/cache@v4
        with:
          path: ~/.npm
          key: npm-${{ hashFiles('benchexec/tablegenerator/react-table/package-lock.json') }}
          restore-keys: npm-

      - name: Install dependencies
        run: npm ci
        working-directory: benchexec/tablegenerator/react-table

      - name: Lint
        run: npm run lint
        working-directory: benchexec/tablegenerator/react-table

  tests:
    name: Running tests
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "lts/iron"

      - name: Cache dependencies
        uses: actions/cache@v4
        with:
          path: ~/.npm
          key: npm-${{ hashFiles('benchexec/tablegenerator/react-table/package-lock.json') }}
          restore-keys: npm-

      - name: Install dependencies
        run: npm ci
        working-directory: benchexec/tablegenerator/react-table

      - name: Run tests
        run: npm run test
        working-directory: benchexec/tablegenerator/react-table

  javascript-build:
    name: Building the application
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "lts/iron"

      - name: Cache dependencies
        uses: actions/cache@v4
        with:
          path: ~/.npm
          key: npm-${{ hashFiles('benchexec/tablegenerator/react-table/package-lock.json') }}
          restore-keys: npm-

      - name: Install dependencies
        run: npm ci
        working-directory: benchexec/tablegenerator/react-table

      - name: Build
        run: |
          npm run build
          git diff --stat --exit-code
        working-directory: benchexec/tablegenerator/react-table


REUSE Compliance Check

# This file is part of BenchExec, a framework for reliable benchmarking:
# https://github.com/sosy-lab/benchexec
#
# SPDX-FileCopyrightText: 2023 Dirk Beyer <https://www.sosy-lab.org>
#
# SPDX-License-Identifier: Apache-2.0

name: REUSE Compliance Check

on: [push, pull_request]

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: fsfe/reuse-action@v3


Ruff

# This file is part of BenchExec, a framework for reliable benchmarking:
# https://github.com/sosy-lab/benchexec
#
# SPDX-FileCopyrightText: 2023 Dirk Beyer <https://www.sosy-lab.org>
#
# SPDX-License-Identifier: Apache-2.0

name: Ruff

on: [push, pull_request]

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: chartboost/ruff-action@v1


release

name: release

on:
  push:
    tags:
      - "*"

jobs:
        #  wait-for-green-master:
        #    runs-on: ubuntu-latest
        #    steps:
        #      - name: Wait for tests to finish
        #        uses: lewagon/wait-on-check-action@v1.3.1
        #        with:
        #          ref: ${{ github.ref }}
        #          running-workflow-name: 'wait-for-green-master'
        #          repo-token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        #          wait-interval: 60

  build-neptune:
    runs-on: ubuntu-latest
    #    needs: [wait-for-green-master]
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Install Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.10"

      - name: Install build dependencies
        run: pip install poetry poetry-dynamic-versioning

      - name: Build package
        run: poetry build

      - uses: actions/upload-artifact@v4
        with:
          name: neptune-package
          path: dist/

  test-clean-install-neptune:
    needs: [ build-neptune ]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/download-artifact@v4
        with:
          name: neptune-package
          path: dist

      - name: Install neptune package
        run: pip install --force-reinstall --pre -f ./dist neptune

      - name: List dependencies
        run: pip list

      - name: Test imports
        run: python -c "from neptune import init_run"

  publish-neptune:
    needs:
      - build-neptune
      - test-clean-install-neptune
    runs-on: ubuntu-latest
    steps:
      - uses: actions/download-artifact@v4
        with:
          name: neptune-package
          path: dist/

#      - name: Uploading to test PyPI
#        uses: pypa/gh-action-pypi-publish@v1.9.0
#        with:
#         user: __token__
#         password: ${{ secrets.TEST_PYPI_API_TOKEN }}
#         repository_url: https://test.pypi.org/legacy/

      - name: Uploading to PyPI
        uses: pypa/gh-action-pypi-publish@v1.9.0
        with:
          user: __token__
          password: ${{ secrets.NEPTUNE_PYPI_API_TOKEN }}


pre-commit

name: pre-commit

on:
  pull_request:
  push:
    branches:
      - master

jobs:
  pre-commit:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Install Python
      uses: actions/setup-python@v5
      with:
        python-version: "3.12"

    - name: Run pre-commit
      uses: pre-commit/action@v3.0.1


pull-request-unittests

name: pull-request-unittests

on:
  workflow_dispatch:
  push:
    branches-ignore:
      - master

jobs:
  test:
    timeout-minutes: 75
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu, windows, macos]
        python-version: ["3.8"]
    name: 'test (${{ matrix.os }} - py${{ matrix.python-version }})'
    runs-on: ${{ matrix.os }}-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Run tests
        uses: ./.github/actions/test-unit
        with:
          python-version: ${{ matrix.python-version }}
          os: ${{ matrix.os }}
          report_job: 'test (${{ matrix.os }} - py${{ matrix.python-version }})'
          codecov-token: ${{ secrets.CODECOV_TOKEN }}


run-unit

name: run-unit

on:
  repository_dispatch:
    types: [run-unit-command]

jobs:
  comment:
    runs-on: ubuntu-latest
    steps:
    - name: Add reaction
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
        reaction-type: hooray

    - name: Create URL to the run output
      id: vars
      run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT

    - name: Create comment
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
        body: |
          Hey hey @${{ github.event.client_payload.github.actor }}! I'm glad to see that you're looking for something much more demanding :wink: I've triggered for you our unittests on every supported Operating System and Python version. [Check current status here :rocket:](${{ steps.vars.outputs.run-url }})

  invoke:
    uses: ./.github/workflows/unit.yml


run-integrations

name: run-integrations

on:
  repository_dispatch:
    types: [run-integrations-command]

jobs:
  comment:
    runs-on: ubuntu-latest
    steps:
    - name: Add reaction
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
        reaction-type: hooray

    - name: Create URL to the run output
      id: vars
      run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT

    - name: Create comment
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
        body: |
          Hey hey @${{ github.event.client_payload.github.actor }}! I'm glad to see that you're looking for something much more demanding :wink: I've triggered for you tests of our client integrations on every supported Operating System and Python version. [Check current status here :rocket:](${{ steps.vars.outputs.run-url }})

  invoke:
    uses: ./.github/workflows/integrations.yml


name: run-e2e

on:
  repository_dispatch:
    types: [run-e2e-command]

jobs:
  comment:
    runs-on: ubuntu-latest
    steps:
    - name: Add reaction
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
        reaction-type: hooray

    - name: Create URL to the run output
      id: vars
      run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT

    - name: Create comment
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
        body: |
          Hey hey @${{ github.event.client_payload.github.actor }}! I'm glad to see that you're looking for something much more demanding :wink: I've triggered for you our E2E tests on every supported Operating System and Python version. [Check current status here :rocket:](${{ steps.vars.outputs.run-url }})

  invoke:
    uses: ./.github/workflows/e2e.yml


help-command

name: help-command

on:
  repository_dispatch:
    types: [help-command]

jobs:
  help:
    runs-on: ubuntu-latest
    steps:
      - name: Update comment
        uses: peter-evans/create-or-update-comment@v4
        with:
          token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
          comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
          body: |
            > Command | Description
            > --- | ---
            > /pre-commit-apply | Commit a pre-commit suggestions
            > /run-unit | Run unittests on full matrix *(win, mac, linux x py3.7-3.12)
            > /run-e2e | Run E2E tests on full matrix *(win, mac, linux x py3.7-3.12)
            > /run-integrations | Run Client integrations on full matrix *(win, mac, linux x py3.7-3.12)
            > /run-all-test | Run all tests on full matrix *(win, mac, linux x py3.7-3.12)
          reaction-type: hooray


pre-commit-apply

name: pre-commit-apply

on:
  repository_dispatch:
    types: [pre-commit-apply-command]

jobs:
  pre-commit:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        ref: ${{ github.event.client_payload.pull_request.head.ref }}

    - name: Install Python
      uses: actions/setup-python@v5
      with:
        python-version: "3.12"

    - name: Install pre-commit
      run: pip install pre-commit

    - name: Pre-commit
      id: pre-commit
      continue-on-error: true
      run: pre-commit run --all-files

    - name: Commit to the PR branch
      if: steps.pre-commit.outcome != 'success'
      run: |
        git config --global user.name '${{ secrets.NEPTUNE_BOT_USERNAME }}'
        git config --global user.email '${{ secrets.NEPTUNE_BOT_EMAIL }}'
        git commit -am "pre-commit applied"
        git push

    - name: Add reaction
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
        reaction-type: hooray


Slash Command Dispatch

name: Slash Command Dispatch

on:
  issue_comment:
    types: [created]

jobs:
  slash-dispatch:
    runs-on: ubuntu-latest
    steps:
      - name: Slash Command Dispatch
        uses: peter-evans/slash-command-dispatch@v4
        with:
          commands: |
            pre-commit-apply
            help
            run-e2e
            run-unit
            run-integrations
            run-all-test
          reaction-token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
          token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
          permission: write


unit

name: unit

on:
  workflow_call:
  workflow_dispatch:
  schedule:
    - cron: "0 4 * * *" # Run every day at arbitrary time (4:00 AM UTC)
  push:
    branches:
      - master

jobs:
  test:
    timeout-minutes: 75
    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
        os: [ubuntu, windows, macos]

    name: 'test (${{ matrix.os }} - py${{ matrix.python-version }})'
    runs-on: ${{ matrix.os }}-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.event.client_payload.pull_request.head.ref }}

      - name: Run tests
        uses: ./.github/actions/test-unit
        with:
          python-version: ${{ matrix.python-version }}
          os: ${{ matrix.os }}
          report_job: 'test (${{ matrix.os }} - py${{ matrix.python-version }})'
          codecov-token: ${{ secrets.CODECOV_TOKEN }}

  unit-tests-notify:
    needs: [ test ]
    runs-on: ubuntu-latest
    if: (success() || failure()) && github.ref == 'refs/heads/master'
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.event.client_payload.pull_request.head.ref }}

      - name: Notify
        uses: ./.github/actions/workflow-notify-v2
        with:
          slack-webhook: ${{ secrets.E2E_REGULAR_SLACK_WEBHOOK }}
          neptune-ref: ${{ github.ref }}


name: e2e

on:
  workflow_call:
  workflow_dispatch:

env:
  WORKSPACE_NAME: ${{ vars.E2E_WORKSPACE_NAME }}
  BUCKET_NAME: ${{ secrets.E2E_BUCKET_NAME }}
  USER_USERNAME: ${{ vars.E2E_USER_USERNAME }}
  NEPTUNE_API_TOKEN: ${{ secrets.E2E_USER_API_TOKEN }}
  ADMIN_USERNAME: ${{ vars.E2E_ADMIN_USERNAME }}
  ADMIN_NEPTUNE_API_TOKEN: ${{ secrets.E2E_ADMIN_API_TOKEN }}
  SERVICE_ACCOUNT_NAME: ${{ vars.E2E_SERVICE_ACCOUNT_NAME }}

jobs:
  e2e:
    environment: Production
    timeout-minutes: 75
    strategy:
      fail-fast: false
      matrix:
        python-version: [ "3.8", "3.12" ]
        os: [ ubuntu, windows, macos ]
    runs-on: ${{ matrix.os }}-latest
    name: 'standard (${{ matrix.os }} - py${{ matrix.python-version }})'
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.event.client_payload.pull_request.head.ref }}

      - name: Test
        uses: ./.github/actions/test-e2e
        env:
          NEPTUNE_API_TOKEN: ${{ secrets.E2E_SERVICE_ACCOUNT_API_TOKEN }}
        with:
          python-version: ${{ matrix.python-version }}
          os: ${{ matrix.os }}
          module: "not integrations"
          name: "standard"
          report_job: 'standard (${{ matrix.os }} - py${{ matrix.python-version }})'
          codecov-token: ${{ secrets.CODECOV_TOKEN }}

  e2e-tests-notify:
    needs: [ e2e, ]
    runs-on: ubuntu-latest
    if: (success() || failure()) && github.ref == 'refs/heads/master'
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.event.client_payload.pull_request.head.ref }}

      - name: Notify
        uses: ./.github/actions/workflow-notify-v2
        with:
          slack-webhook: ${{ secrets.E2E_REGULAR_SLACK_WEBHOOK }}
          neptune-ref: ${{ github.ref }}


run-all-test

name: run-all-test

on:
  repository_dispatch:
    types: [run-all-test-command]

jobs:
  comment:
    runs-on: ubuntu-latest
    steps:
    - name: Add reaction
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
        reaction-type: hooray

    - name: Create URL to the run output
      id: vars
      run: echo "run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_OUTPUT

    - name: Create comment
      uses: peter-evans/create-or-update-comment@v4
      with:
        token: ${{ secrets.NEPTUNE_BOT_ACCESS_TOKEN }}
        issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
        body: |
          Hey hey @${{ github.event.client_payload.github.actor }}! I'm glad to see that you're looking for something much more demanding :wink: I've triggered for you all possible tests on every supported Operating System and Python version. [Check current status here :rocket:](${{ steps.vars.outputs.run-url }})

  invoke-unit:
    uses: ./.github/workflows/unit.yml

  invoke-e2e:
    uses: ./.github/workflows/e2e.yml

  invoke-integrations:
    uses: ./.github/workflows/integrations.yml


name: dev1.x-e2e

on:
  workflow_dispatch:
  schedule:
    - cron: "0 6 * * *" # Run every day at arbitrary time (4:00 AM UTC)

env:
  WORKSPACE_NAME: e2e-tests
  BUCKET_NAME: ${{ secrets.E2E_BUCKET_NAME }}
  USER_USERNAME: ${{ secrets.E2E_USER_USERNAME }}
  ADMIN_USERNAME: ${{ secrets.E2E_ADMIN_USERNAME }}
  ADMIN_NEPTUNE_API_TOKEN: ${{ secrets.E2E_ADMIN_NEPTUNE_API_TOKEN }}
  SERVICE_ACCOUNT_NAME: ${{ secrets.E2E_SERVICE_ACCOUNT_NAME }}

jobs:
  dev1_x_e2e:
    uses: neptune-ai/neptune-client/.github/workflows/e2e.yml@dev/1.x
    secrets: inherit
    with:
      neptune_ref: refs/heads/dev/1.x


name: dev1.x-integrations

on:
  workflow_dispatch:
  schedule:
    - cron: "0 6 * * *" # Run every day at arbitrary time (4:00 AM UTC)

env:
  WORKSPACE_NAME: e2e-tests
  BUCKET_NAME: ${{ secrets.E2E_BUCKET_NAME }}
  USER_USERNAME: ${{ secrets.E2E_USER_USERNAME }}
  ADMIN_USERNAME: ${{ secrets.E2E_ADMIN_USERNAME }}
  ADMIN_NEPTUNE_API_TOKEN: ${{ secrets.E2E_ADMIN_NEPTUNE_API_TOKEN }}
  SERVICE_ACCOUNT_NAME: ${{ secrets.E2E_SERVICE_ACCOUNT_NAME }}

jobs:
  integrations_dev1_x:
    uses: neptune-ai/neptune-client/.github/workflows/integrations.yml@dev/1.x
    secrets: inherit
    with:
      neptune_ref: refs/heads/dev/1.x


name: dev1.x-unit

on:
  workflow_dispatch:
  schedule:
    - cron: "0 6 * * *" # Run every day at arbitrary time (4:00 AM UTC)

env:
  WORKSPACE_NAME: e2e-tests
  BUCKET_NAME: ${{ secrets.E2E_BUCKET_NAME }}
  USER_USERNAME: ${{ secrets.E2E_USER_USERNAME }}
  ADMIN_USERNAME: ${{ secrets.E2E_ADMIN_USERNAME }}
  ADMIN_NEPTUNE_API_TOKEN: ${{ secrets.E2E_ADMIN_NEPTUNE_API_TOKEN }}
  SERVICE_ACCOUNT_NAME: ${{ secrets.E2E_SERVICE_ACCOUNT_NAME }}

jobs:
  unit_dev1_x:
    uses: neptune-ai/neptune-client/.github/workflows/unit.yml@dev/1.x
    secrets: inherit
    with:
      neptune_ref: refs/heads/dev/1.x


Check deps

name: Check deps

on:
  pull_request:
    paths:
      - setup.py
      - requirements.txt
      - dev-requirements.txt
      - docs/requirements.txt
      - .github/workflows/dependencies.yml

env:
  DEBIAN_FRONTEND: noninteractive

jobs:
  quality:
    name: Checking dependency graph
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: ['ubuntu-20.04']
        python-version: ['3.8']

    steps:
      - uses: actions/checkout@v3

      - name: Set up Python
        uses: ./.github/actions/python-cache-requirements
        with:
          requirements: dev-requirements.txt

      - name: Install dependencies
        run: |
          pip3 install -c dev-requirements.txt pip-tools

      - name: Check dependency graph
        run: |
          pip-compile -q --strip-extras
          pip-compile -q --strip-extras dev-requirements.in
          pip-compile -q --strip-extras docs/requirements.in

      - name: Verify dependency graph is ok
        uses: tj-actions/verify-changed-files@v20
        id: verify-changed-files
        with:
          files: |
            requirements.txt
            dev-requirements.txt
            docs/requirements.txt

      - name: Validating graph
        if: steps.verify-changed-files.outputs.files_changed == 'true'
        run: |
          echo "Dependency file(s) changed: ${{ steps.verify-changed-files.outputs.changed_files }}"
          git diff
          core.setFailed('Please add your new dependencies in setup.py and/or dev-requirements.in then run pip-compile to add them in requirements. (see docs/contribute/development)')


Documentation

name: Documentation

on:
  push:
    branches:
      - master
    paths:
      - 'docs/**'
  pull_request:
    paths:
      - 'docs/**'
  release:
    types:
      - created

env:
  DEBIAN_FRONTEND: noninteractive

jobs:
  doc:
    name: Documentation
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ./.github/actions/python-cache-requirements
        with:
          requirements: docs/requirements.txt

      - name: Build doc
        run: |
          cd docs/
          make html SPHINXOPTS="-W"


Linting

name: Linting

on:
  pull_request:
    paths:
      - 'geotrek/**'  # if geotrek code change
      - '.github/workflows/lint.yml'  # if lint workflow change
      - 'dev-requirements.txt'  # if dev-requirements.txt change
      - 'setup.cfg'   # if lint tools configuration change

env:
  DEBIAN_FRONTEND: noninteractive

jobs:
  migrations:
    name: Checking SRID in migrations files
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - run: |
          test $(ls geotrek/*/migrations/*.py | xargs grep -l srid | xargs grep -L SRID | wc -l) -eq 0

  flake8:
    name: Checking Flake8 rules
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ./.github/actions/python-cache-requirements
        with:
          requirements: dev-requirements.txt

      - name: Install dependencies
        run: |
          pip3 install -c dev-requirements.txt flake8

      - name: Flake8
        run: |
          flake8 geotrek