This document outlines some useful information for developing and contributing to gobenchdata
.
The core components of gobenchdata
are:
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.
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
.
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.