-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add dev gateways with dashboards #116
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool @laurentsenta ! A few things coming to mind:
- Can we add Boxo/Gateway?
- Will we add a description for how someone gets their gateway implementation or gateway instance added to the dashboard?
- Can someone click into the results to see more details, especially about what tests failed? (Similar to how can go from https://wpt.fyi/results/webtransport?label=experimental&label=master&aligned to https://wpt.fyi/results/webtransport/datagrams.https.any.worker.html?label=experimental&label=master&aligned )
- Will this be published under https://github.com/singulargarden/gateway-conformance or https://github.com/ipfs/gateway-conformance ?
- Would this make sense to be a github page like was done for pinning-service-compliance so have some durable URLs: https://ipfs-shipyard.github.io/pinning-service-compliance/api.pinata.cloud.html
- How will this get discovered? Will we link from https://specs.ipfs.tech/http-gateways/ ?
- (nit) The green orbs are of different sizes in some cases
- Add a description for how someone gets their gateway added?
- Any reason we're not adding ipfs.io gateway?
- How will this get discovered? Will we link from https://specs.ipfs.tech/http-gateways/ or https://ipfs.github.io/public-gateway-checker/ ?
@@ -2,7 +2,9 @@ | |||
|
|||
`gateway-conformance` is a tool designed to test if an IPFS Gateway implementation complies with the IPFS Gateway Specification correctly. The tool is distributed as a Docker image, as well as a GitHub Action(s). | |||
|
|||
[![Conformance Production Dashboard](https://github.com/ipfs/gateway-conformance/actions/workflows/test-prod-e2e.yml/badge.svg?branch=master)]() | |||
[![Conformance Production Dashboard](https://github.com/singulargarden/gateway-conformance/workflows/Test%20Dev%20(e2e)/badge.svg?branch=main)]() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than "Production" and "Dev" maybe use...
Gateway Instance Conformance Dashboard
Gateway Implementation Conformance Dashboard
Dev and Prod sounds like one is "development/preproduction" and one is "production".
8d00f33
to
85948b9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @laurentsenta
Will we add a description for how someone gets their gateway implementation or gateway instance added to the dashboard? [..]
How will this get discovered?
For this repo, I'd keep the CI that runs in this repo limited to things that PLN/Stewards control or have working relationship (boxo-based impls, our gateways, and PLN-funded things).
To avoid drive-by PRs from random people, we can leverage https://ipfs.github.io/public-gateway-checker/ instead. Use CI there against gateways listed there. This way people who run public gateway learn about a problem with their gateway, and then learn gateway-conformance test suite exists, but we put some distance between checker and this repo: by leveraging public-gateway-checkerr we are not in the business of "endorsing" specific projects with being "worthy" of being on the list.
+ Some suggestions inline.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need either:
- error CI on missing entry (so we don't miss updating this file when we rename a func, or add new one)
- replace this JSON with some golang convention (godoc, or maybe additional strings passed to each test), so these strings and URLs live in the same file as tests (+error CI when empty)
Co-authored-by: Marcin Rataj <[email protected]>
71a3080
to
0b594e6
Compare
0b594e6
to
bda8985
Compare
Example dashboard for dev gateways
Example dashboard for production gateways
Todo
This job updates prod e2e workflow and commits id df008fa
Then this job updates after dev e2e workflow and commit id 2568390
The push overwrites the previous one. Without an error, surprisingly.
I guess we need to use the current ref and not the current sha.
find a less invasive change in called workflows
At the moment, we have to hard-code the repository in the reusable workflow, this is too invasive, see the required changes in gateways:
agree with the team on constraints
For example, we don't want to override the gateway-conformance versions used in the workflows, but it does mean if there are two gateways running conformance with different versions, refactoring a test would create a lot of noise.