name: contrib-tests
on:
  push:
    branches: [ main ]
    tags:
      - v[0-9]+.[0-9]+.[0-9]+.*
  pull_request:
    types: [opened, ready_for_review, synchronize, reopened, labeled, unlabeled]
    branches: [ main ]

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

jobs:
  contrib_tests:
    runs-on: ubuntu-latest
    if: ${{ !contains(github.event.pull_request.labels.*.name, 'Skip Contrib Tests') }}

    steps:
      - name: Checkout Repo
        uses: actions/checkout@v4
      - name: Setup Go
        uses: actions/setup-go@v4
        with:
          go-version: ~1.20.8
      - name: Run Contrib Tests
        run: |
          contrib_path=/tmp/opentelemetry-collector-contrib
          git clone https://github.com/open-telemetry/opentelemetry-collector-contrib.git $contrib_path
          make CONTRIB_PATH=$contrib_path SKIP_RESTORE_CONTRIB=true check-contrib
