[pull] main from DataDog:main #5957
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: "Label analysis" | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, labeled, unlabeled] | |
branches: | |
- main | |
- "[0-9]+.[0-9]+.x" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GH_REPO: ${{ github.repository }} | |
permissions: {} | |
jobs: | |
assign-team-label: | |
if: github.triggering_actor != 'dd-devflow[bot]' | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | |
with: | |
persist-credentials: false | |
- name: Setup python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: 3.11 | |
cache: 'pip' | |
cache-dependency-path: '**/requirements*.txt' | |
- name: Install dependencies | |
run: pip install -r requirements.txt -r tasks/requirements.txt | |
- name: Auto assign team label | |
env: | |
PR_ID: ${{ github.event.pull_request.number }} | |
run: inv -e github.assign-team-label --pr-id="$PR_ID" | |
release-note-check: | |
if: github.triggering_actor != 'dd-devflow[bot]' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | |
with: | |
fetch-depth: 0 | |
persist-credentials: false | |
- name: Setup python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: 3.11 | |
cache: 'pip' | |
cache-dependency-path: '**/requirements*.txt' | |
- name: Install dependencies | |
run: pip install -r requirements.txt -r tasks/requirements.txt | |
- name: Check release note | |
env: | |
BRANCH_NAME: ${{ github.head_ref }} | |
PR_ID: ${{ github.event.pull_request.number }} | |
run: inv -e linter.releasenote | |
fetch-labels: | |
needs: assign-team-label | |
if: github.triggering_actor != 'dd-devflow[bot]' | |
runs-on: ubuntu-latest | |
outputs: | |
LABELS: ${{ steps.pr-labels.outputs.LABELS }} | |
steps: | |
- name: Get PR labels | |
env: | |
PR_NUMBER: ${{ github.event.pull_request.number }} | |
EVENT_NUMBER: ${{ github.event.number }} | |
id: pr-labels | |
run: | | |
labels="$(gh pr view "$PR_NUMBER" --json labels --jq '[.labels[].name] | (join(" "))')" | |
echo "Fetched labels for PR $EVENT_NUMBER: $labels" | |
echo "LABELS=$labels" >> "$GITHUB_OUTPUT" | |
team-label-check: | |
needs: fetch-labels | |
if: github.triggering_actor != 'dd-devflow[bot]' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check team assignment | |
run: | | |
for label in $LABELS; do | |
if [[ "$label" =~ ^qa/ ]]; then | |
echo "A label to skip QA is set -- no need for team assignment" | |
exit 0 | |
fi | |
if [[ "$label" =~ ^team/ && "$label" != team/triage ]]; then | |
echo "Team label found: $label" | |
exit 0 | |
fi | |
done | |
echo "PR ${{github.event.number}} requires at least one non-triage team assignment label (label starting by 'team/')" | |
exit 1 | |
env: | |
LABELS: ${{ needs.fetch-labels.outputs.LABELS}} | |
skip-qa-check: | |
needs: fetch-labels | |
if: github.triggering_actor != 'dd-devflow[bot]' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | |
with: | |
persist-credentials: false | |
- name: Setup Python3 | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: "3.12.6" | |
cache: "pip" | |
cache-dependency-path: '**/requirements*.txt' | |
- name: Install python dependencies | |
run: pip3 install -r requirements.txt | |
- name: Check qa/[done|no-code-change] labels are not set together | |
env: | |
LABELS: ${{ needs.fetch-labels.outputs.LABELS}} | |
run: | | |
inv -e github.check-qa-labels --labels "${LABELS[@]}" | |
agenttelemetry-list-change-ack-check: | |
if: github.triggering_actor != 'dd-devflow[bot]' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Setup python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: 3.11 | |
cache: 'pip' | |
cache-dependency-path: '**/requirements*.txt' | |
- name: Install dependencies | |
run: pip install -r requirements.txt -r tasks/requirements.txt | |
- name: Check agent telemetry metric list | |
run: inv -e github.agenttelemetry-list-change-ack-check --pr-id=${{ github.event.pull_request.number }} |