From f8314e859bdc41a6262e75bdd0b58136a5431498 Mon Sep 17 00:00:00 2001 From: Matt Polzin Date: Thu, 10 Aug 2023 23:00:59 -0500 Subject: [PATCH 1/2] assign individuals and teams separately for GitHub's sake. --- src/FFI/GitHub.idr | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/FFI/GitHub.idr b/src/FFI/GitHub.idr index 600867f..21547c8 100644 --- a/src/FFI/GitHub.idr +++ b/src/FFI/GitHub.idr @@ -235,6 +235,14 @@ prim__addPullReviewers : Ptr OctokitRef ||| Add reviewers to a Pull Request. ||| ||| Will produce a list of applied reviewers. +||| +||| Applies team reviewers first as one API request and then +||| individual reviewers second as a second API request. This +||| implementation detail forces (or allows) GitHub to take a +||| team assignment and pick someone from it whereas if a team +||| and some individuals are assigned in one go then GitHub will +||| never apply its round-robin or weight-balanced selection but +||| instead will leave the team itself assigned. export addPullReviewers : Octokit => (owner : String) @@ -243,8 +251,10 @@ addPullReviewers : Octokit => -> (reviewers : List String) -> (teamReviewers : List String) -> Promise (List String) -addPullReviewers @{Kit ptr} owner repo pullNumber reviewers teamReviewers = - lines <$> (promiseIO $ prim__addPullReviewers ptr owner repo pullNumber (join "," reviewers) (join "," teamReviewers)) +addPullReviewers @{Kit ptr} owner repo pullNumber reviewers teamReviewers = do + teamReviewers <- lines <$> (promiseIO $ prim__addPullReviewers ptr owner repo pullNumber "" (join "," teamReviewers)) + individualReviewers <- lines <$> (promiseIO $ prim__addPullReviewers ptr owner repo pullNumber (join "," reviewers) "") + pure $ teamReviewers ++ individualReviewers %foreign okit_ffi "add_labels" prim__addLabels : Ptr OctokitRef From b38edc904b387bda4b068dc814edd4463d858c62 Mon Sep 17 00:00:00 2001 From: Mathew Polzin Date: Fri, 18 Aug 2023 22:53:57 -0500 Subject: [PATCH 2/2] bump version --- harmony.ipkg | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/AppVersion.idr | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/harmony.ipkg b/harmony.ipkg index b9934bd..b4cf699 100644 --- a/harmony.ipkg +++ b/harmony.ipkg @@ -1,5 +1,5 @@ package harmony -version = 2.6.0 +version = 2.6.1 authors = "Mathew Polzin" license = "MIT" -- brief = diff --git a/package-lock.json b/package-lock.json index 4d79120..834d1aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mattpolzin/harmony", - "version": "2.6.0", + "version": "2.6.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mattpolzin/harmony", - "version": "2.6.0", + "version": "2.6.1", "license": "MIT", "dependencies": { "octokit": "^2.0.10", diff --git a/package.json b/package.json index a5b386d..7e9aa9f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mattpolzin/harmony", - "version": "2.6.0", + "version": "2.6.1", "publishConfig": { "access": "public" }, diff --git a/src/AppVersion.idr b/src/AppVersion.idr index 2b0ac75..9eabb3e 100644 --- a/src/AppVersion.idr +++ b/src/AppVersion.idr @@ -4,7 +4,7 @@ module AppVersion export appVersion : String -appVersion = "2.6.0" +appVersion = "2.6.1" export printVersion : HasIO io => io ()