Gateway Conformance test suite output can be represented as a web dashboard which aggregates results from many test runs and renders them on a static website.
IPFS Project uses the web dashboard instance at conformance.ipfs.tech for tracking selected reference implementations, but everyone is free to fork this repository and use own instance for internal purposes, if needed.
For every implementations that have been added to the
REPOSITORIES
file, our dashboard generation workflow loads
the most recent gateway-conformance
test results from their CI. You can try
this locally with the make website
command.
- Set up a GitHub Token: Ensure you have a GitHub Token with
repo:read
scope. This is required to download artifacts from other repositories. - Run the Build Command:
GH_TOKEN=your-gh-token make website
This command downloads the latest test artifacts from the repositories listed
in the REPOSITORIES
file. Then it generates a static website with Hugo in the
www/public
directory.
- Use
make website
to generate all the assets required to build the static dashboard - Use
cd ./www && hugo server
to start a local server with live-reload - Use
cd ./www/themes/conformance && npm run build
to re-build the theme's styles
The dashboard is hosted at conformance.ipfs.tech. It aggregates test outputs from various IPFS implementations and renders them on a static website.
To add a new implementation to the dashboard:
- Ensure that implementation has significant user base and passes conformance tests.
- Ensure that repository that runs conformance tests is public.
- Ensure the CI in the repository generates and uploads the
output.json
artifact file.- For example, see
gateway-conformance.yml
file Kubo.
- For example, see
- Open PR in this repository to add repository name to the REPOSITORIES file.
- Once merged, test results from the new artifact will be picked up automatically and the new implementation will show up on the dashboard.