Webhook fails with HTTP 400 Invalid signature

Description

I have a fork of flutter_form_builder. The project uses CodeCov, and the fork inherited a webhook for CodeCov.

However, for my fork, under Settings / Webhooks, the CodeCov webhook is failing. It looks like each call is returning with

HTTP 400
Invalid signature

I see an old issue #227, but it looks like it was resolved months ago.

I know that the Coverage report is uploaded by a Github Actions step. As a result, what does the webhook do? (Is it still necessary, or is it legacy that should be removed?) Are webhooks expected to function on forks, or is there a configuration step that I need to do?

Commit SHAs

  • d4f862d662242a4887c03613260791a0f3f660b8
  • 2464d86f43acac1c61e7740c3a421223f6b4b9d8
    (for example)

Repository

CI/CD or Build URL

The project uses GitHub Actions for CI. As far as I can tell, the CodeCov upload (done using bash step) is working fine.

Uploader

It uses the Bash uploader.

Webhook Response

Alt-Svc: clear
Cache-Control: no-cache
Content-Length: 27
Content-Security-Policy: default-src 'self' https://widget.driftqa.com https://codecov-cdn.storage.googleapis.com;img-src 'self'  https://googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com https://www.google-analytics.com http://www.google-analytics.com https://bitbucket-assetroot.s3.amazonaws.com https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net https://codecov-cdn.storage.googleapis.com/ https://avatar-cdn.atlassian.com https://avatars.io https://bitbucket.org http://www.gravatar.com https://secure.gravatar.com https://avatars0.githubusercontent.com https://assets.gitlab-static.net https://gitlab.com *.stripe.com http://t.co http://p.adsymptotic.com https://*.linkedin.com data:; frame-src https://widget.drift.com https://www.googletagmanager.com *.stripe.com;connect-src 'self' https://cancel.baremetrics.com https://sentry.baremetrics.com https://sentry.baremetrics.io https://api.segment.io https://rs.fullstory.com *.stripe.com https://wdzsn5dlywj9.statuspage.io https://stats.g.doubleclick.net https://api.codecov.io; font-src 'self' https://codecov-cdn.storage.googleapis.com data: https://fonts.gstatic.com; style-src 'self' 'unsafe-inline' https://baremetrics-barecancel.baremetrics.com https://codecov-cdn.storage.googleapis.com https://fonts.googleapis.com data:; script-src 'self' 'unsafe-eval' https://js.driftt.com https://cdn.mxpnl.com https://baremetrics-barecancel.baremetrics.com https://www.googletagmanager.com https://www.googleadservices.com https://www.google-analytics.com http://www.google-analytics.com https://cdn.segment.com https://edge.fullstory.com https://ajax.googleapis.com *.stripe.com https://fullstory.com https://codecov-cdn.storage.googleapis.com https://ws.zoominfo.com https://snap.licdn.com http://static.ads-twitter.com https://analytics.twitter.com 'sha256-CIs2dFHqtIsuMx4Ifc9FncnEWOoKljuLK8jLxvoaSB8=' 'sha256-HXcLlWJ7mifFtqL6lR9wyiD46Nx2DPSLQAKNuS7hyi4=' 'sha256-EY6rgE4jL342XQYDrJU4NwTe01/LA7aEFt5fqciduPs=' 'sha256-Xka1nGXPZvrRUY1sbksxaAL1yz4UM/V/lqPcy2SuKK0=' 'sha256-rw2f6SLqO1pDmvVyWiJscer3uKHUQkjaKZuMY18BtBo=' 'sha256-AlL/9zTip3pSEmOSNSzKmUV82PbVFX3zYfOBCoQHiJo=' 'sha256-4E22mChcLIDnmzkGL+G7FFdbTRJP9QEhaL5HV87ENwM=' 'sha256-4HRm+SsJXTSA0hcixUhh76R+VEivvdioie3szPSQyNY=' 'sha256-m1VD5+xFa7VZ06/K75lEQ5LcwZz8EdEl65GOq5hvdsM=' 'sha256-JdEps8qsUHCFI2A7eawg6dtGvdB71zOZPGBjtJbmoSk=' 'sha256-VFw4sJIt4Zc0+//eYnksN8Ku9qMhbPpHJEkXMWUiD30=' 'sha256-/dTi/ve7ah34TmEka6qw3wGrA9Hhvu+Fixv0xUB8H6s=' 'sha256-uhsd3LKdZUcgVCm7hgZNXuqVqU+gMa/YBa6Ci3aL9uc=' 'sha256-cn8P5aOZvWmX/d2WCXYlruuqA4Ii27w4JjkYaCnpK4w=' 'sha256-mxROEOYdWYUC+DPd1C0Ym7KSkYn7+Pu4R8BIevjDlZI=' 'sha256-zWB9ScoWsUh4WkHIu4UcUF8EP9gcyiZZ1m9UmxOQWNo=' 'sha256-7XV+fBb7hrbjiohc2WHACla7S4FlVDTXQ9Kt67fGvOg=' 'sha256-NkrmAUONj58QHqeh6TcllquN7F7zAb7G/sC8Cnebdb0=' 'sha256-SNFCiO5ayrLbpolNCNE7w1BfNHQYRCyVwnL4KfvTPmo=' 'sha256-MN7HRw7yJ5t28MuxkXrv1hu1tIHetOGvCgQUpab74kA=' 'sha256-i8TvAKlQDuvIqdusGE8QpPtJLWdixP41UD0VftCyGH0=' 'sha256-EQCN0rlu/qiNqlw/AhFWj4o99sxtquZQuLlqXFEsfRk=' 'sha256-y0n3yVNum8+O6NoVHdGhmqaXCQDCC15XXu27Wt71IHI=' 'sha256-QW4PKr7Nv+IVDT2g+0lOHS/uhTEoZ4HLunDmme3DET8=' 'sha256-YDFMMJGxdxXDTAv/pPn1iTshpz+gAjeN0QxR/lXN5fg=' 'sha256-gnr/CCp42sJhWCogGGLHkmlOk1vLpO19e3Z5CZo8zy8=' 'sha256-c0CMij1SNdEeYK4LKQP3LvYAcsYYifSrlcI+YHhbsCg=' 'sha256-Ary/ugddg3viFYN8SQek33ioYY/v35SxFEzoScvJE+4=' 'sha256-hzqHaPCLqYt4xjTD5/pOVEoGMBXHQYnSpGuRqdV9FTo=' 'sha256-IVlvmuvBKjCrF22s1II0hxHdEJbNRSZrHLtY3guw8ug=' 'sha256-zEF/ALwwDYV2nZ+rdYGh2XpjU1lbO3oZ2osZayOlmpw=' 'sha256-CHM6krp3winCTiQ1qFgpvEVmPZ127KEbwEWX/zPr+Xw=' 'sha256-cnK6QsNZrjzpR5Id0dtSinTuDJSxO3XTz8Sk3Aw+K80=' 'sha256-k+uNd3jQqKA7yELOrbmEjMwh6DZp6Muv9DHQApzGuKk=' 'nonce-8ecb9c1ebc494877b65f9f9d46b60ea0' 'nonce-4bbdade1f1f9416b8f5f9b20d9334e71' 'nonce-dff5beb834304147a91de4eb8f9101cd' 'nonce-05773bff267c45b5af8dcb494aa5ae5a' 'nonce-41d0e53410614947baae5d0db723f895'  'sha256-Knfy5gq2uzk8+xZ67VG6IU1rjyTtP+BxDd3INqxa+Lk=';
Content-Type: text/plain
Date: Sun, 29 Nov 2020 09:19:58 GMT
Server: envoy
Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
Vary: X-PJAX, Accept-Encoding
Via: 1.1 google
X-Content-Type-Options: nosniff
X-Envoy-Upstream-Service-Time: 3
X-Frame-Options: deny
X-Ua-Compatible: IE=Edge,chrome=1
X-Xss-Protection: 1; mode=block

HTTP 400
Invalid signature

Hi @awhitford, you SHOULD be able to remove that Webhook, but I would highly recommend setting up the GitHub app integration. In the case that the webhook is necessary, the integration will automatically create it again.