Title: Add PR binary graduation to the things spackbot can do by scottwittenburg · Pull Request #45 · spack/spackbot · GitHub
Open Graph Title: Add PR binary graduation to the things spackbot can do by scottwittenburg · Pull Request #45 · spack/spackbot
X Title: Add PR binary graduation to the things spackbot can do by scottwittenburg · Pull Request #45 · spack/spackbot
Description: Add a new handler to spackbot routing to process spack PRs which have been merged to develop. When these events happen, we want to copy the binaries from the per-PR mirror used by gitlab pipelines run against the PR to a shared PR mirror. The shared PR mirror can then be used by other PR pipelines that come along before the develop pipeline (associated with the aforementioned merged PR) finishes populating the main mirror with its own copies of those binaries. Because copying the binaries could take awhile (depending on the number of specs the PR had to rebuild), and the update of the shared PR mirror index could take a long time (depending on the number of binaries in the mirror), this PR uses the rq module to schedule those tasks as jobs to be run by another process in a separate container, freeing up the handler to return quickly. I've tested this using the updated docker-compose.yml and a webhook I set up on the spack repo to send events on pull requests. Because that's not the same as when a github app sends the requests, I temporarily commented out the installation authentication part for my testing. I'd love a better workflow for testing this part of spackbot without breaking it for everyone else though. I'm currently working on a change to spack-infrastructure to update the spackbot-spack-io deployment to reflect the extra containers spackbot will need to support doing PR binary graduation this way. See that PR to see how the deployment looks and how I'm testing it "in production". Remaining TODO: Clean up per-PR mirrors here rather than in the cron where it is done currently (by this code). We don't want binaries deleted while we're still copying them. Uncomment things that are commented for testing: installation authentication and all route registration not required for PR binary graduation Sort out the mismatch between where spackbot images get pushed and where the k8s deployment pulls them
Open Graph Description: Add a new handler to spackbot routing to process spack PRs which have been merged to develop. When these events happen, we want to copy the binaries from the per-PR mirror used by gitlab pipelines...
X Description: Add a new handler to spackbot routing to process spack PRs which have been merged to develop. When these events happen, we want to copy the binaries from the per-PR mirror used by gitlab pipelines...
Opengraph URL: https://github.com/spack/spackbot/pull/45
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:4fa8887d-3f24-f983-97f0-1f32efb6f046 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | C2C4:2608B0:18BEBE:2396DF:6A4BBFBC |
| html-safe-nonce | ba2f6d64d7a15ee47ea66cd292c7be8d8a7add99d2887649f4a8ea9ad78ce11e |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMkM0OjI2MDhCMDoxOEJFQkU6MjM5NkRGOjZBNEJCRkJDIiwidmlzaXRvcl9pZCI6IjQ2NTE3NTYxMjgwNTIxNjY1ODgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | e4765745f0557e75a823053c6ea166ecf5fa74970d494ece9e36dc3f819f6b71 |
| hovercard-subject-tag | pull_request:709632043 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/spack/spackbot/pull/45/files |
| twitter:image | https://avatars.githubusercontent.com/u/6527504?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/6527504?s=400&v=4 |
| og:image:alt | Add a new handler to spackbot routing to process spack PRs which have been merged to develop. When these events happen, we want to copy the binaries from the per-PR mirror used by gitlab pipelines... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | ae1c14875555a1dd92bdef45baa6dd9aa796df891e4e471989f7117fe3139fc1 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/spack/spackbot git https://github.com/spack/spackbot.git |
| octolytics-dimension-user_id | 25539161 |
| octolytics-dimension-user_login | spack |
| octolytics-dimension-repository_id | 313734375 |
| octolytics-dimension-repository_nwo | spack/spackbot |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 313734375 |
| octolytics-dimension-repository_network_root_nwo | spack/spackbot |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | b15c57117aeff522995a9578e1185f6c45d6c562 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width