ome / scc

OME tools for managing the Git(Hub) workflow
https://pypi.org/project/scc/
GNU General Public License v2.0
0 stars 15 forks source link

Only consider GitHub actions check-suites for merging #267

Closed sbesson closed 3 years ago

sbesson commented 3 years ago

See https://github.com/ome/omero-parade/pull/83#issuecomment-755209182.

For each commit, check suites can be created by any app and it is not guaranteed all of them will fill the conclusion field. An example is https://api.github.com/repos/ome/omero-parade/commits/90024fdb12db958ee5ad0e750febc8ea5ddfcd9f/check-suites where the first check suite is created by the dependabot app and conclusion is null.

This updates the scc logic to only test the conclusion of check-suites created by the GitHub actions app, using the hardcoded app ID.

Using the omero-parade use-case as an example, without this PR, the dependabot PRs are all excluded with state: None

sbesson@ls30630:omero-parade (master) $ ~/venvs/scc/bin/scc version
0.15.0
sbesson@ls30630:omero-parade (master) $ ~/venvs/scc/bin/scc merge master --info -S success-only
2021-01-06 11:04:58,352 [   scc.merge] INFO  Listing Pull Request(s) based on master
2021-01-06 11:04:58,352 [   scc.merge] INFO  Including Pull Request(s) opened by any public member of the organization
2021-01-06 11:04:58,352 [   scc.merge] INFO  Including Pull Request(s) labelled as include or dependencies
2021-01-06 11:04:58,352 [   scc.merge] INFO  Excluding Pull Request(s) labelled as exclude or breaking
2021-01-06 11:04:58,352 [   scc.merge] INFO  Excluding Pull Request(s) without successful status
2021-01-06 11:05:03,040 [   scc.merge] INFO  Repository: ome/omero-parade
2021-01-06 11:05:03,040 [   scc.merge] INFO  Excluded PRs:
2021-01-06 11:05:03,040 [   scc.merge] INFO    - PR 83 dependabot[bot] 'Bump axios from 0.18.1 to 0.21.1' (state: None)
2021-01-06 11:05:03,040 [   scc.merge] INFO    - PR 80 dependabot[bot] 'Bump elliptic from 6.4.1 to 6.5.3' (state: None)
2021-01-06 11:05:03,040 [   scc.merge] INFO    - PR 79 dependabot[bot] 'Bump lodash from 4.17.13 to 4.17.19' (state: None)
2021-01-06 11:05:03,040 [   scc.merge] INFO    - PR 39 chris-allan 'Expand all for Screens' (exclude comment)
2021-01-06 11:05:03,040 [   scc.merge] INFO  

With this change, all the dependabot PRs should be considered for inclusion in the merge commit

sbesson@ls30630:omero-parade (master) $ /opt/ome/scc/venv/bin/scc version
0.15.1.dev0
sbesson@ls30630:omero-parade (master) $ /opt/ome/scc/venv/bin/scc merge master --info -S success-only
2021-01-06 11:05:13,835 [   scc.merge] INFO  Listing Pull Request(s) based on master
2021-01-06 11:05:13,835 [   scc.merge] INFO  Including Pull Request(s) opened by any public member of the organization
2021-01-06 11:05:13,835 [   scc.merge] INFO  Including Pull Request(s) labelled as include or dependencies
2021-01-06 11:05:13,835 [   scc.merge] INFO  Excluding Pull Request(s) labelled as exclude or breaking
2021-01-06 11:05:13,835 [   scc.merge] INFO  Excluding Pull Request(s) without successful status
2021-01-06 11:05:19,683 [   scc.merge] INFO  Repository: ome/omero-parade
2021-01-06 11:05:19,683 [   scc.merge] INFO  Excluded PRs:
2021-01-06 11:05:19,683 [   scc.merge] INFO    - PR 39 chris-allan 'Expand all for Screens' (exclude comment)
2021-01-06 11:05:19,683 [   scc.merge] INFO  Candidate PRs:
2021-01-06 11:05:19,683 [   scc.merge] INFO    - PR 79 dependabot[bot] 'Bump lodash from 4.17.13 to 4.17.19'
2021-01-06 11:05:19,683 [   scc.merge] INFO    - PR 80 dependabot[bot] 'Bump elliptic from 6.4.1 to 6.5.3'
2021-01-06 11:05:19,684 [   scc.merge] INFO    - PR 83 dependabot[bot] 'Bump axios from 0.18.1 to 0.21.1'
2021-01-06 11:05:19,684 [   scc.merge] INFO  

/cc @will-moore

joshmoore commented 3 years ago

Slightly odd that there isn't a more identifiable string than 15368 (e.g. "Actions" or github.constants.ACTIONS) but :+1: for the fix.