Skip to content
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

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

laurentsenta
Copy link
Contributor

@laurentsenta laurentsenta commented Jul 27, 2023

Example dashboard for dev gateways
Example dashboard for production gateways

  • reuse bifrost and kubo conformance workflows
  • generate a dashboard
  • make the dashboard human-readable
    • generate nicer names
    • link to related specs
  • update both badges correctly
  • run the workflow nightly

Todo

  • fix the update-badge overriding itself
  • add missing projects (boxo, etc)
  • sync w/other project to make their workflow reusable (we are using forks atm)

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.

@laurentsenta laurentsenta marked this pull request as draft July 27, 2023 13:28
@laurentsenta laurentsenta mentioned this pull request Jul 27, 2023
4 tasks
Copy link

@BigLep BigLep left a 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:

https://github.com/singulargarden/gateway-conformance/actions/runs/5681118160/attempts/1#summary-15396709726

image

https://github.com/singulargarden/gateway-conformance/actions/runs/5681278441/attempts/1#summary-15397341015

@@ -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)]()
Copy link

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".

Base automatically changed from feat/text-production-gateways to main July 28, 2023 07:28
@laurentsenta laurentsenta force-pushed the feat/test-dev-gateways-with-dashboards branch from 8d00f33 to 85948b9 Compare July 28, 2023 07:31
Copy link
Member

@lidel lidel left a 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.

names.json Outdated Show resolved Hide resolved
names.json Outdated Show resolved Hide resolved
names.json Outdated Show resolved Hide resolved
names.json Outdated Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ keeping this file in sync with test function names will be a challenge.

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)

names.json Outdated Show resolved Hide resolved
names.json Outdated Show resolved Hide resolved
names.json Outdated Show resolved Hide resolved
names.json Outdated Show resolved Hide resolved
names.json Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants