Contributing
January 8, 2023 ยท View on GitHub
This document outlines some useful information for developing and contributing to gobenchdata.
The core components of gobenchdata are:
Action
The code for the Action is in the Dockerfile and entrypoint.sh. It is
continuously tested by the demo workflow.
act is a great tool to test Actions locally.
CLI
The gobenchdata CLI and its associated utilities are written in Golang.
To get started, clone the repository and enable Go Modules:
export GO111MODULE=on
go mod download
make # install binary
Code generation tasks should be able to be triggered by go generate,
but some tasks don't seem to work with it, so run the following to run all go generate
tasks as well as any other code generation scripts:
make generate
The example benchmarks can be run using make bench.
Web
The web app and the web app generator are both in /web. Assets are compiled
using fileb0x (see previous section). The app is built using Vue.js.
To test the web app, add a benchmarks.json (for example, the demo data available
in gh-pages)
to the web/public directory, and run the following in web:
npm install
npm run serve
An example configuration is provided in web/public/gobenchdata-web.yml
that should allow you to test most of the app's features.
To generate benchmarks from scratch, run:
make demo
This can be run repeatedly to make very large benchmark.json run histories.