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 () 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