Unverified Commit c5eba572 authored by Silvan Mosberger's avatar Silvan Mosberger Committed by GitHub
Browse files

ci/request-reviews: request reviewers 1-by-1 (#370857)

parents 7488963c 034613f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -106,6 +106,6 @@ jobs:
      run: nix-build ci -A requestReviews

    - name: Request reviews
      run: result/bin/request-reviews.sh ${{ github.repository }} ${{ github.event.number }} "$OWNERS_FILE"
      run: result/bin/request-code-owner-reviews.sh ${{ github.repository }} ${{ github.event.number }} "$OWNERS_FILE"
      env:
        GH_TOKEN: ${{ steps.app-token.outputs.token }}
+9 −9
Original line number Diff line number Diff line
@@ -254,7 +254,7 @@ jobs:
      - name: Build the requestReviews derivation
        run: nix-build base/ci -A requestReviews

      - name: Tagging pull request
      - name: Labelling pull request
        run: |
          # Get all currently set rebuild labels
          gh api \
@@ -283,18 +283,18 @@ jobs:
              -f "labels[]=$toAdd"
          done < <(comm -13 before after)

        env:
          GH_TOKEN: ${{ github.token }}
          REPOSITORY: ${{ github.repository }}
          NUMBER: ${{ github.event.number }}

      - name: Requesting maintainer reviews
        run: |
          # maintainers.json contains GitHub IDs. Look up handles to request reviews from.
          # There appears to be no API to request reviews based on GitHub IDs
          jq -r 'keys[]' comparison/maintainers.json \
            | while read -r id; do gh api /user/"$id" --jq .login; done \
            | GH_TOKEN=${{ steps.app-token.outputs.token }} result/bin/process-reviewers.sh "$REPOSITORY" "$NUMBER" "$AUTHOR" \
            > reviewers.json

          # Request reviewers from maintainers of changed output paths
          GH_TOKEN=${{ steps.app-token.outputs.token }} gh api \
            --method POST \
            /repos/"$REPOSITORY"/pulls/"$NUMBER"/requested_reviewers \
            --input reviewers.json
            | GH_TOKEN=${{ steps.app-token.outputs.token }} result/bin/request-reviewers.sh "$REPOSITORY" "$NUMBER" "$AUTHOR"

        env:
          GH_TOKEN: ${{ github.token }}
+3 −3
Original line number Diff line number Diff line
@@ -14,9 +14,9 @@ stdenvNoCC.mkDerivation {
  src = lib.fileset.toSource {
    root = ./.;
    fileset = lib.fileset.unions [
      ./get-reviewers.sh
      ./process-reviewers.sh
      ./request-reviews.sh
      ./get-code-owners.sh
      ./request-reviewers.sh
      ./request-code-owner-reviews.sh
      ./verify-base-branch.sh
      ./dev-branches.txt
    ];
+3 −17
Original line number Diff line number Diff line
@@ -77,20 +77,6 @@ if ! "$SCRIPT_DIR"/verify-base-branch.sh "$tmp/nixpkgs.git" "$headRef" "$baseRep
    exit 1
fi

log "Getting code owners to request reviews from"
"$SCRIPT_DIR"/get-reviewers.sh "$tmp/nixpkgs.git" "$ownersFile" "$baseBranch" "$headRef" | \
    "$SCRIPT_DIR"/process-reviewers.sh "$baseRepo" "$prNumber" "$prAuthor" > "$tmp/reviewers.json"

log "Requesting reviews from: $(<"$tmp/reviewers.json")"

if ! response=$(effect gh api \
    --method POST \
    -H "Accept: application/vnd.github+json" \
    -H "X-GitHub-Api-Version: 2022-11-28" \
    "/repos/$baseRepo/pulls/$prNumber/requested_reviewers" \
    --input "$tmp/reviewers.json"); then
    log "Failed to request reviews: $response"
    exit 1
fi

log "Successfully requested reviews"
log "Requesting reviews from code owners"
"$SCRIPT_DIR"/get-code-owners.sh "$tmp/nixpkgs.git" "$ownersFile" "$baseBranch" "$headRef" | \
    "$SCRIPT_DIR"/request-reviewers.sh "$baseRepo" "$prNumber" "$prAuthor"
Loading