{"id":16807131,"url":"https://github.com/toshi0383/gh-pr-patrol","last_synced_at":"2025-09-21T19:31:21.430Z","repository":{"id":90996744,"uuid":"136187041","full_name":"toshi0383/gh-pr-patrol","owner":"toshi0383","description":"Rebuild outdated status-checks for pull-requests","archived":false,"fork":false,"pushed_at":"2019-03-09T11:21:24.000Z","size":20,"stargazers_count":4,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-03T11:11:45.997Z","etag":null,"topics":["bitrise","github","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toshi0383.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-05T14:08:42.000Z","updated_at":"2019-03-09T11:21:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"83bfd675-8d0e-4899-b041-86bf4690e6cb","html_url":"https://github.com/toshi0383/gh-pr-patrol","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshi0383%2Fgh-pr-patrol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshi0383%2Fgh-pr-patrol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshi0383%2Fgh-pr-patrol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toshi0383%2Fgh-pr-patrol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toshi0383","download_url":"https://codeload.github.com/toshi0383/gh-pr-patrol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233787192,"owners_count":18730124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitrise","github","swift"],"created_at":"2024-10-13T09:53:00.550Z","updated_at":"2025-09-21T19:31:14.129Z","avatar_url":"https://github.com/toshi0383.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gh-pr-patrol\n\n[![Build Status](https://app.bitrise.io/app/9b8da4c73f845d5f/status.svg?token=Gam6Rzr8NlFOqociuOFPiw\u0026branch=master)](https://app.bitrise.io/app/9b8da4c73f845d5f)\n\nThis tool keeps PR status-check results up-to-date.\nFirst it searches for **succeeded but outdated** pull-request status checks, then trigger rebuild for each unless the pull-request has `WIP` label.\nThis way false-positives can be detected before merge, while ignoring positive-falses.\n\nBy default outdated means that it passed one day since the last build. Interval can be changed by passing `-i` option.\n\nCurrently supports only Bitrise. For other CI services, PRs are welcomed!\n\n# Requirements\n- macOS Sierra or later\n\n# Required environment variables\n\n- `GITHUB_REPOSITORY` ... e.g. `toshi0383/Bitrise-iOS`\n- `GITHUB_ACCESS_TOKEN`\n- `BITRISE_API_TOKEN`\n- `BITRISE_BUILD_TRIGGER_TOKEN`\n- `APP_SLUG`\n\n# Options\n\n- `-i interval` ... Current time minus interval is the threshold to determine if it's \"outdated\".\n- `-f [workflowID]` ... Specify comma separated workflowIDs which you want to trigger rebuild. Useful when multiple builds are triggered by single pull-request push.\n- `--dry-run` ... Do not actually trigger rebuild.\n- `--parallel-rebuild n` ... Allowed parallel number of requests for build trigger requests. Use this when you need to workaround parallel job limit on CI service side.\n  e.g. Bitrise allows to concurrent jobs to start, but looks like they started to kill the jobs when exceeding your parallel number limit.\n\n# How to use\n`export` environment variables above and execute.\n\nOtherwise you can always use this syntax to do that in one-line.\n\n```\nGITHUB_REPOSITORY=toshi0383/Bitrise-iOS GITHUB_ACCESS_TOKEN= ... gh-pr-patrol\n```\n\n# Install\n## Binary install\nThis is recommended for CI usage.\n```\nbash \u003c(curl -sL https://raw.githubusercontent.com/toshi0383/scripts/master/swiftpm/install.sh) toshi0383/gh-pr-patrol\n```\n\n## Build from source using following tools.\n\n- SwiftPM\n- Mint\n\n# Development\n\n- Swift4.2+\n- Xcode10.1+\n\nSet environment variables and arguments from Xcode. Make sure to set `--dry-run`.\n\n![xcode](https://github.com/toshi0383/assets/raw/master/gh-pr-patrol/xcode.png)\n\n# License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshi0383%2Fgh-pr-patrol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoshi0383%2Fgh-pr-patrol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoshi0383%2Fgh-pr-patrol/lists"}