Merge branch 'master' into ilyaz/fix_delete_paused
commit
2244e26fe4
|
@ -866,6 +866,28 @@ jobs:
|
|||
GOPOGH_RESULT: ""
|
||||
SHELL: "/bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643
|
||||
steps:
|
||||
- name: Install tools
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y jq docker git cron
|
||||
sudo usermod -aG docker $USER
|
||||
|
||||
- name: Init
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ -f /var/run/reboot.in.progress ]]; then
|
||||
echo "reboot in progress"
|
||||
exit 1
|
||||
fi
|
||||
sudo touch /var/run/job.in.progress
|
||||
rm -rf cleanup.sh install_cleanup.sh
|
||||
# after this PR is merged, update URLs to get the scripts from github master
|
||||
wget https://storage.googleapis.com/minikube-ci-utils/cleanup.sh
|
||||
wget https://storage.googleapis.com/minikube-ci-utils/install_cleanup.sh
|
||||
chmod +x cleanup.sh install_cleanup.sh
|
||||
./install_cleanup.sh
|
||||
|
||||
- name: Install kubectl
|
||||
shell: bash
|
||||
run: |
|
||||
|
@ -879,12 +901,6 @@ jobs:
|
|||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-arm64
|
||||
sudo install gopogh-linux-arm64 /usr/local/bin/gopogh
|
||||
|
||||
- name: Install tools
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y jq docker
|
||||
|
||||
- name: Docker Info
|
||||
shell: bash
|
||||
run: |
|
||||
|
|
|
@ -863,6 +863,28 @@ jobs:
|
|||
GOPOGH_RESULT: ""
|
||||
SHELL: "/bin/bash" # To prevent https://github.com/kubernetes/minikube/issues/6643
|
||||
steps:
|
||||
- name: Install tools
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y jq docker git cron
|
||||
sudo usermod -aG docker $USER
|
||||
|
||||
- name: Init
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ -f /var/run/reboot.in.progress ]]; then
|
||||
echo "reboot in progress"
|
||||
exit 1
|
||||
fi
|
||||
sudo touch /var/run/job.in.progress
|
||||
rm -rf cleanup.sh install_cleanup.sh
|
||||
# after this PR is merged, update URLs to get the scripts from github master
|
||||
wget https://storage.googleapis.com/minikube-ci-utils/cleanup.sh
|
||||
wget https://storage.googleapis.com/minikube-ci-utils/install_cleanup.sh
|
||||
chmod +x cleanup.sh install_cleanup.sh
|
||||
./install_cleanup.sh
|
||||
|
||||
- name: Install kubectl
|
||||
shell: bash
|
||||
run: |
|
||||
|
@ -876,12 +898,6 @@ jobs:
|
|||
curl -LO https://github.com/medyagh/gopogh/releases/download/v0.6.0/gopogh-linux-arm64
|
||||
sudo install gopogh-linux-arm64 /usr/local/bin/gopogh
|
||||
|
||||
- name: Install tools
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y jq docker
|
||||
|
||||
- name: Docker Info
|
||||
shell: bash
|
||||
run: |
|
||||
|
@ -973,6 +989,10 @@ jobs:
|
|||
if [ "$numPass" -eq 0 ];then echo "*** 0 Passed! ***";exit 2;fi
|
||||
if [ "$numPass" -lt 0 ];then echo "*** Failed to pass at least 20! ***";exit 2;fi
|
||||
if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi
|
||||
|
||||
- name: finalize
|
||||
shell: bash
|
||||
run: sudo rm -rf /var/run/job.in.progress
|
||||
# After all integration tests finished
|
||||
# collect all the reports and upload them
|
||||
upload_all_reports:
|
||||
|
|
10
Makefile
10
Makefile
|
@ -369,7 +369,7 @@ test: $(SOURCE_GENERATED) ## Trigger minikube test
|
|||
|
||||
.PHONY: generate-docs
|
||||
generate-docs: extract out/minikube ## Automatically generate commands documentation.
|
||||
out/minikube generate-docs --path ./site/content/en/docs/commands/ --test-path ./site/content/en/docs/contrib/tests.en.md
|
||||
out/minikube generate-docs --path ./site/content/en/docs/commands/ --test-path ./site/content/en/docs/contrib/tests.en.md --code-path ./site/content/en/docs/contrib/errorcodes.en.md
|
||||
|
||||
.PHONY: gotest
|
||||
gotest: $(SOURCE_GENERATED) ## Trigger minikube test
|
||||
|
@ -776,6 +776,14 @@ release-minikube: out/minikube checksum ## Minikube release
|
|||
gsutil cp out/minikube-$(GOOS)-$(GOARCH) $(MINIKUBE_UPLOAD_LOCATION)/$(MINIKUBE_VERSION)/minikube-$(GOOS)-$(GOARCH)
|
||||
gsutil cp out/minikube-$(GOOS)-$(GOARCH).sha256 $(MINIKUBE_UPLOAD_LOCATION)/$(MINIKUBE_VERSION)/minikube-$(GOOS)-$(GOARCH).sha256
|
||||
|
||||
.PHONY: release-notes
|
||||
release-notes:
|
||||
hack/release_notes.sh
|
||||
|
||||
.PHONY: update-leaderboard
|
||||
update-leaderboard:
|
||||
hack/update_contributions.sh
|
||||
|
||||
out/docker-machine-driver-kvm2: out/docker-machine-driver-kvm2-amd64
|
||||
$(if $(quiet),@echo " CP $@")
|
||||
$(Q)cp $< $@
|
||||
|
|
|
@ -20,10 +20,12 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"fmt"
|
||||
"os"
|
||||
pt "path"
|
||||
"strings"
|
||||
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/minikube/pkg/minikube/assets"
|
||||
"k8s.io/minikube/pkg/minikube/command"
|
||||
"k8s.io/minikube/pkg/minikube/exit"
|
||||
|
@ -72,6 +74,11 @@ var cpCmd = &cobra.Command{
|
|||
out.ErrLn("%v", errors.Wrap(err, "getting file asset"))
|
||||
os.Exit(1)
|
||||
}
|
||||
defer func() {
|
||||
if err := fa.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", fa.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
co := mustload.Running(ClusterFlagValue())
|
||||
var runner command.Runner
|
||||
|
@ -85,20 +92,17 @@ var cpCmd = &cobra.Command{
|
|||
|
||||
h, err := machine.GetHost(co.API, *co.Config, *n)
|
||||
if err != nil {
|
||||
out.ErrLn("%v", errors.Wrap(err, "getting host"))
|
||||
os.Exit(1)
|
||||
exit.Error(reason.GuestLoadHost, "Error getting host", err)
|
||||
}
|
||||
|
||||
runner, err = machine.CommandRunner(h)
|
||||
if err != nil {
|
||||
out.ErrLn("%v", errors.Wrap(err, "getting command runner"))
|
||||
os.Exit(1)
|
||||
exit.Error(reason.InternalCommandRunner, "Failed to get command runner", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err = runner.Copy(fa); err != nil {
|
||||
out.ErrLn("%v", errors.Wrap(err, "copying file"))
|
||||
os.Exit(1)
|
||||
exit.Error(reason.InternalCommandRunner, fmt.Sprintf("Fail to copy file %s", fa.GetSourcePath()), err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ import (
|
|||
|
||||
var docsPath string
|
||||
var testPath string
|
||||
var codePath string
|
||||
|
||||
// generateDocs represents the generate-docs command
|
||||
var generateDocs = &cobra.Command{
|
||||
|
@ -45,16 +46,18 @@ var generateDocs = &cobra.Command{
|
|||
}
|
||||
|
||||
// generate docs
|
||||
if err := generate.Docs(RootCmd, docsPath, testPath); err != nil {
|
||||
if err := generate.Docs(RootCmd, docsPath, testPath, codePath); err != nil {
|
||||
exit.Error(reason.InternalGenerateDocs, "Unable to generate docs", err)
|
||||
}
|
||||
out.Step(style.Documentation, "Docs have been saved at - {{.path}}", out.V{"path": docsPath})
|
||||
out.Step(style.Documentation, "Test docs have been saved at - {{.path}}", out.V{"path": testPath})
|
||||
out.Step(style.Documentation, "Error code docs have been saved at - {{.path}}", out.V{"path": codePath})
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
generateDocs.Flags().StringVar(&docsPath, "path", "", "The path on the file system where the docs in markdown need to be saved")
|
||||
generateDocs.Flags().StringVar(&testPath, "test-path", "", "The path on the file system where the testing docs in markdown need to be saved")
|
||||
generateDocs.Flags().StringVar(&codePath, "code-path", "", "The path on the file system where the error code docs in markdown need to be saved")
|
||||
RootCmd.AddCommand(generateDocs)
|
||||
}
|
||||
|
|
|
@ -605,7 +605,24 @@ func selectDriver(existing *config.ClusterConfig) (registry.DriverState, []regis
|
|||
out.Infof("{{ .name }}: Suggestion: {{ .suggestion}}", out.V{"name": r.Name, "suggestion": r.Suggestion})
|
||||
}
|
||||
}
|
||||
exit.Message(reason.DrvNotDetected, "No possible driver was detected. Try specifying --driver, or see https://minikube.sigs.k8s.io/docs/start/")
|
||||
foundStoppedDocker := false
|
||||
foundUnhealthy := false
|
||||
for _, reject := range rejects {
|
||||
if reject.Name == driver.Docker && reject.State.Installed && !reject.State.Running {
|
||||
foundStoppedDocker = true
|
||||
break
|
||||
} else if reject.State.Installed && !reject.State.Healthy {
|
||||
foundUnhealthy = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if foundStoppedDocker {
|
||||
exit.Message(reason.DrvDockerNotRunning, "Found docker, but the docker service isn't running. Try restarting the docker service.")
|
||||
} else if foundUnhealthy {
|
||||
exit.Message(reason.DrvNotHealthy, "Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.")
|
||||
} else {
|
||||
exit.Message(reason.DrvNotDetected, "No possible driver was detected. Try specifying --driver, or see https://minikube.sigs.k8s.io/docs/start/")
|
||||
}
|
||||
}
|
||||
|
||||
if len(alts) > 1 {
|
||||
|
@ -1130,6 +1147,8 @@ func validateFlags(cmd *cobra.Command, drvName string) {
|
|||
if !validRuntime {
|
||||
exit.Message(reason.Usage, `Invalid Container Runtime: "{{.runtime}}". Valid runtimes are: {{.validOptions}}`, out.V{"runtime": runtime, "validOptions": strings.Join(cruntime.ValidRuntimes(), ", ")})
|
||||
}
|
||||
|
||||
validateCNI(cmd, runtime)
|
||||
}
|
||||
|
||||
if driver.BareMetal(drvName) {
|
||||
|
@ -1192,7 +1211,20 @@ func validateFlags(cmd *cobra.Command, drvName string) {
|
|||
|
||||
validateRegistryMirror()
|
||||
validateInsecureRegistry()
|
||||
}
|
||||
|
||||
// if container runtime is not docker, check that cni is not disabled
|
||||
func validateCNI(cmd *cobra.Command, runtime string) {
|
||||
if runtime == "docker" {
|
||||
return
|
||||
}
|
||||
if cmd.Flags().Changed(cniFlag) && strings.ToLower(viper.GetString(cniFlag)) == "false" {
|
||||
if viper.GetBool(force) {
|
||||
out.WarnReason(reason.Usage, "You have chosen to disable the CNI but the \"{{.name}}\" container runtime requires CNI", out.V{"name": runtime})
|
||||
} else {
|
||||
exit.Message(reason.Usage, "The \"{{.name}}\" container runtime requires CNI", out.V{"name": runtime})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// validateChangedMemoryFlags validates memory related flags.
|
||||
|
@ -1478,5 +1510,8 @@ func exitGuestProvision(err error) {
|
|||
if errors.Cause(err) == oci.ErrInsufficientDockerStorage {
|
||||
exit.Message(reason.RsrcInsufficientDockerStorage, "preload extraction failed: \"No space left on device\"")
|
||||
}
|
||||
if errors.Cause(err) == oci.ErrGetSSHPortContainerNotRunning {
|
||||
exit.Message(reason.GuestProvisionContainerExited, "Docker container exited prematurely after it was created, consider investigating Docker's performance/health.")
|
||||
}
|
||||
exit.Error(reason.GuestProvision, "error provisioning host", err)
|
||||
}
|
||||
|
|
|
@ -147,7 +147,7 @@ func initMinikubeFlags() {
|
|||
startCmd.Flags().String(containerRuntime, constants.DefaultContainerRuntime, fmt.Sprintf("The container runtime to be used (%s).", strings.Join(cruntime.ValidRuntimes(), ", ")))
|
||||
startCmd.Flags().Bool(createMount, false, "This will start the mount daemon and automatically mount files into minikube.")
|
||||
startCmd.Flags().String(mountString, constants.DefaultMountDir+":/minikube-host", "The argument to pass the minikube mount command on start.")
|
||||
startCmd.Flags().StringSliceVar(&config.AddonList, "addons", nil, "Enable addons. see `minikube addons list` for a list of valid addon names.")
|
||||
startCmd.Flags().StringSlice(config.AddonListFlag, nil, "Enable addons. see `minikube addons list` for a list of valid addon names.")
|
||||
startCmd.Flags().String(criSocket, "", "The cri socket path to be used.")
|
||||
startCmd.Flags().String(networkPlugin, "", "Kubelet network plug-in to use (default: auto)")
|
||||
startCmd.Flags().Bool(enableDefaultCNI, false, "DEPRECATED: Replaced by --cni=bridge")
|
||||
|
|
|
@ -152,7 +152,7 @@ func logFileName(dir string, logIdx int64) string {
|
|||
klog.Warningf("Unable to add username %s to log filename hash: %v", user.Username, err)
|
||||
}
|
||||
}
|
||||
for _, s := range os.Args {
|
||||
for _, s := range pflag.Args() {
|
||||
if _, err := h.Write([]byte(s)); err != nil {
|
||||
klog.Warningf("Unable to add arg %s to log filename hash: %v", s, err)
|
||||
}
|
||||
|
@ -160,10 +160,10 @@ func logFileName(dir string, logIdx int64) string {
|
|||
hs := hex.EncodeToString(h.Sum(nil))
|
||||
var logfilePath string
|
||||
// check if subcommand specified
|
||||
if len(os.Args) < 2 {
|
||||
if len(pflag.Args()) < 1 {
|
||||
logfilePath = filepath.Join(dir, fmt.Sprintf("minikube_%s_%d.log", hs, logIdx))
|
||||
} else {
|
||||
logfilePath = filepath.Join(dir, fmt.Sprintf("minikube_%s_%s_%d.log", os.Args[1], hs, logIdx))
|
||||
logfilePath = filepath.Join(dir, fmt.Sprintf("minikube_%s_%s_%d.log", pflag.Arg(0), hs, logIdx))
|
||||
}
|
||||
// if log has reached max size 1M, generate new logfile name by incrementing count
|
||||
if checkLogFileMaxSize(logfilePath, 1024) {
|
||||
|
|
8
go.mod
8
go.mod
|
@ -52,7 +52,7 @@ require (
|
|||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
||||
github.com/klauspost/cpuid v1.2.0
|
||||
github.com/libvirt/libvirt-go v3.9.0+incompatible
|
||||
github.com/machine-drivers/docker-machine-driver-vmware v0.1.1
|
||||
github.com/machine-drivers/docker-machine-driver-vmware v0.1.3
|
||||
github.com/mattbaird/jsonpatch v0.0.0-20200820163806-098863c1fc24
|
||||
github.com/mattn/go-isatty v0.0.12
|
||||
github.com/mitchellh/go-ps v1.0.0
|
||||
|
@ -82,13 +82,13 @@ require (
|
|||
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0
|
||||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6
|
||||
golang.org/x/mod v0.4.2
|
||||
golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c
|
||||
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
||||
golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324
|
||||
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015
|
||||
golang.org/x/term v0.0.0-20210406210042-72f3dc4e9b72
|
||||
golang.org/x/text v0.3.6
|
||||
gonum.org/v1/plot v0.9.0
|
||||
google.golang.org/api v0.46.0
|
||||
google.golang.org/api v0.47.0
|
||||
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
gotest.tools/v3 v3.0.3 // indirect
|
||||
|
|
36
go.sum
36
go.sum
|
@ -689,8 +689,8 @@ github.com/lucas-clemente/aes12 v0.0.0-20171027163421-cd47fb39b79f/go.mod h1:JpH
|
|||
github.com/lucas-clemente/quic-clients v0.1.0/go.mod h1:y5xVIEoObKqULIKivu+gD/LU90pL73bTdtQjPBvtCBk=
|
||||
github.com/lucas-clemente/quic-go v0.10.2/go.mod h1:hvaRS9IHjFLMq76puFJeWNfmn+H70QZ/CXoxqw9bzao=
|
||||
github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced/go.mod h1:NCcRLrOTZbzhZvixZLlERbJtDtYsmMw8Jc4vS8Z0g58=
|
||||
github.com/machine-drivers/docker-machine-driver-vmware v0.1.1 h1:+E1IKKk+6kaQrCPg6edJZ/zISZijuZTPnzy6RE4C/Ho=
|
||||
github.com/machine-drivers/docker-machine-driver-vmware v0.1.1/go.mod h1:ej014C83EmSnxJeJ8PtVb8OLJ91PJKO1Q8Y7sM5CK0o=
|
||||
github.com/machine-drivers/docker-machine-driver-vmware v0.1.3 h1:CIdHhp5vSr+7i3DYmXyJHjVOeo27AGWtvq5SfmjyMVs=
|
||||
github.com/machine-drivers/docker-machine-driver-vmware v0.1.3/go.mod h1:p2hY99UqqG4FNLvAotM0K5kPlShyQ486ymrkNqv1NiA=
|
||||
github.com/machine-drivers/machine v0.7.1-0.20210306082426-fcb2ad5bcb17 h1:fQoDTuCuJ30R+D6TSB9SALB+J3jUMa8ID8YPfmSDA20=
|
||||
github.com/machine-drivers/machine v0.7.1-0.20210306082426-fcb2ad5bcb17/go.mod h1:79Uwa2hGd5S39LDJt58s8JZcIhGEK6pkq9bsuTbFWbk=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
|
@ -924,6 +924,7 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV
|
|||
github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
|
||||
github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
|
||||
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
|
||||
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
|
||||
|
@ -1022,6 +1023,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
|
|||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs=
|
||||
github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA=
|
||||
github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg=
|
||||
|
@ -1067,6 +1069,7 @@ golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnf
|
|||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190123085648-057139ce5d2b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
|
@ -1119,8 +1122,9 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl
|
|||
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
|
||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI=
|
||||
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
|
@ -1186,6 +1190,7 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v
|
|||
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420 h1:a8jGStKg0XqKDlKqjLrXn0ioF5MH36pT7Z0BRTqLhbk=
|
||||
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
|
@ -1201,8 +1206,8 @@ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ
|
|||
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c h1:SgVl/sCtkicsS7psKkje4H9YtjdEl3xsYh7N+5TDHqY=
|
||||
golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c h1:pkQiBZBvdos9qq4wBAHqlzuZHEXo07pqV06ef90u1WI=
|
||||
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
|
@ -1223,6 +1228,7 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h
|
|||
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190115152922-a457fd036447/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190124100055-b90733256f2e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
|
@ -1300,11 +1306,13 @@ golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324 h1:pAwJxDByZctfPwzlNGrDN2BQLsdPb9NkhoTJtUkAO28=
|
||||
golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 h1:hZR0X1kPW+nwyJ9xRxqZk1vx5RUObAPBdKVvXPDUH/E=
|
||||
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210406210042-72f3dc4e9b72 h1:VqE9gduFZ4dbR7XoL77lHFp0/DyDUBKSXK7CMFkVcV0=
|
||||
golang.org/x/term v0.0.0-20210406210042-72f3dc4e9b72/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
|
@ -1389,8 +1397,9 @@ golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4f
|
|||
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY=
|
||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||
golang.org/x/tools v0.1.1 h1:wGiQel/hW0NnEkJUk8lbzkX2gFJU6PFxf1v5OlCfuOs=
|
||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
@ -1431,8 +1440,8 @@ google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR
|
|||
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
|
||||
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
|
||||
google.golang.org/api v0.45.0/go.mod h1:ISLIJCedJolbZvDfAk+Ctuq5hf+aJ33WgtUsfyFoLXA=
|
||||
google.golang.org/api v0.46.0 h1:jkDWHOBIoNSD0OQpq4rtBVu+Rh325MPjXG1rakAp8JU=
|
||||
google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I=
|
||||
google.golang.org/api v0.47.0 h1:sQLWZQvP6jPGIP4JGPkJu4zHswrv81iobiyszr3b/0I=
|
||||
google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
|
@ -1490,8 +1499,8 @@ google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6D
|
|||
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
|
||||
google.golang.org/genproto v0.0.0-20210413151531-c14fb6ef47c3/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
|
||||
google.golang.org/genproto v0.0.0-20210420162539-3c870d7478d2/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
|
||||
google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab h1:dkb90hr43A2Q5as5ZBphcOF2II0+EqfCBqGp7qFSpN4=
|
||||
google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
|
||||
google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384 h1:z+j74wi4yV+P7EtK9gPLGukOk7mFOy9wMQaC0wNb7eY=
|
||||
google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
|
||||
google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||
|
@ -1515,8 +1524,9 @@ google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA5
|
|||
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.37.0 h1:uSZWeQJX5j11bIQ4AJoj+McDBo29cY1MCoC1wO3ts+c=
|
||||
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.37.1 h1:ARnQJNWxGyYJpdf/JXscNlQr/uv607ZPU9Z7ogHi+iI=
|
||||
google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright 2021 The Kubernetes Authors All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
PROGRESS_MARK=/var/run/job.in.progress
|
||||
REBOOT_MARK=/var/run/reboot.in.progress
|
||||
|
||||
timeout=900 # 15 minutes
|
||||
|
||||
# $PROGRESS_MARK file is touched when a new GitHub Actions job is started
|
||||
# check that no job was started in the last 15 minutes
|
||||
function check_running_job() {
|
||||
if [[ -f "$PROGRESS_MARK" ]]; then
|
||||
started=$(date -r "$PROGRESS_MARK" +%s)
|
||||
elapsed=$(($(date +%s) - started))
|
||||
if (( elapsed > timeout )); then
|
||||
echo "Job started ${elapsed} seconds ago, going to restart"
|
||||
sudo rm -rf "$PROGRESS_MARK"
|
||||
else
|
||||
echo "Job is running. exit."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
check_running_job
|
||||
sudo touch "$REBOOT_MARK"
|
||||
# avoid race if a job was started between two lines above and recheck
|
||||
check_running_job
|
||||
|
||||
echo "cleanup docker..."
|
||||
docker kill $(docker ps -aq) >/dev/null 2>&1 || true
|
||||
docker system prune --volumes --force || true
|
||||
|
||||
echo "rebooting..."
|
||||
sudo reboot
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright 2021 The Kubernetes Authors All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if [[ ! -f cleanup.sh ]]; then
|
||||
echo "cleanup.sh is missing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# update cron to run the cleanup script every hour
|
||||
if [ ! -f /etc/cron.hourly/cleanup.sh ]; then
|
||||
sudo install cleanup.sh /etc/cron.hourly/cleanup.sh || echo "FAILED TO INSTALL CLEANUP"
|
||||
fi
|
||||
|
||||
# install a cron rule to remove /var/run/reboot.in.progress file immediately after reboot
|
||||
if (crontab -l 2>/dev/null | grep '@reboot rm -rf /var/run/reboot.in.progress'); then
|
||||
echo "reboot cron rule already installed"
|
||||
exit 0
|
||||
fi
|
||||
(crontab -l 2>/dev/null; echo '@reboot rm -rf /var/run/reboot.in.progress') | crontab -
|
|
@ -36,6 +36,52 @@ export PATH=$PATH:"/usr/local/bin/:/usr/local/go/bin/:$GOPATH/bin"
|
|||
|
||||
readonly TIMEOUT=${1:-120m}
|
||||
|
||||
public_log_url="https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/${COMMIT:0:7}/${JOB_NAME}.html"
|
||||
|
||||
# retry_github_status provides reliable github status updates
|
||||
function retry_github_status() {
|
||||
local commit=$1
|
||||
local context=$2
|
||||
local state=$3
|
||||
local token=$4
|
||||
local target=$5
|
||||
local desc=$6
|
||||
|
||||
# Retry in case we hit our GitHub API quota or fail other ways.
|
||||
local attempt=0
|
||||
local timeout=2
|
||||
local code=-1
|
||||
|
||||
echo "set GitHub status $context to $desc"
|
||||
|
||||
while [[ "${attempt}" -lt 8 ]]; do
|
||||
local out=$(mktemp)
|
||||
code=$(curl -o "${out}" -s --write-out "%{http_code}" -L -u minikube-bot:${token} \
|
||||
"https://api.github.com/repos/kubernetes/minikube/statuses/${commit}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-X POST \
|
||||
-d "{\"state\": \"${state}\", \"description\": \"Jenkins: ${desc}\", \"target_url\": \"${target}\", \"context\": \"${context}\"}" || echo 999)
|
||||
|
||||
# 2xx HTTP codes
|
||||
if [[ "${code}" =~ ^2 ]]; then
|
||||
break
|
||||
fi
|
||||
|
||||
cat "${out}" && rm -f "${out}"
|
||||
echo "HTTP code ${code}! Retrying in ${timeout} .."
|
||||
sleep "${timeout}"
|
||||
attempt=$(( attempt + 1 ))
|
||||
timeout=$(( timeout * 5 ))
|
||||
done
|
||||
}
|
||||
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
if ! bash setup_docker_desktop_macos.sh; then
|
||||
retry_github_status "${COMMIT}" "${JOB_NAME}" "failure" "${access_token}" "${public_log_url}" "Jenkins: docker failed to start"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# We need pstree for the restart cronjobs
|
||||
if [ "$(uname)" != "Darwin" ]; then
|
||||
sudo apt-get -y install lsof psmisc
|
||||
|
@ -423,45 +469,6 @@ if [[ "${MINIKUBE_LOCATION}" == "master" ]]; then
|
|||
exit "$result"
|
||||
fi
|
||||
|
||||
public_log_url="https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/${COMMIT:0:7}/${JOB_NAME}.html"
|
||||
|
||||
# retry_github_status provides reliable github status updates
|
||||
function retry_github_status() {
|
||||
local commit=$1
|
||||
local context=$2
|
||||
local state=$3
|
||||
local token=$4
|
||||
local target=$5
|
||||
local desc=$6
|
||||
|
||||
# Retry in case we hit our GitHub API quota or fail other ways.
|
||||
local attempt=0
|
||||
local timeout=2
|
||||
local code=-1
|
||||
|
||||
echo "set GitHub status $context to $desc"
|
||||
|
||||
while [[ "${attempt}" -lt 8 ]]; do
|
||||
local out=$(mktemp)
|
||||
code=$(curl -o "${out}" -s --write-out "%{http_code}" -L -u minikube-bot:${token} \
|
||||
"https://api.github.com/repos/kubernetes/minikube/statuses/${commit}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-X POST \
|
||||
-d "{\"state\": \"${state}\", \"description\": \"Jenkins: ${desc}\", \"target_url\": \"${target}\", \"context\": \"${context}\"}" || echo 999)
|
||||
|
||||
# 2xx HTTP codes
|
||||
if [[ "${code}" =~ ^2 ]]; then
|
||||
break
|
||||
fi
|
||||
|
||||
cat "${out}" && rm -f "${out}"
|
||||
echo "HTTP code ${code}! Retrying in ${timeout} .."
|
||||
sleep "${timeout}"
|
||||
attempt=$(( attempt + 1 ))
|
||||
timeout=$(( timeout * 5 ))
|
||||
done
|
||||
}
|
||||
|
||||
retry_github_status "${COMMIT}" "${JOB_NAME}" "${status}" "${access_token}" "${public_log_url}" "${description}"
|
||||
|
||||
exit "$result"
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright 2021 The Kubernetes Authors All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -x
|
||||
|
||||
if docker system info > /dev/null 2>&1; then
|
||||
echo "Docker is already running, exiting"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# kill docker first
|
||||
osascript -e 'quit app "Docker"'
|
||||
|
||||
# wait 2 minutes for it to start back up
|
||||
timeout=120
|
||||
elapsed=0
|
||||
echo "Starting Docker Desktop..."
|
||||
open --background -a Docker
|
||||
echo "Waiting at most two minutes..."
|
||||
while ! docker system info > /dev/null 2>&1;
|
||||
do
|
||||
sleep 1
|
||||
elapsed=$((elapsed+1))
|
||||
if [ $elapsed -gt $timeout ]; then
|
||||
echo "Start Docker Desktop failed"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Docker Desktop started!"
|
|
@ -64,3 +64,11 @@ echo "Thank you to our triage members for this release!"
|
|||
echo ""
|
||||
AWK_ISSUE_COMMENTS='NR>1{arr[$4] += $7}END{for (a in arr) printf "%d %s\n", arr[a], a}'
|
||||
"${DIR}/pullsheet" issue-comments --since "$recent_date" --repos kubernetes/minikube --token-path $DIR/gh_token.txt --logtostderr=false --stderrthreshold=2 | awk -F ',' "$AWK_ISSUE_COMMENTS" | sort -k1nr -k2d | awk -F ' ' "$AWK_FORMAT_ITEM" | head -n 5
|
||||
|
||||
if [[ "$recent" != *"beta"* ]]; then
|
||||
echo ""
|
||||
echo "Check out our [contributions leaderboard](https://minikube.sigs.k8s.io/docs/contrib/leaderboard/$recent/) for this release!"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Don't forget to run \"make update-leaderboard\"!"
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright 2018 The Kubernetes Authors All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
|
||||
if ! [[ -r "${DIR}/gh_token.txt" ]]; then
|
||||
echo "Missing '${DIR}/gh_token.txt'. Please create a GitHub token at https://github.com/settings/tokens and store in '${DIR}/gh_token.txt'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
install_pullsheet() {
|
||||
pullsheet_workdir="$(mktemp -d)"
|
||||
trap 'rm -rf -- ${pullsheet_workdir}' RETURN
|
||||
|
||||
# See https://stackoverflow.com/questions/56842385/using-go-get-to-download-binaries-without-adding-them-to-go-mod for this workaround
|
||||
cd "${pullsheet_workdir}"
|
||||
go mod init ps
|
||||
GOBIN="$DIR" go get github.com/google/pullsheet
|
||||
cd -
|
||||
}
|
||||
|
||||
if ! [[ -x "${DIR}/pullsheet" ]]; then
|
||||
echo >&2 'Installing pullsheet'
|
||||
install_pullsheet
|
||||
fi
|
||||
|
||||
git pull git@github.com:kubernetes/minikube master --tags
|
||||
|
||||
tags_to_generate=${1:-1}
|
||||
|
||||
# 1) Get tags.
|
||||
# 2) Filter out beta tags.
|
||||
# 3) Parse tag name into its version numbers.
|
||||
# 4) Sort by ascending version numbers.
|
||||
# 5) Reform tag name from version numbers.
|
||||
# 6) Pair up current and previous tags. Format: (previous tag, current tag)
|
||||
# 7) Format command to get tag dates.
|
||||
# 8) Execute command to get dates of previous and current tag. Format: (current tag, prev date, current date)
|
||||
# 9) Add negative line numbers to each tag. Format: (negative index, current tag, prev date, current date)
|
||||
# - Negative line numbers are used since entries are sorted in descending order.
|
||||
# 10) Take most recent $tags_to_generate tags.
|
||||
tags_with_range=$(
|
||||
git --no-pager tag \
|
||||
| grep -v -e "beta" \
|
||||
| sed -r "s/v([0-9]*)\.([0-9]*)\.([0-9]*)/\1 \2 \3/" \
|
||||
| sort -k1n -k2n -k3n \
|
||||
| sed -r "s/([0-9]*) ([0-9]*) ([0-9]*)/v\1.\2.\3/" \
|
||||
| sed -n -r "x; G; s/\n/ /; p"\
|
||||
| sed -n -r "s/([v.0-9]+) ([v.0-9]+)/-c '{ echo -n \2; git log -1 --pretty=format:\" %as \" \1; git log -1 --pretty=format:\"%as\" \2; echo;}'/p" \
|
||||
| xargs -L 1 bash \
|
||||
| sed "=" | sed -r "N;s/\n/ /;s/^/-/" \
|
||||
| tail -n "$tags_to_generate")
|
||||
|
||||
destination="$DIR/../site/content/en/docs/contrib/leaderboard"
|
||||
mkdir -p "$destination"
|
||||
|
||||
while read -r tag_index tag_name tag_start tag_end; do
|
||||
echo "Generating leaderboard for" "$tag_name" "(from $tag_start to $tag_end)"
|
||||
# Print header for page.
|
||||
printf -- "---\ntitle: \"$tag_name - $tag_end\"\nlinkTitle: \"$tag_name - $tag_end\"\nweight: $tag_index\n---\n" > "$destination/$tag_name.html"
|
||||
# Add pullsheet content (deleting the lines consisting of the command used to generate it).
|
||||
$DIR/pullsheet leaderboard --token-path "$DIR/gh_token.txt" --repos kubernetes/minikube --since "$tag_start" --until "$tag_end" --logtostderr=false --stderrthreshold=2 \
|
||||
| sed -r -e "/Command\-line/,/pullsheet/d" >> "$destination/$tag_name.html"
|
||||
done <<< "$tags_with_range"
|
|
@ -20,6 +20,7 @@ import (
|
|||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
"k8s.io/minikube/pkg/minikube/assets"
|
||||
"k8s.io/minikube/pkg/minikube/config"
|
||||
"k8s.io/minikube/pkg/minikube/cruntime"
|
||||
|
@ -63,7 +64,8 @@ func IsVolumesnapshotsEnabled(cc *config.ClusterConfig, _, value string) error {
|
|||
isCsiDriverEnabled, _ := strconv.ParseBool(value)
|
||||
// assets.Addons[].IsEnabled() returns the current status of the addon or default value.
|
||||
// config.AddonList contains list of addons to be enabled.
|
||||
isVolumesnapshotsEnabled := assets.Addons[volumesnapshotsAddon].IsEnabled(cc) || contains(config.AddonList, volumesnapshotsAddon)
|
||||
addonList := viper.GetStringSlice(config.AddonListFlag)
|
||||
isVolumesnapshotsEnabled := assets.Addons[volumesnapshotsAddon].IsEnabled(cc) || contains(addonList, volumesnapshotsAddon)
|
||||
if isCsiDriverEnabled && !isVolumesnapshotsEnabled {
|
||||
// just print out a warning directly, we don't want to return any errors since
|
||||
// that would prevent the addon from being enabled (callbacks wouldn't be run)
|
||||
|
|
|
@ -217,6 +217,12 @@ func (d *Driver) prepareSSH() error {
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "create pubkey assetfile ")
|
||||
}
|
||||
defer func() {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
if err := cmder.Copy(f); err != nil {
|
||||
return errors.Wrap(err, "copying pub key")
|
||||
}
|
||||
|
|
|
@ -69,6 +69,12 @@ var ErrNetworkGatewayTaken = errors.New("network gateway is taken")
|
|||
// ErrNetworkInUse is when trying to delete a network which is attached to another container
|
||||
var ErrNetworkInUse = errors.New("unable to delete a network that is attached to a running container")
|
||||
|
||||
// ErrGetSSHPortContainerNotRunning happens when you try to inspect a container (in order to get SSH port) that "exists" but is no longer running
|
||||
var ErrGetSSHPortContainerNotRunning = errors.New("unable to inspect a not running container to get SSH port")
|
||||
|
||||
// ErrGetPortContainerNotRunning happens when you try to inspect a container (in order to get Port) that "exists" but is no longer running
|
||||
var ErrGetPortContainerNotRunning = errors.New("unable to inspect a not running container to get port")
|
||||
|
||||
// LogContainerDebug will print relevant docker/podman infos after a container fails
|
||||
func LogContainerDebug(ociBin string, name string) string {
|
||||
rr, err := containerInspect(ociBin, name)
|
||||
|
|
|
@ -28,6 +28,7 @@ import (
|
|||
"github.com/pkg/errors"
|
||||
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/minikube/pkg/minikube/constants"
|
||||
)
|
||||
|
||||
// RoutableHostIPFromInside returns the ip/dns of the host that container lives on
|
||||
|
@ -150,6 +151,14 @@ func ForwardedPort(ociBin string, ociID string, contPort int) (int, error) {
|
|||
} else {
|
||||
rr, err = runCmd(exec.Command(ociBin, "container", "inspect", "-f", fmt.Sprintf("'{{(index (index .NetworkSettings.Ports \"%d/tcp\") 0).HostPort}}'", contPort), ociID))
|
||||
if err != nil {
|
||||
|
||||
// Error: "Template parsing error: template: :1:3: executing "" at <index (index .NetworkSettings.Ports "22/tcp") 0>: error calling index: index of untyped nil"
|
||||
if strings.Contains(rr.Output(), `<index (index .NetworkSettings.Ports "22/tcp") 0>: error calling index: index of untyped nil`) && contPort == constants.SSHPort {
|
||||
return 0, ErrGetSSHPortContainerNotRunning
|
||||
}
|
||||
if strings.Contains(rr.Output(), "error calling index: index of untyped nil") {
|
||||
return 0, ErrGetPortContainerNotRunning
|
||||
}
|
||||
return 0, errors.Wrapf(err, "get port %d for %q", contPort, ociID)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ import (
|
|||
)
|
||||
|
||||
// Docs generates docs for minikube command
|
||||
func Docs(root *cobra.Command, path string, testPath string) error {
|
||||
func Docs(root *cobra.Command, path string, testPath string, codePath string) error {
|
||||
cmds := root.Commands()
|
||||
for _, c := range cmds {
|
||||
if c.Hidden {
|
||||
|
@ -47,7 +47,12 @@ func Docs(root *cobra.Command, path string, testPath string) error {
|
|||
return errors.Wrapf(err, "saving doc for %s", c.Name())
|
||||
}
|
||||
}
|
||||
return TestDocs(testPath, "test/integration")
|
||||
err := TestDocs(testPath, "test/integration")
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to generate test docs")
|
||||
}
|
||||
|
||||
return ErrorCodes(codePath, []string{"pkg/minikube/reason/exitcodes.go", "pkg/minikube/reason/reason.go"})
|
||||
}
|
||||
|
||||
// DocForCommand returns the specific doc for that command
|
||||
|
|
|
@ -0,0 +1,126 @@
|
|||
/*
|
||||
Copyright 2021 The Kubernetes Authors All rights reserved.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package generate
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"go/ast"
|
||||
"go/parser"
|
||||
"go/token"
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"k8s.io/minikube/pkg/minikube/out"
|
||||
)
|
||||
|
||||
func ErrorCodes(docPath string, pathsToCheck []string) error {
|
||||
buf := bytes.NewBuffer([]byte{})
|
||||
date := time.Now().Format("2006-01-02")
|
||||
title := out.Fmt(title, out.V{"Command": "Error Codes", "Description": "minikube error codes and strings", "Date": date})
|
||||
_, err := buf.Write([]byte(title))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fset := token.NewFileSet()
|
||||
for _, pathToCheck := range pathsToCheck {
|
||||
r, err := ioutil.ReadFile(pathToCheck)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, fmt.Sprintf("error reading file %s", pathToCheck))
|
||||
}
|
||||
file, err := parser.ParseFile(fset, "", r, parser.ParseComments)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, fmt.Sprintf("error parsing file %s", pathToCheck))
|
||||
}
|
||||
|
||||
if strings.Contains(pathToCheck, "exitcodes.go") {
|
||||
buf.WriteString("## Error Codes\n\n")
|
||||
currentGroup := ""
|
||||
currentError := ""
|
||||
ast.Inspect(file, func(x ast.Node) bool {
|
||||
if c, ok := x.(*ast.Comment); ok {
|
||||
// Start a new group of errors
|
||||
comment := c.Text
|
||||
if !strings.HasPrefix(comment, "// Error codes specific") {
|
||||
return true
|
||||
}
|
||||
currentGroup = strings.Replace(comment, "//", "###", 1)
|
||||
buf.WriteString("\n" + currentGroup + "\n")
|
||||
}
|
||||
if id, ok := x.(*ast.Ident); ok {
|
||||
// This is the name of the error, e.g. ExGuestError
|
||||
currentError = id.Name
|
||||
}
|
||||
if s, ok := x.(*ast.BasicLit); ok {
|
||||
// Filter out random strings that aren't error codes
|
||||
if currentError == "" {
|
||||
return true
|
||||
}
|
||||
|
||||
// No specific group means generic errors
|
||||
if currentGroup == "" {
|
||||
currentGroup = "### Generic Errors"
|
||||
buf.WriteString("\n" + currentGroup + "\n")
|
||||
}
|
||||
|
||||
// This is the numeric code of the error, e.g. 80 for ExGuest Error
|
||||
code := s.Value
|
||||
buf.WriteString(fmt.Sprintf("%s: %s \n", code, currentError))
|
||||
}
|
||||
return true
|
||||
})
|
||||
buf.WriteString("\n\n")
|
||||
}
|
||||
|
||||
if strings.Contains(pathToCheck, "reason.go") {
|
||||
buf.WriteString("## Error Strings\n\n")
|
||||
currentNode := ""
|
||||
currentID := ""
|
||||
currentComment := ""
|
||||
ast.Inspect(file, func(x ast.Node) bool {
|
||||
if id, ok := x.(*ast.Ident); ok {
|
||||
currentNode = id.Name
|
||||
if strings.HasPrefix(currentNode, "Ex") && currentNode != "ExitCode" {
|
||||
// We have all the info we're going to get on this error, print it out
|
||||
buf.WriteString(fmt.Sprintf("%s (Exit code %v) \n", currentID, currentNode))
|
||||
if currentComment != "" {
|
||||
buf.WriteString(currentComment + " \n")
|
||||
}
|
||||
buf.WriteString("\n")
|
||||
currentComment = ""
|
||||
currentID = ""
|
||||
currentNode = ""
|
||||
}
|
||||
}
|
||||
if s, ok := x.(*ast.BasicLit); ok {
|
||||
if currentNode == "ID" {
|
||||
currentID = s.Value
|
||||
}
|
||||
}
|
||||
if c, ok := x.(*ast.Comment); ok {
|
||||
currentComment = c.Text[3:]
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return ioutil.WriteFile(docPath, buf.Bytes(), 0o644)
|
||||
}
|
|
@ -44,6 +44,7 @@ type CopyableFile interface {
|
|||
GetPermissions() string
|
||||
GetModTime() (time.Time, error)
|
||||
Seek(int64, int) (int64, error)
|
||||
Close() error
|
||||
}
|
||||
|
||||
// BaseAsset is the base asset class
|
||||
|
@ -84,6 +85,7 @@ func (b *BaseAsset) GetModTime() (time.Time, error) {
|
|||
type FileAsset struct {
|
||||
BaseAsset
|
||||
reader io.ReadSeeker
|
||||
file *os.File // Optional pointer to close file through FileAsset.Close()
|
||||
}
|
||||
|
||||
// NewMemoryAssetTarget creates a new MemoryAsset, with target
|
||||
|
@ -95,11 +97,6 @@ func NewMemoryAssetTarget(d []byte, targetPath, permissions string) *MemoryAsset
|
|||
func NewFileAsset(src, targetDir, targetName, permissions string) (*FileAsset, error) {
|
||||
klog.V(4).Infof("NewFileAsset: %s -> %s", src, path.Join(targetDir, targetName))
|
||||
|
||||
f, err := os.Open(src)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "open")
|
||||
}
|
||||
|
||||
info, err := os.Stat(src)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "stat")
|
||||
|
@ -109,6 +106,11 @@ func NewFileAsset(src, targetDir, targetName, permissions string) (*FileAsset, e
|
|||
klog.Warningf("NewFileAsset: %s is an empty file!", src)
|
||||
}
|
||||
|
||||
f, err := os.Open(src)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "open")
|
||||
}
|
||||
|
||||
return &FileAsset{
|
||||
BaseAsset: BaseAsset{
|
||||
SourcePath: src,
|
||||
|
@ -117,6 +119,7 @@ func NewFileAsset(src, targetDir, targetName, permissions string) (*FileAsset, e
|
|||
Permissions: permissions,
|
||||
},
|
||||
reader: io.NewSectionReader(f, 0, info.Size()),
|
||||
file: f,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
@ -153,6 +156,14 @@ func (f *FileAsset) Seek(offset int64, whence int) (int64, error) {
|
|||
return f.reader.Seek(offset, whence)
|
||||
}
|
||||
|
||||
// Close closes the opend file.
|
||||
func (f *FileAsset) Close() error {
|
||||
if f.file == nil {
|
||||
return nil
|
||||
}
|
||||
return f.file.Close()
|
||||
}
|
||||
|
||||
// MemoryAsset is a memory-based asset
|
||||
type MemoryAsset struct {
|
||||
BaseAsset
|
||||
|
@ -175,6 +186,11 @@ func (m *MemoryAsset) Seek(offset int64, whence int) (int64, error) {
|
|||
return m.reader.Seek(offset, whence)
|
||||
}
|
||||
|
||||
// Close implemented for CopyableFile interface. Always return nil.
|
||||
func (m *MemoryAsset) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// NewMemoryAsset creates a new MemoryAsset
|
||||
func NewMemoryAsset(d []byte, targetDir, targetName, permissions string) *MemoryAsset {
|
||||
return &MemoryAsset{
|
||||
|
@ -291,3 +307,8 @@ func (m *BinAsset) Read(p []byte) (int, error) {
|
|||
func (m *BinAsset) Seek(offset int64, whence int) (int64, error) {
|
||||
return m.reader.Seek(offset, whence)
|
||||
}
|
||||
|
||||
// Close implemented for CopyableFile interface. Always return nil.
|
||||
func (m *BinAsset) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -47,18 +47,18 @@ import (
|
|||
)
|
||||
|
||||
// SetupCerts gets the generated credentials required to talk to the APIServer.
|
||||
func SetupCerts(cmd command.Runner, k8s config.KubernetesConfig, n config.Node) ([]assets.CopyableFile, error) {
|
||||
func SetupCerts(cmd command.Runner, k8s config.KubernetesConfig, n config.Node) error {
|
||||
localPath := localpath.Profile(k8s.ClusterName)
|
||||
klog.Infof("Setting up %s for IP: %s\n", localPath, n.IP)
|
||||
|
||||
ccs, err := generateSharedCACerts()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "shared CA certs")
|
||||
return errors.Wrap(err, "shared CA certs")
|
||||
}
|
||||
|
||||
xfer, err := generateProfileCerts(k8s, n, ccs)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "profile certs")
|
||||
return errors.Wrap(err, "profile certs")
|
||||
}
|
||||
|
||||
xfer = append(xfer, ccs.caCert)
|
||||
|
@ -67,6 +67,14 @@ func SetupCerts(cmd command.Runner, k8s config.KubernetesConfig, n config.Node)
|
|||
xfer = append(xfer, ccs.proxyKey)
|
||||
|
||||
copyableFiles := []assets.CopyableFile{}
|
||||
defer func() {
|
||||
for _, f := range copyableFiles {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
for _, p := range xfer {
|
||||
cert := filepath.Base(p)
|
||||
perms := "0644"
|
||||
|
@ -75,19 +83,19 @@ func SetupCerts(cmd command.Runner, k8s config.KubernetesConfig, n config.Node)
|
|||
}
|
||||
certFile, err := assets.NewFileAsset(p, vmpath.GuestKubernetesCertsDir, cert, perms)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "key asset %s", cert)
|
||||
return errors.Wrapf(err, "key asset %s", cert)
|
||||
}
|
||||
copyableFiles = append(copyableFiles, certFile)
|
||||
}
|
||||
|
||||
caCerts, err := collectCACerts()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
for src, dst := range caCerts {
|
||||
certFile, err := assets.NewFileAsset(src, path.Dir(dst), path.Base(dst), "0644")
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "ca asset %s", src)
|
||||
return errors.Wrapf(err, "ca asset %s", src)
|
||||
}
|
||||
|
||||
copyableFiles = append(copyableFiles, certFile)
|
||||
|
@ -107,11 +115,11 @@ func SetupCerts(cmd command.Runner, k8s config.KubernetesConfig, n config.Node)
|
|||
kubeCfg := api.NewConfig()
|
||||
err = kubeconfig.PopulateFromSettings(kcs, kubeCfg)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "populating kubeconfig")
|
||||
return errors.Wrap(err, "populating kubeconfig")
|
||||
}
|
||||
data, err := runtime.Encode(latest.Codec, kubeCfg)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "encoding kubeconfig")
|
||||
return errors.Wrap(err, "encoding kubeconfig")
|
||||
}
|
||||
|
||||
if n.ControlPlane {
|
||||
|
@ -121,14 +129,14 @@ func SetupCerts(cmd command.Runner, k8s config.KubernetesConfig, n config.Node)
|
|||
|
||||
for _, f := range copyableFiles {
|
||||
if err := cmd.Copy(f); err != nil {
|
||||
return nil, errors.Wrapf(err, "Copy %s", f.GetSourcePath())
|
||||
return errors.Wrapf(err, "Copy %s", f.GetSourcePath())
|
||||
}
|
||||
}
|
||||
|
||||
if err := installCertSymlinks(cmd, caCerts); err != nil {
|
||||
return nil, errors.Wrapf(err, "certificate symlinks")
|
||||
return errors.Wrapf(err, "certificate symlinks")
|
||||
}
|
||||
return copyableFiles, nil
|
||||
return nil
|
||||
}
|
||||
|
||||
// CACerts has cert and key for CA (and Proxy)
|
||||
|
|
|
@ -57,8 +57,7 @@ func TestSetupCerts(t *testing.T) {
|
|||
f := command.NewFakeCommandRunner()
|
||||
f.SetCommandToOutput(expected)
|
||||
|
||||
_, err := SetupCerts(f, k8s, config.Node{})
|
||||
if err != nil {
|
||||
if err := SetupCerts(f, k8s, config.Node{}); err != nil {
|
||||
t.Fatalf("Error starting cluster: %v", err)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -848,8 +848,7 @@ func (k *Bootstrapper) DeleteCluster(k8s config.KubernetesConfig) error {
|
|||
|
||||
// SetupCerts sets up certificates within the cluster.
|
||||
func (k *Bootstrapper) SetupCerts(k8s config.KubernetesConfig, n config.Node) error {
|
||||
_, err := bootstrapper.SetupCerts(k.c, k8s, n)
|
||||
return err
|
||||
return bootstrapper.SetupCerts(k.c, k8s, n)
|
||||
}
|
||||
|
||||
// UpdateCluster updates the control plane with cluster-level info.
|
||||
|
|
|
@ -21,6 +21,7 @@ import (
|
|||
"path"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/minikube/pkg/minikube/assets"
|
||||
"k8s.io/minikube/pkg/minikube/config"
|
||||
)
|
||||
|
@ -55,6 +56,11 @@ func (c Custom) Apply(r Runner) error {
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "manifest")
|
||||
}
|
||||
defer func() {
|
||||
if err := m.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", m.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
return applyManifest(c.cc, r, m)
|
||||
}
|
||||
|
|
|
@ -56,6 +56,8 @@ const (
|
|||
AddonImages = "addon-images"
|
||||
// AddonRegistries stores custom addon images config
|
||||
AddonRegistries = "addon-registries"
|
||||
// AddonListFlag represents the key for addons parameter
|
||||
AddonListFlag = "addons"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -67,8 +69,6 @@ var (
|
|||
DockerOpt []string
|
||||
// ExtraOptions contains extra options (if any)
|
||||
ExtraOptions ExtraOptionSlice
|
||||
// AddonList contains the list of addons
|
||||
AddonList []string
|
||||
)
|
||||
|
||||
// ErrNotExist is the error returned when a config does not exist
|
||||
|
|
|
@ -497,6 +497,12 @@ func (r *Containerd) Preload(cfg config.KubernetesConfig) error {
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "getting file asset")
|
||||
}
|
||||
defer func() {
|
||||
if err := fa.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", fa.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
t := time.Now()
|
||||
if err := r.Runner.Copy(fa); err != nil {
|
||||
return errors.Wrap(err, "copying file")
|
||||
|
|
|
@ -349,6 +349,12 @@ func (r *CRIO) Preload(cfg config.KubernetesConfig) error {
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "getting file asset")
|
||||
}
|
||||
defer func() {
|
||||
if err := fa.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", fa.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
t := time.Now()
|
||||
if err := r.Runner.Copy(fa); err != nil {
|
||||
return errors.Wrap(err, "copying file")
|
||||
|
|
|
@ -486,6 +486,12 @@ func (r *Docker) Preload(cfg config.KubernetesConfig) error {
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "getting file asset")
|
||||
}
|
||||
defer func() {
|
||||
if err := fa.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", fa.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
t := time.Now()
|
||||
if err := r.Runner.Copy(fa); err != nil {
|
||||
return errors.Wrap(err, "copying file")
|
||||
|
|
|
@ -32,6 +32,8 @@ func TestDownload(t *testing.T) {
|
|||
t.Run("PreloadDownloadPreventsMultipleDownload", testPreloadDownloadPreventsMultipleDownload)
|
||||
t.Run("ImageToCache", testImageToCache)
|
||||
t.Run("ImageToDaemon", testImageToDaemon)
|
||||
t.Run("PreloadNotExists", testPreloadNotExists)
|
||||
t.Run("PreloadChecksumMismatch", testPreloadChecksumMismatch)
|
||||
}
|
||||
|
||||
// Returns a mock function that sleeps before incrementing `downloadsCounter` and creates the requested file.
|
||||
|
@ -85,14 +87,14 @@ func testPreloadDownloadPreventsMultipleDownload(t *testing.T) {
|
|||
return nil, nil
|
||||
}
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime string, forcePreload ...bool) bool { return true }
|
||||
getChecksum = func(k8sVersion, containerRuntime string) (string, error) { return "check", nil }
|
||||
ensureChecksumValid = func(k8sVersion, containerRuntime, path string) error { return nil }
|
||||
getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) { return []byte("check"), nil }
|
||||
ensureChecksumValid = func(k8sVersion, containerRuntime, path string, checksum []byte) error { return nil }
|
||||
|
||||
var group sync.WaitGroup
|
||||
group.Add(2)
|
||||
dlCall := func() {
|
||||
if err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime); err != nil {
|
||||
t.Errorf("Failed to download preload: %+v", err)
|
||||
t.Logf("Failed to download preload: %+v (may be ok)", err)
|
||||
}
|
||||
group.Done()
|
||||
}
|
||||
|
@ -107,6 +109,45 @@ func testPreloadDownloadPreventsMultipleDownload(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func testPreloadNotExists(t *testing.T) {
|
||||
downloadNum := 0
|
||||
DownloadMock = mockSleepDownload(&downloadNum)
|
||||
|
||||
checkCache = func(file string) (fs.FileInfo, error) { return nil, fmt.Errorf("cache not found") }
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime string, forcePreload ...bool) bool { return false }
|
||||
getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) { return []byte("check"), nil }
|
||||
ensureChecksumValid = func(k8sVersion, containerRuntime, path string, checksum []byte) error { return nil }
|
||||
|
||||
err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime)
|
||||
if err != nil {
|
||||
t.Errorf("Expected no error when preload exists")
|
||||
}
|
||||
|
||||
if downloadNum != 0 {
|
||||
t.Errorf("Expected no download attempt but got %v!", downloadNum)
|
||||
}
|
||||
}
|
||||
|
||||
func testPreloadChecksumMismatch(t *testing.T) {
|
||||
downloadNum := 0
|
||||
DownloadMock = mockSleepDownload(&downloadNum)
|
||||
|
||||
checkCache = func(file string) (fs.FileInfo, error) { return nil, fmt.Errorf("cache not found") }
|
||||
checkPreloadExists = func(k8sVersion, containerRuntime string, forcePreload ...bool) bool { return true }
|
||||
getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) { return []byte("check"), nil }
|
||||
ensureChecksumValid = func(k8sVersion, containerRuntime, path string, checksum []byte) error {
|
||||
return fmt.Errorf("checksum mismatch")
|
||||
}
|
||||
|
||||
err := Preload(constants.DefaultKubernetesVersion, constants.DefaultContainerRuntime)
|
||||
expectedErrMsg := "checksum mismatch"
|
||||
if err == nil {
|
||||
t.Errorf("Expected error when checksum mismatches")
|
||||
} else if err.Error() != expectedErrMsg {
|
||||
t.Errorf("Expected error to be %s, got %s", expectedErrMsg, err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func testImageToCache(t *testing.T) {
|
||||
downloadNum := 0
|
||||
DownloadMock = mockSleepDownload(&downloadNum)
|
||||
|
|
|
@ -163,15 +163,16 @@ func Preload(k8sVersion, containerRuntime string) error {
|
|||
return errors.Wrap(err, "tempfile")
|
||||
}
|
||||
targetPath = tmp.Name()
|
||||
} else if checksum != "" {
|
||||
url += "?checksum=" + checksum
|
||||
} else if checksum != nil {
|
||||
// add URL parameter for go-getter to automatically verify the checksum
|
||||
url += fmt.Sprintf("?checksum=md5:%s", hex.EncodeToString(checksum))
|
||||
}
|
||||
|
||||
if err := download(url, targetPath); err != nil {
|
||||
return errors.Wrapf(err, "download failed: %s", url)
|
||||
}
|
||||
|
||||
if err := ensureChecksumValid(k8sVersion, containerRuntime, targetPath); err != nil {
|
||||
if err := ensureChecksumValid(k8sVersion, containerRuntime, targetPath, checksum); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -199,23 +200,19 @@ func getStorageAttrs(name string) (*storage.ObjectAttrs, error) {
|
|||
return attrs, nil
|
||||
}
|
||||
|
||||
var getChecksum = func(k8sVersion, containerRuntime string) (string, error) {
|
||||
// getChecksum returns the MD5 checksum of the preload tarball
|
||||
var getChecksum = func(k8sVersion, containerRuntime string) ([]byte, error) {
|
||||
klog.Infof("getting checksum for %s ...", TarballName(k8sVersion, containerRuntime))
|
||||
attrs, err := getStorageAttrs(TarballName(k8sVersion, containerRuntime))
|
||||
if err != nil {
|
||||
return "", err
|
||||
return nil, err
|
||||
}
|
||||
md5 := hex.EncodeToString(attrs.MD5)
|
||||
return fmt.Sprintf("md5:%s", md5), nil
|
||||
return attrs.MD5, nil
|
||||
}
|
||||
|
||||
func saveChecksumFile(k8sVersion, containerRuntime string) error {
|
||||
// saveChecksumFile saves the checksum to a local file for later verification
|
||||
func saveChecksumFile(k8sVersion, containerRuntime string, checksum []byte) error {
|
||||
klog.Infof("saving checksum for %s ...", TarballName(k8sVersion, containerRuntime))
|
||||
attrs, err := getStorageAttrs(TarballName(k8sVersion, containerRuntime))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
checksum := attrs.MD5
|
||||
return ioutil.WriteFile(PreloadChecksumPath(k8sVersion, containerRuntime), checksum, 0o644)
|
||||
}
|
||||
|
||||
|
@ -243,8 +240,8 @@ func verifyChecksum(k8sVersion, containerRuntime, path string) error {
|
|||
}
|
||||
|
||||
// ensureChecksumValid saves and verifies local binary checksum matches remote binary checksum
|
||||
var ensureChecksumValid = func(k8sVersion, containerRuntime, targetPath string) error {
|
||||
if err := saveChecksumFile(k8sVersion, containerRuntime); err != nil {
|
||||
var ensureChecksumValid = func(k8sVersion, containerRuntime, targetPath string, checksum []byte) error {
|
||||
if err := saveChecksumFile(k8sVersion, containerRuntime, checksum); err != nil {
|
||||
return errors.Wrap(err, "saving checksum file")
|
||||
}
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@ var exclude = []string{
|
|||
"- {{.profile}}",
|
||||
" - {{.profile}}",
|
||||
"test/integration",
|
||||
"pkg/minikube/reason/exitcodes.go",
|
||||
}
|
||||
|
||||
// ErrMapFile is a constant to refer to the err_map file, which contains the Advice strings.
|
||||
|
@ -298,7 +299,6 @@ func checkIdentForStringValue(i *ast.Ident) string {
|
|||
if rhs, ok := as.Rhs[0].(*ast.BasicLit); ok {
|
||||
s = rhs.Value
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// This Identifier is part of the const or var declaration
|
||||
|
|
|
@ -153,6 +153,12 @@ func transferAndBuildImage(cr command.Runner, k8s config.KubernetesConfig, src s
|
|||
if err != nil {
|
||||
return errors.Wrapf(err, "creating copyable file asset: %s", filename)
|
||||
}
|
||||
defer func() {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
if err := cr.Copy(f); err != nil {
|
||||
return errors.Wrap(err, "transferring cached image")
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ import (
|
|||
|
||||
"github.com/pkg/errors"
|
||||
"golang.org/x/sync/errgroup"
|
||||
"k8s.io/klog/v2"
|
||||
"k8s.io/minikube/pkg/minikube/assets"
|
||||
"k8s.io/minikube/pkg/minikube/bootstrapper"
|
||||
"k8s.io/minikube/pkg/minikube/command"
|
||||
|
@ -51,6 +52,12 @@ func CopyBinary(cr command.Runner, src string, dest string) error {
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "new file asset")
|
||||
}
|
||||
defer func() {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
if err := cr.Copy(f); err != nil {
|
||||
return errors.Wrapf(err, "copy")
|
||||
}
|
||||
|
|
|
@ -287,6 +287,12 @@ func transferAndLoadImage(cr command.Runner, k8s config.KubernetesConfig, src st
|
|||
if err != nil {
|
||||
return errors.Wrapf(err, "creating copyable file asset: %s", filename)
|
||||
}
|
||||
defer func() {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
if err := cr.Copy(f); err != nil {
|
||||
return errors.Wrap(err, "transferring cached image")
|
||||
}
|
||||
|
|
|
@ -43,6 +43,14 @@ var guaranteed = map[string]bool{
|
|||
// syncLocalAssets syncs files from MINIKUBE_HOME into the cluster
|
||||
func syncLocalAssets(cr command.Runner) error {
|
||||
fs, err := localAssets()
|
||||
defer func() {
|
||||
for _, f := range fs {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -171,12 +171,13 @@ func Start(starter Starter, apiServer bool) (*kubeconfig.Settings, error) {
|
|||
}()
|
||||
|
||||
// enable addons, both old and new!
|
||||
addonList := viper.GetStringSlice(config.AddonListFlag)
|
||||
if starter.ExistingAddons != nil {
|
||||
if viper.GetBool("force") {
|
||||
addons.Force = true
|
||||
}
|
||||
wg.Add(1)
|
||||
go addons.Start(&wg, starter.Cfg, starter.ExistingAddons, config.AddonList)
|
||||
go addons.Start(&wg, starter.Cfg, starter.ExistingAddons, addonList)
|
||||
}
|
||||
|
||||
if apiServer {
|
||||
|
@ -480,7 +481,7 @@ func startMachine(cfg *config.ClusterConfig, node *config.Node, delOnFail bool)
|
|||
if err != nil {
|
||||
return runner, preExists, m, host, errors.Wrap(err, "Failed to get machine client")
|
||||
}
|
||||
host, preExists, err = startHost(m, cfg, node, delOnFail)
|
||||
host, preExists, err = startHostInternal(m, cfg, node, delOnFail)
|
||||
if err != nil {
|
||||
return runner, preExists, m, host, errors.Wrap(err, "Failed to start host")
|
||||
}
|
||||
|
@ -503,8 +504,8 @@ func startMachine(cfg *config.ClusterConfig, node *config.Node, delOnFail bool)
|
|||
return runner, preExists, m, host, err
|
||||
}
|
||||
|
||||
// startHost starts a new minikube host using a VM or None
|
||||
func startHost(api libmachine.API, cc *config.ClusterConfig, n *config.Node, delOnFail bool) (*host.Host, bool, error) {
|
||||
// startHostInternal starts a new minikube host using a VM or None
|
||||
func startHostInternal(api libmachine.API, cc *config.ClusterConfig, n *config.Node, delOnFail bool) (*host.Host, bool, error) {
|
||||
host, exists, err := machine.StartHost(api, cc, n)
|
||||
if err == nil {
|
||||
return host, exists, nil
|
||||
|
|
|
@ -56,7 +56,6 @@ const (
|
|||
// navailableOff = 9 // (~EX_UNAVAILABLE)
|
||||
|
||||
// Error codes specific to the minikube program
|
||||
|
||||
ExProgramError = 10 // generic error
|
||||
ExProgramUsage = 14 // bad command-line options
|
||||
ExProgramConflict = 11 // can't do what you want because of existing data
|
||||
|
@ -65,7 +64,6 @@ const (
|
|||
ExProgramConfig = 18 // bad configuration specified
|
||||
|
||||
// Error codes specific to resource limits (exit code layout follows no rules)
|
||||
|
||||
ExResourceError = 20
|
||||
ExInsufficientMemory = 23
|
||||
ExInsufficientStorage = 26
|
||||
|
@ -73,7 +71,6 @@ const (
|
|||
ExInsufficientCores = 29
|
||||
|
||||
// Error codes specific to the host
|
||||
|
||||
ExHostError = 30
|
||||
ExHostConflict = 31
|
||||
ExHostTimeout = 32
|
||||
|
@ -84,7 +81,6 @@ const (
|
|||
ExHostConfig = 38
|
||||
|
||||
// Error codes specific to remote networking
|
||||
|
||||
ExInternetError = 40
|
||||
ExInternetConflict = 41
|
||||
ExInternetTimeout = 42
|
||||
|
@ -93,7 +89,6 @@ const (
|
|||
ExInternetUnavailable = 49
|
||||
|
||||
// Error codes specific to the libmachine driver
|
||||
|
||||
ExDriverError = 50
|
||||
ExDriverConflict = 51
|
||||
ExDriverTimeout = 52
|
||||
|
@ -105,7 +100,6 @@ const (
|
|||
ExDriverUnavailable = 59
|
||||
|
||||
// Error codes specific to the driver provider
|
||||
|
||||
ExProviderError = 60
|
||||
ExProviderConflict = 61
|
||||
ExProviderTimeout = 62
|
||||
|
@ -120,7 +114,6 @@ const (
|
|||
ExProviderUnavailable = 69 // In common use
|
||||
|
||||
// Error codes specific to local networking
|
||||
|
||||
ExLocalNetworkError = 70
|
||||
ExLocalNetworkConflict = 71
|
||||
ExLocalNetworkTimeout = 72
|
||||
|
@ -130,7 +123,6 @@ const (
|
|||
ExLocalNetworkUnavailable = 79
|
||||
|
||||
// Error codes specific to the guest host
|
||||
|
||||
ExGuestError = 80
|
||||
ExGuestConflict = 81
|
||||
ExGuestTimeout = 82
|
||||
|
@ -142,14 +134,12 @@ const (
|
|||
ExGuestUnavailable = 89
|
||||
|
||||
// Error codes specific to the container runtime
|
||||
|
||||
ExRuntimeError = 90
|
||||
ExRuntimeNotRunning = 93
|
||||
ExRuntimeNotFound = 95
|
||||
ExRuntimeUnavailable = 99
|
||||
|
||||
// Error codes specific to the Kubernetes control plane
|
||||
|
||||
ExControlPlaneError = 100
|
||||
ExControlPlaneConflict = 101
|
||||
ExControlPlaneTimeout = 102
|
||||
|
@ -160,7 +150,6 @@ const (
|
|||
ExControlPlaneUnavailable = 109
|
||||
|
||||
// Error codes specific to a Kubernetes service
|
||||
|
||||
ExSvcError = 110
|
||||
ExSvcConflict = 111
|
||||
ExSvcTimeout = 112
|
||||
|
|
|
@ -56,7 +56,9 @@ func (k *Kind) IssueURLs() []string {
|
|||
|
||||
// Sections are ordered roughly by stack dependencies
|
||||
var (
|
||||
Usage = Kind{ID: "MK_USAGE", ExitCode: ExProgramUsage}
|
||||
// minikube has been passed an incorrect parameter
|
||||
Usage = Kind{ID: "MK_USAGE", ExitCode: ExProgramUsage}
|
||||
// minikube has no current cluster running
|
||||
UsageNoProfileRunning = Kind{ID: "MK_USAGE_NO_PROFILE", ExitCode: ExProgramUsage,
|
||||
Advice: `You can create one using 'minikube start'.
|
||||
`,
|
||||
|
@ -223,36 +225,39 @@ var (
|
|||
DrvUnsupportedProfile = Kind{ID: "DRV_UNSUPPORTED_PROFILE", ExitCode: ExDriverUnsupported}
|
||||
DrvNotFound = Kind{ID: "DRV_NOT_FOUND", ExitCode: ExDriverNotFound}
|
||||
DrvNotDetected = Kind{ID: "DRV_NOT_DETECTED", ExitCode: ExDriverNotFound}
|
||||
DrvNotHealthy = Kind{ID: "DRV_NOT_HEALTHY", ExitCode: ExDriverNotFound}
|
||||
DrvDockerNotRunning = Kind{ID: "DRV_DOCKER_NOT_RUNNING", ExitCode: ExDriverNotFound}
|
||||
DrvAsRoot = Kind{ID: "DRV_AS_ROOT", ExitCode: ExDriverPermission}
|
||||
DrvNeedsRoot = Kind{ID: "DRV_NEEDS_ROOT", ExitCode: ExDriverPermission}
|
||||
DrvNeedsAdministrator = Kind{ID: "DRV_NEEDS_ADMINISTRATOR", ExitCode: ExDriverPermission}
|
||||
|
||||
GuestCacheLoad = Kind{ID: "GUEST_CACHE_LOAD", ExitCode: ExGuestError}
|
||||
GuestCert = Kind{ID: "GUEST_CERT", ExitCode: ExGuestError}
|
||||
GuestCpConfig = Kind{ID: "GUEST_CP_CONFIG", ExitCode: ExGuestConfig}
|
||||
GuestDeletion = Kind{ID: "GUEST_DELETION", ExitCode: ExGuestError}
|
||||
GuestImageList = Kind{ID: "GUEST_IMAGE_LIST", ExitCode: ExGuestError}
|
||||
GuestImageLoad = Kind{ID: "GUEST_IMAGE_LOAD", ExitCode: ExGuestError}
|
||||
GuestImageRemove = Kind{ID: "GUEST_IMAGE_REMOVE", ExitCode: ExGuestError}
|
||||
GuestImageBuild = Kind{ID: "GUEST_IMAGE_BUILD", ExitCode: ExGuestError}
|
||||
GuestLoadHost = Kind{ID: "GUEST_LOAD_HOST", ExitCode: ExGuestError}
|
||||
GuestMount = Kind{ID: "GUEST_MOUNT", ExitCode: ExGuestError}
|
||||
GuestMountConflict = Kind{ID: "GUEST_MOUNT_CONFLICT", ExitCode: ExGuestConflict}
|
||||
GuestNodeAdd = Kind{ID: "GUEST_NODE_ADD", ExitCode: ExGuestError}
|
||||
GuestNodeDelete = Kind{ID: "GUEST_NODE_DELETE", ExitCode: ExGuestError}
|
||||
GuestNodeProvision = Kind{ID: "GUEST_NODE_PROVISION", ExitCode: ExGuestError}
|
||||
GuestNodeRetrieve = Kind{ID: "GUEST_NODE_RETRIEVE", ExitCode: ExGuestNotFound}
|
||||
GuestNodeStart = Kind{ID: "GUEST_NODE_START", ExitCode: ExGuestError}
|
||||
GuestPause = Kind{ID: "GUEST_PAUSE", ExitCode: ExGuestError}
|
||||
GuestProfileDeletion = Kind{ID: "GUEST_PROFILE_DELETION", ExitCode: ExGuestError}
|
||||
GuestProvision = Kind{ID: "GUEST_PROVISION", ExitCode: ExGuestError}
|
||||
GuestStart = Kind{ID: "GUEST_START", ExitCode: ExGuestError}
|
||||
GuestStatus = Kind{ID: "GUEST_STATUS", ExitCode: ExGuestError}
|
||||
GuestStopTimeout = Kind{ID: "GUEST_STOP_TIMEOUT", ExitCode: ExGuestTimeout}
|
||||
GuestUnpause = Kind{ID: "GUEST_UNPAUSE", ExitCode: ExGuestError}
|
||||
GuestCheckPaused = Kind{ID: "GUEST_CHECK_PAUSED", ExitCode: ExGuestError}
|
||||
GuestDrvMismatch = Kind{ID: "GUEST_DRIVER_MISMATCH", ExitCode: ExGuestConflict, Style: style.Conflict}
|
||||
GuestMissingConntrack = Kind{ID: "GUEST_MISSING_CONNTRACK", ExitCode: ExGuestUnsupported}
|
||||
GuestCacheLoad = Kind{ID: "GUEST_CACHE_LOAD", ExitCode: ExGuestError}
|
||||
GuestCert = Kind{ID: "GUEST_CERT", ExitCode: ExGuestError}
|
||||
GuestCpConfig = Kind{ID: "GUEST_CP_CONFIG", ExitCode: ExGuestConfig}
|
||||
GuestDeletion = Kind{ID: "GUEST_DELETION", ExitCode: ExGuestError}
|
||||
GuestImageList = Kind{ID: "GUEST_IMAGE_LIST", ExitCode: ExGuestError}
|
||||
GuestImageLoad = Kind{ID: "GUEST_IMAGE_LOAD", ExitCode: ExGuestError}
|
||||
GuestImageRemove = Kind{ID: "GUEST_IMAGE_REMOVE", ExitCode: ExGuestError}
|
||||
GuestImageBuild = Kind{ID: "GUEST_IMAGE_BUILD", ExitCode: ExGuestError}
|
||||
GuestLoadHost = Kind{ID: "GUEST_LOAD_HOST", ExitCode: ExGuestError}
|
||||
GuestMount = Kind{ID: "GUEST_MOUNT", ExitCode: ExGuestError}
|
||||
GuestMountConflict = Kind{ID: "GUEST_MOUNT_CONFLICT", ExitCode: ExGuestConflict}
|
||||
GuestNodeAdd = Kind{ID: "GUEST_NODE_ADD", ExitCode: ExGuestError}
|
||||
GuestNodeDelete = Kind{ID: "GUEST_NODE_DELETE", ExitCode: ExGuestError}
|
||||
GuestNodeProvision = Kind{ID: "GUEST_NODE_PROVISION", ExitCode: ExGuestError}
|
||||
GuestNodeRetrieve = Kind{ID: "GUEST_NODE_RETRIEVE", ExitCode: ExGuestNotFound}
|
||||
GuestNodeStart = Kind{ID: "GUEST_NODE_START", ExitCode: ExGuestError}
|
||||
GuestPause = Kind{ID: "GUEST_PAUSE", ExitCode: ExGuestError}
|
||||
GuestProfileDeletion = Kind{ID: "GUEST_PROFILE_DELETION", ExitCode: ExGuestError}
|
||||
GuestProvision = Kind{ID: "GUEST_PROVISION", ExitCode: ExGuestError}
|
||||
GuestProvisionContainerExited = Kind{ID: "GUEST_PROVISION_CONTAINER_EXITED", ExitCode: ExGuestError}
|
||||
GuestStart = Kind{ID: "GUEST_START", ExitCode: ExGuestError}
|
||||
GuestStatus = Kind{ID: "GUEST_STATUS", ExitCode: ExGuestError}
|
||||
GuestStopTimeout = Kind{ID: "GUEST_STOP_TIMEOUT", ExitCode: ExGuestTimeout}
|
||||
GuestUnpause = Kind{ID: "GUEST_UNPAUSE", ExitCode: ExGuestError}
|
||||
GuestCheckPaused = Kind{ID: "GUEST_CHECK_PAUSED", ExitCode: ExGuestError}
|
||||
GuestDrvMismatch = Kind{ID: "GUEST_DRIVER_MISMATCH", ExitCode: ExGuestConflict, Style: style.Conflict}
|
||||
GuestMissingConntrack = Kind{ID: "GUEST_MISSING_CONNTRACK", ExitCode: ExGuestUnsupported}
|
||||
|
||||
IfHostIP = Kind{ID: "IF_HOST_IP", ExitCode: ExLocalNetworkError}
|
||||
IfMountIP = Kind{ID: "IF_MOUNT_IP", ExitCode: ExLocalNetworkError}
|
||||
|
|
|
@ -153,6 +153,12 @@ func copyHostCerts(authOptions auth.Options) error {
|
|||
if err != nil {
|
||||
return errors.Wrapf(err, "open cert file: %s", src)
|
||||
}
|
||||
defer func() {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
if err := execRunner.Copy(f); err != nil {
|
||||
return errors.Wrapf(err, "transferring file: %+v", f)
|
||||
}
|
||||
|
@ -187,6 +193,12 @@ func copyRemoteCerts(authOptions auth.Options, driver drivers.Driver) error {
|
|||
if err != nil {
|
||||
return errors.Wrapf(err, "error copying %s to %s", src, dst)
|
||||
}
|
||||
defer func() {
|
||||
if err := f.Close(); err != nil {
|
||||
klog.Warningf("error closing the file %s: %v", f.GetSourcePath(), err)
|
||||
}
|
||||
}()
|
||||
|
||||
if err := sshRunner.Copy(f); err != nil {
|
||||
return errors.Wrapf(err, "transferring file to machine %v", f)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,409 @@
|
|||
---
|
||||
title: "Error Codes"
|
||||
description: >
|
||||
minikube error codes and strings
|
||||
---
|
||||
|
||||
|
||||
## Error Codes
|
||||
|
||||
|
||||
### Generic Errors
|
||||
1: ExFailure
|
||||
2: ExInterrupted
|
||||
|
||||
### Error codes specific to the minikube program
|
||||
10: ExProgramError
|
||||
14: ExProgramUsage
|
||||
11: ExProgramConflict
|
||||
15: ExProgramNotFound
|
||||
16: ExProgramUnsupported
|
||||
18: ExProgramConfig
|
||||
|
||||
### Error codes specific to resource limits (exit code layout follows no rules)
|
||||
20: ExResourceError
|
||||
23: ExInsufficientMemory
|
||||
26: ExInsufficientStorage
|
||||
27: ExInsufficientPermission
|
||||
29: ExInsufficientCores
|
||||
|
||||
### Error codes specific to the host
|
||||
30: ExHostError
|
||||
31: ExHostConflict
|
||||
32: ExHostTimeout
|
||||
34: ExHostUsage
|
||||
35: ExHostNotFound
|
||||
38: ExHostUnsupported
|
||||
37: ExHostPermission
|
||||
38: ExHostConfig
|
||||
|
||||
### Error codes specific to remote networking
|
||||
40: ExInternetError
|
||||
41: ExInternetConflict
|
||||
42: ExInternetTimeout
|
||||
45: ExInternetNotFound
|
||||
48: ExInternetConfig
|
||||
49: ExInternetUnavailable
|
||||
|
||||
### Error codes specific to the libmachine driver
|
||||
50: ExDriverError
|
||||
51: ExDriverConflict
|
||||
52: ExDriverTimeout
|
||||
54: ExDriverUsage
|
||||
55: ExDriverNotFound
|
||||
56: ExDriverUnsupported
|
||||
57: ExDriverPermission
|
||||
58: ExDriverConfig
|
||||
59: ExDriverUnavailable
|
||||
|
||||
### Error codes specific to the driver provider
|
||||
60: ExProviderError
|
||||
61: ExProviderConflict
|
||||
62: ExProviderTimeout
|
||||
63: ExProviderNotRunning
|
||||
65: ExProviderNotFound
|
||||
66: ExProviderUnsupported
|
||||
67: ExProviderPermission
|
||||
68: ExProviderConfig
|
||||
69: ExProviderUnavailable
|
||||
|
||||
### Error codes specific to local networking
|
||||
70: ExLocalNetworkError
|
||||
71: ExLocalNetworkConflict
|
||||
72: ExLocalNetworkTimeout
|
||||
75: ExLocalNetworkNotFound
|
||||
77: ExLocalNetworkPermission
|
||||
78: ExLocalNetworkConfig
|
||||
79: ExLocalNetworkUnavailable
|
||||
|
||||
### Error codes specific to the guest host
|
||||
80: ExGuestError
|
||||
81: ExGuestConflict
|
||||
82: ExGuestTimeout
|
||||
83: ExGuestNotRunning
|
||||
85: ExGuestNotFound
|
||||
86: ExGuestUnsupported
|
||||
87: ExGuestPermission
|
||||
88: ExGuestConfig
|
||||
89: ExGuestUnavailable
|
||||
|
||||
### Error codes specific to the container runtime
|
||||
90: ExRuntimeError
|
||||
93: ExRuntimeNotRunning
|
||||
95: ExRuntimeNotFound
|
||||
99: ExRuntimeUnavailable
|
||||
|
||||
### Error codes specific to the Kubernetes control plane
|
||||
100: ExControlPlaneError
|
||||
101: ExControlPlaneConflict
|
||||
102: ExControlPlaneTimeout
|
||||
103: ExControlPlaneNotRunning
|
||||
105: ExControlPlaneNotFound
|
||||
106: ExControlPlaneUnsupported
|
||||
108: ExControlPlaneConfig
|
||||
109: ExControlPlaneUnavailable
|
||||
|
||||
### Error codes specific to a Kubernetes service
|
||||
110: ExSvcError
|
||||
111: ExSvcConflict
|
||||
112: ExSvcTimeout
|
||||
113: ExSvcNotRunning
|
||||
115: ExSvcNotFound
|
||||
116: ExSvcUnsupported
|
||||
117: ExSvcPermission
|
||||
118: ExSvcConfig
|
||||
119: ExSvcUnavailable
|
||||
|
||||
|
||||
## Error Strings
|
||||
|
||||
"MK_USAGE" (Exit code ExProgramUsage)
|
||||
minikube has been passed an incorrect parameter
|
||||
|
||||
"MK_USAGE_NO_PROFILE" (Exit code ExProgramUsage)
|
||||
minikube has no current cluster running
|
||||
|
||||
"MK_INTERRUPTED" (Exit code ExProgramConflict)
|
||||
|
||||
"MK_WRONG_BINARY_WSL" (Exit code ExProgramUnsupported)
|
||||
|
||||
"MK_WRONG_BINARY_M1" (Exit code ExProgramUnsupported)
|
||||
|
||||
"MK_NEW_APICLIENT" (Exit code ExProgramError)
|
||||
|
||||
"MK_ADDON_ENABLE" (Exit code ExProgramError)
|
||||
|
||||
"MK_ADD_CONFIG" (Exit code ExProgramError)
|
||||
|
||||
"MK_BIND_FLAGS" (Exit code ExProgramError)
|
||||
|
||||
"MK_BOOTSTRAPPER" (Exit code ExProgramError)
|
||||
|
||||
"MK_CACHE_LIST" (Exit code ExProgramError)
|
||||
|
||||
"MK_CACHE_LOAD" (Exit code ExProgramError)
|
||||
|
||||
"MK_COMMAND_RUNNER" (Exit code ExProgramError)
|
||||
|
||||
"MK_COMPLETION" (Exit code ExProgramError)
|
||||
|
||||
"MK_CONFIG_SET" (Exit code ExProgramError)
|
||||
|
||||
"MK_CONFIG_UNSET" (Exit code ExProgramError)
|
||||
|
||||
"MK_CONFIG_VIEW" (Exit code ExProgramError)
|
||||
|
||||
"MK_DEL_CONFIG" (Exit code ExProgramError)
|
||||
|
||||
"MK_DISABLE" (Exit code ExProgramError)
|
||||
|
||||
"MK_DOCKER_SCRIPT" (Exit code ExProgramError)
|
||||
|
||||
"MK_ENABLE" (Exit code ExProgramError)
|
||||
|
||||
"MK_FLAGS_BIND" (Exit code ExProgramError)
|
||||
|
||||
"MK_FLAGS_SET" (Exit code ExProgramError)
|
||||
|
||||
"MK_FORMAT_USAGE" (Exit code ExProgramError)
|
||||
|
||||
"MK_GENERATE_DOCS" (Exit code ExProgramError)
|
||||
|
||||
"MK_JSON_MARSHAL" (Exit code ExProgramError)
|
||||
|
||||
"MK_K8S_CLIENT" (Exit code ExControlPlaneUnavailable)
|
||||
|
||||
"MK_LIST_CONFIG" (Exit code ExProgramError)
|
||||
|
||||
"MK_LOGTOSTDERR_FLAG" (Exit code ExProgramError)
|
||||
|
||||
"MK_LOG_FOLLOW" (Exit code ExProgramError)
|
||||
|
||||
"MK_NEW_RUNTIME" (Exit code ExProgramError)
|
||||
|
||||
"MK_OUTPUT_USAGE" (Exit code ExProgramError)
|
||||
|
||||
"MK_RUNTIME" (Exit code ExProgramError)
|
||||
|
||||
"MK_RESERVED_PROFILE" (Exit code ExProgramConflict)
|
||||
|
||||
"MK_ENV_SCRIPT" (Exit code ExProgramError)
|
||||
|
||||
"MK_SHELL_DETECT" (Exit code ExProgramError)
|
||||
|
||||
"MK_STATUS_JSON" (Exit code ExProgramError)
|
||||
|
||||
"MK_STATUS_TEXT" (Exit code ExProgramError)
|
||||
|
||||
"MK_UNSET_SCRIPT" (Exit code ExProgramError)
|
||||
|
||||
"MK_VIEW_EXEC" (Exit code ExProgramError)
|
||||
|
||||
"MK_VIEW_TMPL" (Exit code ExProgramError)
|
||||
|
||||
"MK_YAML_MARSHAL" (Exit code ExProgramError)
|
||||
|
||||
"MK_CREDENTIALS_NOT_FOUND" (Exit code ExProgramNotFound)
|
||||
|
||||
"MK_CREDENTIALS_NOT_NEEDED" (Exit code ExProgramNotFound)
|
||||
|
||||
"MK_SEMVER_PARSE" (Exit code ExProgramError)
|
||||
|
||||
"MK_DAEMONIZE" (Exit code ExProgramError)
|
||||
|
||||
"RSRC_INSUFFICIENT_CORES" (Exit code ExInsufficientCores)
|
||||
|
||||
"RSRC_DOCKER_CORES" (Exit code ExInsufficientCores)
|
||||
|
||||
"RSRC_DOCKER_CORES" (Exit code ExInsufficientCores)
|
||||
|
||||
"RSRC_INSUFFICIENT_REQ_MEMORY" (Exit code ExInsufficientMemory)
|
||||
|
||||
"RSRC_INSUFFICIENT_SYS_MEMORY" (Exit code ExInsufficientMemory)
|
||||
|
||||
"RSRC_INSUFFICIENT_CONTAINER_MEMORY" (Exit code ExInsufficientMemory)
|
||||
|
||||
"RSRC_DOCKER_MEMORY" (Exit code ExInsufficientMemory)
|
||||
|
||||
"RSRC_DOCKER_MEMORY" (Exit code ExInsufficientMemory)
|
||||
|
||||
"RSRC_DOCKER_STORAGE" (Exit code ExInsufficientStorage)
|
||||
|
||||
"RSRC_PODMAN_STORAGE" (Exit code ExInsufficientStorage)
|
||||
|
||||
"RSRC_INSUFFICIENT_STORAGE" (Exit code ExInsufficientStorage)
|
||||
|
||||
"HOST_HOME_MKDIR" (Exit code ExHostPermission)
|
||||
|
||||
"HOST_HOME_CHOWN" (Exit code ExHostPermission)
|
||||
|
||||
"HOST_BROWSER" (Exit code ExHostError)
|
||||
|
||||
"HOST_CONFIG_LOAD" (Exit code ExHostConfig)
|
||||
|
||||
"HOST_HOME_PERMISSION" (Exit code ExHostPermission)
|
||||
|
||||
"HOST_CURRENT_USER" (Exit code ExHostConfig)
|
||||
|
||||
"HOST_DEL_CACHE" (Exit code ExHostError)
|
||||
|
||||
"HOST_KILL_MOUNT_PROC" (Exit code ExHostError)
|
||||
|
||||
"HOST_KUBECNOFIG_UNSET" (Exit code ExHostConfig)
|
||||
|
||||
"HOST_KUBECONFIG_UPDATE" (Exit code ExHostConfig)
|
||||
|
||||
"HOST_KUBECONFIG_DELETE_CTX" (Exit code ExHostConfig)
|
||||
|
||||
"HOST_KUBECTL_PROXY" (Exit code ExHostError)
|
||||
|
||||
"HOST_MOUNT_PID" (Exit code ExHostError)
|
||||
|
||||
"HOST_PATH_MISSING" (Exit code ExHostNotFound)
|
||||
|
||||
"HOST_PATH_STAT" (Exit code ExHostError)
|
||||
|
||||
"HOST_PURGE" (Exit code ExHostError)
|
||||
|
||||
"HOST_SAVE_PROFILE" (Exit code ExHostConfig)
|
||||
|
||||
"PROVIDER_NOT_FOUND" (Exit code ExProviderNotFound)
|
||||
|
||||
"PROVIDER_UNAVAILABLE" (Exit code ExProviderNotFound)
|
||||
|
||||
"DRV_CP_ENDPOINT" (Exit code ExDriverError)
|
||||
|
||||
"DRV_PORT_FORWARD" (Exit code ExDriverError)
|
||||
|
||||
"DRV_UNSUPPORTED_MULTINODE" (Exit code ExDriverConflict)
|
||||
|
||||
"DRV_UNSUPPORTED_OS" (Exit code ExDriverUnsupported)
|
||||
|
||||
"DRV_UNSUPPORTED_PROFILE" (Exit code ExDriverUnsupported)
|
||||
|
||||
"DRV_NOT_FOUND" (Exit code ExDriverNotFound)
|
||||
|
||||
"DRV_NOT_DETECTED" (Exit code ExDriverNotFound)
|
||||
|
||||
"DRV_AS_ROOT" (Exit code ExDriverPermission)
|
||||
|
||||
"DRV_NEEDS_ROOT" (Exit code ExDriverPermission)
|
||||
|
||||
"DRV_NEEDS_ADMINISTRATOR" (Exit code ExDriverPermission)
|
||||
|
||||
"GUEST_CACHE_LOAD" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_CERT" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_CP_CONFIG" (Exit code ExGuestConfig)
|
||||
|
||||
"GUEST_DELETION" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_IMAGE_LIST" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_IMAGE_LOAD" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_IMAGE_REMOVE" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_IMAGE_BUILD" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_LOAD_HOST" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_MOUNT" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_MOUNT_CONFLICT" (Exit code ExGuestConflict)
|
||||
|
||||
"GUEST_NODE_ADD" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_NODE_DELETE" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_NODE_PROVISION" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_NODE_RETRIEVE" (Exit code ExGuestNotFound)
|
||||
|
||||
"GUEST_NODE_START" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_PAUSE" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_PROFILE_DELETION" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_PROVISION" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_START" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_STATUS" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_STOP_TIMEOUT" (Exit code ExGuestTimeout)
|
||||
|
||||
"GUEST_UNPAUSE" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_CHECK_PAUSED" (Exit code ExGuestError)
|
||||
|
||||
"GUEST_DRIVER_MISMATCH" (Exit code ExGuestConflict)
|
||||
|
||||
"GUEST_MISSING_CONNTRACK" (Exit code ExGuestUnsupported)
|
||||
|
||||
"IF_HOST_IP" (Exit code ExLocalNetworkError)
|
||||
|
||||
"IF_MOUNT_IP" (Exit code ExLocalNetworkError)
|
||||
|
||||
"IF_MOUNT_PORT" (Exit code ExLocalNetworkError)
|
||||
|
||||
"IF_SSH_CLIENT" (Exit code ExLocalNetworkError)
|
||||
|
||||
"INET_CACHE_BINARIES" (Exit code ExInternetError)
|
||||
|
||||
"INET_CACHE_KUBECTL" (Exit code ExInternetError)
|
||||
|
||||
"INET_CACHE_TAR" (Exit code ExInternetError)
|
||||
|
||||
"INET_GET_VERSIONS" (Exit code ExInternetError)
|
||||
|
||||
"INET_REPO" (Exit code ExInternetError)
|
||||
|
||||
"INET_REPOS_UNAVAILABLE" (Exit code ExInternetError)
|
||||
|
||||
"INET_VERSION_UNAVAILABLE" (Exit code ExInternetUnavailable)
|
||||
|
||||
"INET_VERSION_EMPTY" (Exit code ExInternetConfig)
|
||||
|
||||
"RUNTIME_ENABLE" (Exit code ExRuntimeError)
|
||||
|
||||
"RUNTIME_CACHE" (Exit code ExRuntimeError)
|
||||
|
||||
"RUNTIME_RESTART" (Exit code ExRuntimeError)
|
||||
|
||||
"SVC_CHECK_TIMEOUT" (Exit code ExSvcTimeout)
|
||||
|
||||
"SVC_TIMEOUT" (Exit code ExSvcTimeout)
|
||||
|
||||
"SVC_LIST" (Exit code ExSvcError)
|
||||
|
||||
"SVC_TUNNEL_START" (Exit code ExSvcError)
|
||||
|
||||
"SVC_TUNNEL_STOP" (Exit code ExSvcError)
|
||||
|
||||
"SVC_URL_TIMEOUT" (Exit code ExSvcTimeout)
|
||||
|
||||
"SVC_NOT_FOUND" (Exit code ExSvcNotFound)
|
||||
|
||||
"ENV_DRIVER_CONFLICT" (Exit code ExDriverConflict)
|
||||
|
||||
"ENV_MULTINODE_CONFLICT" (Exit code ExGuestConflict)
|
||||
|
||||
"ENV_DOCKER_UNAVAILABLE" (Exit code ExRuntimeUnavailable)
|
||||
|
||||
"ENV_PODMAN_UNAVAILABLE" (Exit code ExRuntimeUnavailable)
|
||||
|
||||
"SVC_ADDON_UNSUPPORTED" (Exit code ExSvcUnsupported)
|
||||
|
||||
"SVC_ADDON_NOT_ENABLED" (Exit code ExProgramConflict)
|
||||
|
||||
"K8S_INSTALL_FAILED" (Exit code ExControlPlaneError)
|
||||
|
||||
"K8S_INSTALL_FAILED_CONTAINER_RUNTIME_NOT_RUNNING" (Exit code ExRuntimeNotRunning)
|
||||
|
||||
"K8S_OLD_UNSUPPORTED" (Exit code ExControlPlaneUnsupported)
|
||||
|
||||
"K8S_DOWNGRADE_UNSUPPORTED" (Exit code ExControlPlaneUnsupported)
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "Triage & Contributions Leaderboard"
|
||||
linkTitle: "Triage & Contributions Leaderboard"
|
||||
weight: 10
|
||||
description: >
|
||||
Contributions split by release
|
||||
---
|
|
@ -0,0 +1,452 @@
|
|||
---
|
||||
title: "v0.10.0 - 2016-09-15"
|
||||
linkTitle: "v0.10.0 - 2016-09-15"
|
||||
weight: -10
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-09-01 — 2016-09-15</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 18, "18"],
|
||||
["r2d4", 8, "8"],
|
||||
["jimmidyson", 6, "6"],
|
||||
["aaron-prindle", 4, "4"],
|
||||
["jonboulle", 2, "2"],
|
||||
["numbsafari", 1, "1"],
|
||||
["s-urbaniak", 1, "1"],
|
||||
["luxas", 1, "1"],
|
||||
["euank", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 613, "613"],
|
||||
["r2d4", 102, "102"],
|
||||
["jimmidyson", 96, "96"],
|
||||
["numbsafari", 54, "54"],
|
||||
["s-urbaniak", 46, "46"],
|
||||
["euank", 18, "18"],
|
||||
["jonboulle", 11, "11"],
|
||||
["luxas", 4, "4"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 14, "14"],
|
||||
["numbsafari", 1, "1"],
|
||||
["euank", 0, "0"],
|
||||
["s-urbaniak", 0, "0"],
|
||||
["jonboulle", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["luxas", 0, "0"],
|
||||
["r2d4", 0, "0"],
|
||||
["jimmidyson", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 9, "9"],
|
||||
["r2d4", 9, "9"],
|
||||
["aaron-prindle", 6, "6"],
|
||||
["jimmidyson", 2, "2"],
|
||||
["s-urbaniak", 2, "2"],
|
||||
["viglesiasce", 1, "1"],
|
||||
["Starefossen", 1, "1"],
|
||||
["kozikow", 1, "1"],
|
||||
["bryk", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 1113, "1113"],
|
||||
["r2d4", 1001, "1001"],
|
||||
["dlorenc", 347, "347"],
|
||||
["s-urbaniak", 213, "213"],
|
||||
["jimmidyson", 64, "64"],
|
||||
["Starefossen", 26, "26"],
|
||||
["bryk", 8, "8"],
|
||||
["kozikow", 2, "2"],
|
||||
["viglesiasce", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 115, "115"],
|
||||
["r2d4", 107, "107"],
|
||||
["s-urbaniak", 104, "104"],
|
||||
["jimmidyson", 22, "22"],
|
||||
["dlorenc", 20, "20"],
|
||||
["Starefossen", 13, "13"],
|
||||
["bryk", 4, "4"],
|
||||
["kozikow", 2, "2"],
|
||||
["viglesiasce", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["dlorenc", 4, "4"],
|
||||
["r2d4", 2, "2"],
|
||||
["jimmidyson", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,443 @@
|
|||
---
|
||||
title: "v0.11.0 - 2016-10-06"
|
||||
linkTitle: "v0.11.0 - 2016-10-06"
|
||||
weight: -11
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-09-15 — 2016-10-06</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 11, "11"],
|
||||
["r2d4", 6, "6"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["jimmidyson", 3, "3"],
|
||||
["iantalarico", 1, "1"],
|
||||
["philips", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 307, "307"],
|
||||
["dlorenc", 136, "136"],
|
||||
["iantalarico", 40, "40"],
|
||||
["jimmidyson", 25, "25"],
|
||||
["philips", 3, "3"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 13, "13"],
|
||||
["jimmidyson", 3, "3"],
|
||||
["dlorenc", 2, "2"],
|
||||
["iantalarico", 1, "1"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["philips", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 16, "16"],
|
||||
["r2d4", 10, "10"],
|
||||
["aaron-prindle", 4, "4"],
|
||||
["jonboulle", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["s-urbaniak", 1, "1"],
|
||||
["Starefossen", 1, "1"],
|
||||
["philips", 1, "1"],
|
||||
["victorhaggqvist", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 1238, "1238"],
|
||||
["aaron-prindle", 544, "544"],
|
||||
["r2d4", 57, "57"],
|
||||
["jimmidyson", 30, "30"],
|
||||
["victorhaggqvist", 26, "26"],
|
||||
["jonboulle", 8, "8"],
|
||||
["philips", 6, "6"],
|
||||
["s-urbaniak", 2, "2"],
|
||||
["Starefossen", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 134, "134"],
|
||||
["dlorenc", 61, "61"],
|
||||
["victorhaggqvist", 26, "26"],
|
||||
["jimmidyson", 14, "14"],
|
||||
["philips", 4, "4"],
|
||||
["jonboulle", 4, "4"],
|
||||
["r2d4", 3, "3"],
|
||||
["Starefossen", 1, "1"],
|
||||
["s-urbaniak", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 12, "12"],
|
||||
["r2d4", 7, "7"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["jimmidyson", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,446 @@
|
|||
---
|
||||
title: "v0.12.0 - 2016-10-21"
|
||||
linkTitle: "v0.12.0 - 2016-10-21"
|
||||
weight: -12
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-10-06 — 2016-10-21</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 12, "12"],
|
||||
["r2d4", 7, "7"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["jimmidyson", 4, "4"],
|
||||
["iaguis", 1, "1"],
|
||||
["ryanj", 1, "1"],
|
||||
["s-urbaniak", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 421, "421"],
|
||||
["r2d4", 212, "212"],
|
||||
["aaron-prindle", 57, "57"],
|
||||
["ryanj", 40, "40"],
|
||||
["jimmidyson", 37, "37"],
|
||||
["iaguis", 31, "31"],
|
||||
["s-urbaniak", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 12, "12"],
|
||||
["r2d4", 3, "3"],
|
||||
["jimmidyson", 2, "2"],
|
||||
["ryanj", 0, "0"],
|
||||
["s-urbaniak", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["iaguis", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 18, "18"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["jimmidyson", 8, "8"],
|
||||
["dlorenc", 4, "4"],
|
||||
["s-urbaniak", 1, "1"],
|
||||
["ajanthan", 1, "1"],
|
||||
["philips", 1, "1"],
|
||||
["marun", 1, "1"],
|
||||
["zoidbergwill", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 2499, "2499"],
|
||||
["s-urbaniak", 1348, "1348"],
|
||||
["jimmidyson", 775, "775"],
|
||||
["r2d4", 506, "506"],
|
||||
["dlorenc", 57, "57"],
|
||||
["zoidbergwill", 48, "48"],
|
||||
["ajanthan", 28, "28"],
|
||||
["marun", 16, "16"],
|
||||
["philips", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["s-urbaniak", 1347, "1347"],
|
||||
["aaron-prindle", 245, "245"],
|
||||
["jimmidyson", 62, "62"],
|
||||
["zoidbergwill", 24, "24"],
|
||||
["ajanthan", 23, "23"],
|
||||
["r2d4", 16, "16"],
|
||||
["marun", 16, "16"],
|
||||
["dlorenc", 3, "3"],
|
||||
["philips", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 7, "7"],
|
||||
["r2d4", 2, "2"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,430 @@
|
|||
---
|
||||
title: "v0.12.1 - 2016-10-28"
|
||||
linkTitle: "v0.12.1 - 2016-10-28"
|
||||
weight: -13
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-10-21 — 2016-10-28</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 9, "9"],
|
||||
["r2d4", 3, "3"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["aecolley", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 180, "180"],
|
||||
["jimmidyson", 78, "78"],
|
||||
["aaron-prindle", 43, "43"],
|
||||
["r2d4", 39, "39"],
|
||||
["aecolley", 31, "31"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 6, "6"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["aecolley", 0, "0"],
|
||||
["r2d4", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 8, "8"],
|
||||
["aaron-prindle", 4, "4"],
|
||||
["dlorenc", 3, "3"],
|
||||
["jimmidyson", 2, "2"],
|
||||
["RaeesBhatti", 1, "1"],
|
||||
["borisroman", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 2303, "2303"],
|
||||
["jimmidyson", 374, "374"],
|
||||
["aaron-prindle", 291, "291"],
|
||||
["dlorenc", 18, "18"],
|
||||
["borisroman", 11, "11"],
|
||||
["RaeesBhatti", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["r2d4", 163, "163"],
|
||||
["jimmidyson", 116, "116"],
|
||||
["aaron-prindle", 39, "39"],
|
||||
["borisroman", 8, "8"],
|
||||
["dlorenc", 4, "4"],
|
||||
["RaeesBhatti", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["aaron-prindle", 6, "6"],
|
||||
["r2d4", 4, "4"],
|
||||
["jimmidyson", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,424 @@
|
|||
---
|
||||
title: "v0.12.2 - 2016-10-31"
|
||||
linkTitle: "v0.12.2 - 2016-10-31"
|
||||
weight: -14
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-10-28 — 2016-10-31</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["s-urbaniak", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["r2d4", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 18, "18"],
|
||||
["dlorenc", 6, "6"],
|
||||
["jimmidyson", 5, "5"],
|
||||
["s-urbaniak", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["s-urbaniak", 0, "0"],
|
||||
["dlorenc", 0, "0"],
|
||||
["jimmidyson", 0, "0"],
|
||||
["r2d4", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 4, "4"],
|
||||
["dlorenc", 2, "2"],
|
||||
["kad", 1, "1"],
|
||||
["gjcarneiro", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 35, "35"],
|
||||
["jimmidyson", 31, "31"],
|
||||
["dlorenc", 26, "26"],
|
||||
["kad", 8, "8"],
|
||||
["gjcarneiro", 7, "7"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["jimmidyson", 26, "26"],
|
||||
["dlorenc", 11, "11"],
|
||||
["gjcarneiro", 5, "5"],
|
||||
["r2d4", 4, "4"],
|
||||
["kad", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 3, "3"],
|
||||
["dlorenc", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,451 @@
|
|||
---
|
||||
title: "v0.13.0 - 2016-12-01"
|
||||
linkTitle: "v0.13.0 - 2016-12-01"
|
||||
weight: -15
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-10-31 — 2016-12-01</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 15, "15"],
|
||||
["r2d4", 12, "12"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["jimmidyson", 2, "2"],
|
||||
["franciscocpg", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 540, "540"],
|
||||
["dlorenc", 468, "468"],
|
||||
["aaron-prindle", 35, "35"],
|
||||
["jimmidyson", 22, "22"],
|
||||
["franciscocpg", 16, "16"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 17, "17"],
|
||||
["r2d4", 11, "11"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["franciscocpg", 0, "0"],
|
||||
["jimmidyson", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 16, "16"],
|
||||
["aaron-prindle", 10, "10"],
|
||||
["dlorenc", 8, "8"],
|
||||
["rf232", 2, "2"],
|
||||
["ankon", 1, "1"],
|
||||
["dklyle", 1, "1"],
|
||||
["seeekr", 1, "1"],
|
||||
["spk83", 1, "1"],
|
||||
["ccl0326", 1, "1"],
|
||||
["rothgar", 1, "1"],
|
||||
["mnuttall", 1, "1"],
|
||||
["cedricziel", 1, "1"],
|
||||
["rodcloutier", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 930, "930"],
|
||||
["seeekr", 674, "674"],
|
||||
["r2d4", 459, "459"],
|
||||
["spk83", 428, "428"],
|
||||
["rodcloutier", 384, "384"],
|
||||
["dlorenc", 157, "157"],
|
||||
["rf232", 16, "16"],
|
||||
["mnuttall", 10, "10"],
|
||||
["rothgar", 5, "5"],
|
||||
["ccl0326", 5, "5"],
|
||||
["ankon", 4, "4"],
|
||||
["dklyle", 2, "2"],
|
||||
["cedricziel", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["seeekr", 337, "337"],
|
||||
["spk83", 216, "216"],
|
||||
["aaron-prindle", 77, "77"],
|
||||
["rodcloutier", 52, "52"],
|
||||
["r2d4", 20, "20"],
|
||||
["dlorenc", 18, "18"],
|
||||
["mnuttall", 6, "6"],
|
||||
["rf232", 4, "4"],
|
||||
["rothgar", 4, "4"],
|
||||
["ccl0326", 3, "3"],
|
||||
["ankon", 2, "2"],
|
||||
["dklyle", 1, "1"],
|
||||
["cedricziel", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 10, "10"],
|
||||
["dlorenc", 4, "4"],
|
||||
["aaron-prindle", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,411 @@
|
|||
---
|
||||
title: "v0.13.1 - 2016-12-05"
|
||||
linkTitle: "v0.13.1 - 2016-12-05"
|
||||
weight: -16
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-12-01 — 2016-12-05</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 8, "8"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 7, "7"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 125, "125"],
|
||||
["dlorenc", 15, "15"],
|
||||
["aaron-prindle", 6, "6"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["dlorenc", 15, "15"],
|
||||
["r2d4", 10, "10"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 3, "3"],
|
||||
["r2d4", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,417 @@
|
|||
---
|
||||
title: "v0.14.0 - 2016-12-14"
|
||||
linkTitle: "v0.14.0 - 2016-12-14"
|
||||
weight: -17
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-12-05 — 2016-12-14</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 3, "3"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 167, "167"],
|
||||
["aaron-prindle", 77, "77"],
|
||||
["dlorenc", 14, "14"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 6, "6"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 7, "7"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["stevesloka", 1, "1"],
|
||||
["waprin", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 510, "510"],
|
||||
["aaron-prindle", 182, "182"],
|
||||
["stevesloka", 60, "60"],
|
||||
["waprin", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 70, "70"],
|
||||
["stevesloka", 60, "60"],
|
||||
["r2d4", 59, "59"],
|
||||
["waprin", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 2, "2"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,436 @@
|
|||
---
|
||||
title: "v0.15.0 - 2017-01-10"
|
||||
linkTitle: "v0.15.0 - 2017-01-10"
|
||||
weight: -18
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-12-14 — 2017-01-10</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 9, "9"],
|
||||
["dlorenc", 3, "3"],
|
||||
["jonboulle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 145, "145"],
|
||||
["r2d4", 97, "97"],
|
||||
["jonboulle", 12, "12"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 1, "1"],
|
||||
["r2d4", 0, "0"],
|
||||
["jonboulle", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 13, "13"],
|
||||
["dlorenc", 8, "8"],
|
||||
["ankon", 2, "2"],
|
||||
["wxb0521", 2, "2"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["broady", 1, "1"],
|
||||
["feiskyer", 1, "1"],
|
||||
["gauthierbl", 1, "1"],
|
||||
["praveenkumar", 1, "1"],
|
||||
["glaubitz", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 267, "267"],
|
||||
["dlorenc", 182, "182"],
|
||||
["wxb0521", 64, "64"],
|
||||
["gauthierbl", 24, "24"],
|
||||
["broady", 14, "14"],
|
||||
["aaron-prindle", 13, "13"],
|
||||
["ankon", 4, "4"],
|
||||
["glaubitz", 3, "3"],
|
||||
["praveenkumar", 2, "2"],
|
||||
["feiskyer", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["dlorenc", 22, "22"],
|
||||
["gauthierbl", 19, "19"],
|
||||
["wxb0521", 15, "15"],
|
||||
["r2d4", 8, "8"],
|
||||
["broady", 7, "7"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["glaubitz", 2, "2"],
|
||||
["ankon", 1, "1"],
|
||||
["praveenkumar", 1, "1"],
|
||||
["feiskyer", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 12, "12"],
|
||||
["r2d4", 10, "10"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,439 @@
|
|||
---
|
||||
title: "v0.16.0 - 2017-02-02"
|
||||
linkTitle: "v0.16.0 - 2017-02-02"
|
||||
weight: -19
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-01-10 — 2017-02-02</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 8, "8"],
|
||||
["dlorenc", 4, "4"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["sebgoa", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 80, "80"],
|
||||
["aaron-prindle", 68, "68"],
|
||||
["dlorenc", 59, "59"],
|
||||
["sebgoa", 27, "27"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 4, "4"],
|
||||
["dlorenc", 4, "4"],
|
||||
["sebgoa", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 13, "13"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["dlorenc", 7, "7"],
|
||||
["stevesloka", 2, "2"],
|
||||
["s-urbaniak", 2, "2"],
|
||||
["rf232", 1, "1"],
|
||||
["fate-grand-order", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["bacongobbler", 1, "1"],
|
||||
["pbitty", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 500, "500"],
|
||||
["dlorenc", 266, "266"],
|
||||
["aaron-prindle", 100, "100"],
|
||||
["stevesloka", 48, "48"],
|
||||
["bacongobbler", 9, "9"],
|
||||
["rf232", 8, "8"],
|
||||
["s-urbaniak", 7, "7"],
|
||||
["jimmidyson", 6, "6"],
|
||||
["pbitty", 2, "2"],
|
||||
["fate-grand-order", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["dlorenc", 32, "32"],
|
||||
["r2d4", 21, "21"],
|
||||
["stevesloka", 12, "12"],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["bacongobbler", 9, "9"],
|
||||
["jimmidyson", 6, "6"],
|
||||
["rf232", 4, "4"],
|
||||
["s-urbaniak", 2, "2"],
|
||||
["pbitty", 1, "1"],
|
||||
["fate-grand-order", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 10, "10"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["dlorenc", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,463 @@
|
|||
---
|
||||
title: "v0.17.0 - 2017-03-02"
|
||||
linkTitle: "v0.17.0 - 2017-03-02"
|
||||
weight: -20
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-02-02 — 2017-03-02</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 19, "19"],
|
||||
["r2d4", 15, "15"],
|
||||
["dims", 3, "3"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["gbraad", 1, "1"],
|
||||
["imathews", 1, "1"],
|
||||
["s-urbaniak", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 488, "488"],
|
||||
["r2d4", 387, "387"],
|
||||
["aaron-prindle", 313, "313"],
|
||||
["imathews", 260, "260"],
|
||||
["dims", 47, "47"],
|
||||
["s-urbaniak", 14, "14"],
|
||||
["gbraad", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 22, "22"],
|
||||
["r2d4", 11, "11"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["dims", 1, "1"],
|
||||
["s-urbaniak", 0, "0"],
|
||||
["gbraad", 0, "0"],
|
||||
["imathews", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 32, "32"],
|
||||
["aaron-prindle", 15, "15"],
|
||||
["dongsupark", 6, "6"],
|
||||
["dlorenc", 5, "5"],
|
||||
["tvon", 3, "3"],
|
||||
["dims", 2, "2"],
|
||||
["ensonic", 2, "2"],
|
||||
["ankon", 2, "2"],
|
||||
["mshahat", 1, "1"],
|
||||
["metmajer", 1, "1"],
|
||||
["kjkurtz", 1, "1"],
|
||||
["puja108", 1, "1"],
|
||||
["bfallik", 1, "1"],
|
||||
["stevesloka", 1, "1"],
|
||||
["trishnaguha", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 4456, "4456"],
|
||||
["aaron-prindle", 844, "844"],
|
||||
["stevesloka", 269, "269"],
|
||||
["dongsupark", 128, "128"],
|
||||
["dlorenc", 93, "93"],
|
||||
["tvon", 65, "65"],
|
||||
["ensonic", 10, "10"],
|
||||
["GheRivero", 9, "9"],
|
||||
["dims", 8, "8"],
|
||||
["ankon", 7, "7"],
|
||||
["trishnaguha", 6, "6"],
|
||||
["mshahat", 3, "3"],
|
||||
["kirs", 2, "2"],
|
||||
["bfallik", 2, "2"],
|
||||
["kjkurtz", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["stevesloka", 257, "257"],
|
||||
["r2d4", 86, "86"],
|
||||
["aaron-prindle", 42, "42"],
|
||||
["dlorenc", 17, "17"],
|
||||
["dongsupark", 15, "15"],
|
||||
["GheRivero", 9, "9"],
|
||||
["trishnaguha", 6, "6"],
|
||||
["tvon", 6, "6"],
|
||||
["ensonic", 5, "5"],
|
||||
["mshahat", 3, "3"],
|
||||
["dims", 3, "3"],
|
||||
["kirs", 2, "2"],
|
||||
["ankon", 2, "2"],
|
||||
["bfallik", 1, "1"],
|
||||
["kjkurtz", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 9, "9"],
|
||||
["aaron-prindle", 9, "9"],
|
||||
["dlorenc", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,394 @@
|
|||
---
|
||||
title: "v0.17.1 - 2017-03-02"
|
||||
linkTitle: "v0.17.1 - 2017-03-02"
|
||||
weight: -21
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-03-02 — 2017-03-02</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,460 @@
|
|||
---
|
||||
title: "v0.18.0 - 2017-04-07"
|
||||
linkTitle: "v0.18.0 - 2017-04-07"
|
||||
weight: -22
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-03-02 — 2017-04-07</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 12, "12"],
|
||||
["aaron-prindle", 9, "9"],
|
||||
["dims", 3, "3"],
|
||||
["dlorenc", 3, "3"],
|
||||
["RichWellum", 1, "1"],
|
||||
["sdurrheimer", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 360, "360"],
|
||||
["dlorenc", 59, "59"],
|
||||
["aaron-prindle", 56, "56"],
|
||||
["sdurrheimer", 9, "9"],
|
||||
["dims", 7, "7"],
|
||||
["RichWellum", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 14, "14"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
["RichWellum", 1, "1"],
|
||||
["sdurrheimer", 1, "1"],
|
||||
["dims", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 29, "29"],
|
||||
["aaron-prindle", 6, "6"],
|
||||
["dlorenc", 3, "3"],
|
||||
["IxDay", 3, "3"],
|
||||
["razius", 1, "1"],
|
||||
["seeekr", 1, "1"],
|
||||
["dvoytik", 1, "1"],
|
||||
["ericchiang", 1, "1"],
|
||||
["sbellem", 1, "1"],
|
||||
["warmchang", 1, "1"],
|
||||
["e-max", 1, "1"],
|
||||
["kokhang", 1, "1"],
|
||||
["maciaszczykm", 1, "1"],
|
||||
["Calpicow", 1, "1"],
|
||||
["gtirloni", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 1320, "1320"],
|
||||
["aaron-prindle", 520, "520"],
|
||||
["dlorenc", 299, "299"],
|
||||
["Calpicow", 96, "96"],
|
||||
["IxDay", 91, "91"],
|
||||
["stevesloka", 53, "53"],
|
||||
["eden", 49, "49"],
|
||||
["e-max", 25, "25"],
|
||||
["dalehamel", 10, "10"],
|
||||
["maciaszczykm", 9, "9"],
|
||||
["ericchiang", 4, "4"],
|
||||
["kokhang", 4, "4"],
|
||||
["warmchang", 4, "4"],
|
||||
["razius", 3, "3"],
|
||||
["gtirloni", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["Calpicow", 95, "95"],
|
||||
["dlorenc", 92, "92"],
|
||||
["aaron-prindle", 56, "56"],
|
||||
["stevesloka", 49, "49"],
|
||||
["IxDay", 28, "28"],
|
||||
["eden", 28, "28"],
|
||||
["r2d4", 26, "26"],
|
||||
["e-max", 23, "23"],
|
||||
["dalehamel", 10, "10"],
|
||||
["maciaszczykm", 5, "5"],
|
||||
["kokhang", 4, "4"],
|
||||
["gtirloni", 3, "3"],
|
||||
["razius", 2, "2"],
|
||||
["warmchang", 2, "2"],
|
||||
["ericchiang", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 14, "14"],
|
||||
["aaron-prindle", 12, "12"],
|
||||
["dlorenc", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,454 @@
|
|||
---
|
||||
title: "v0.19.0 - 2017-05-09"
|
||||
linkTitle: "v0.19.0 - 2017-05-09"
|
||||
weight: -23
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-04-07 — 2017-05-09</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 14, "14"],
|
||||
["dlorenc", 13, "13"],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["jorgemoralespou", 1, "1"],
|
||||
["sampowers", 1, "1"],
|
||||
["HartS", 1, "1"],
|
||||
["naphthalene", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 521, "521"],
|
||||
["dlorenc", 510, "510"],
|
||||
["aaron-prindle", 237, "237"],
|
||||
["jorgemoralespou", 114, "114"],
|
||||
["HartS", 25, "25"],
|
||||
["sampowers", 24, "24"],
|
||||
["naphthalene", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 14, "14"],
|
||||
["r2d4", 13, "13"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["sampowers", 0, "0"],
|
||||
["HartS", 0, "0"],
|
||||
["naphthalene", 0, "0"],
|
||||
["jorgemoralespou", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 24, "24"],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["dlorenc", 10, "10"],
|
||||
["dalehamel", 4, "4"],
|
||||
["warmchang", 3, "3"],
|
||||
["foobarto", 1, "1"],
|
||||
["tgraf", 1, "1"],
|
||||
["etoews", 1, "1"],
|
||||
["bryanlarsen", 1, "1"],
|
||||
["siggy", 1, "1"],
|
||||
["mikegrass", 1, "1"],
|
||||
["alex-vlasov", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 2596, "2596"],
|
||||
["r2d4", 1712, "1712"],
|
||||
["dlorenc", 449, "449"],
|
||||
["dalehamel", 156, "156"],
|
||||
["tgraf", 66, "66"],
|
||||
["mikegrass", 26, "26"],
|
||||
["siggy", 12, "12"],
|
||||
["warmchang", 10, "10"],
|
||||
["bryanlarsen", 4, "4"],
|
||||
["alex-vlasov", 2, "2"],
|
||||
["etoews", 2, "2"],
|
||||
["foobarto", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["r2d4", 43, "43"],
|
||||
["tgraf", 35, "35"],
|
||||
["dlorenc", 33, "33"],
|
||||
["dalehamel", 32, "32"],
|
||||
["aaron-prindle", 28, "28"],
|
||||
["mikegrass", 18, "18"],
|
||||
["siggy", 6, "6"],
|
||||
["bryanlarsen", 2, "2"],
|
||||
["warmchang", 2, "2"],
|
||||
["foobarto", 1, "1"],
|
||||
["alex-vlasov", 1, "1"],
|
||||
["etoews", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 11, "11"],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["dlorenc", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,448 @@
|
|||
---
|
||||
title: "v0.19.1 - 2017-05-30"
|
||||
linkTitle: "v0.19.1 - 2017-05-30"
|
||||
weight: -24
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-05-09 — 2017-05-30</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["aaron-prindle", 6, "6"],
|
||||
["dlorenc", 4, "4"],
|
||||
["r2d4", 3, "3"],
|
||||
["omeid", 1, "1"],
|
||||
["dims", 1, "1"],
|
||||
["dalehamel", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 511, "511"],
|
||||
["dalehamel", 459, "459"],
|
||||
["r2d4", 376, "376"],
|
||||
["aaron-prindle", 48, "48"],
|
||||
["omeid", 37, "37"],
|
||||
["dims", 26, "26"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 15, "15"],
|
||||
["r2d4", 15, "15"],
|
||||
["dims", 2, "2"],
|
||||
["omeid", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["dalehamel", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["r2d4", 7, "7"],
|
||||
["dlorenc", 3, "3"],
|
||||
["ankon", 2, "2"],
|
||||
["SukantGujar", 1, "1"],
|
||||
["coolbrg", 1, "1"],
|
||||
["gianrubio", 1, "1"],
|
||||
["nkubala", 1, "1"],
|
||||
["maciaszczykm", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 1216, "1216"],
|
||||
["r2d4", 181, "181"],
|
||||
["dlorenc", 28, "28"],
|
||||
["coolbrg", 22, "22"],
|
||||
["nkubala", 16, "16"],
|
||||
["gianrubio", 12, "12"],
|
||||
["maciaszczykm", 8, "8"],
|
||||
["ankon", 4, "4"],
|
||||
["SukantGujar", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 120, "120"],
|
||||
["r2d4", 23, "23"],
|
||||
["coolbrg", 11, "11"],
|
||||
["nkubala", 8, "8"],
|
||||
["dlorenc", 6, "6"],
|
||||
["gianrubio", 6, "6"],
|
||||
["maciaszczykm", 4, "4"],
|
||||
["SukantGujar", 1, "1"],
|
||||
["ankon", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["markacola", 1, "1"],
|
||||
["r2d4", 1, "1"],
|
||||
["OrDuan", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 65, "65"],
|
||||
["markacola", 31, "31"],
|
||||
["OrDuan", 13, "13"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["aaron-prindle", 9, "9"],
|
||||
["dlorenc", 3, "3"],
|
||||
["r2d4", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,413 @@
|
|||
---
|
||||
title: "v0.2.0 - 2016-06-03"
|
||||
linkTitle: "v0.2.0 - 2016-06-03"
|
||||
weight: -1
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-05-30 — 2016-06-03</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["luxas", 8, "8"],
|
||||
["aaron-prindle", 6, "6"],
|
||||
["dlorenc", 5, "5"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 186, "186"],
|
||||
["luxas", 54, "54"],
|
||||
["aaron-prindle", 52, "52"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 4, "4"],
|
||||
["luxas", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 12, "12"],
|
||||
["aaron-prindle", 4, "4"],
|
||||
["heckdevice", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 275, "275"],
|
||||
["dlorenc", 256, "256"],
|
||||
["heckdevice", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 65, "65"],
|
||||
["dlorenc", 18, "18"],
|
||||
["heckdevice", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,460 @@
|
|||
---
|
||||
title: "v0.20.0 - 2017-06-21"
|
||||
linkTitle: "v0.20.0 - 2017-06-21"
|
||||
weight: -25
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-05-30 — 2017-06-21</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 8, "8"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["r2d4", 8, "8"],
|
||||
["praveenkumar", 1, "1"],
|
||||
["gbraad", 1, "1"],
|
||||
["andyp1per", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 457, "457"],
|
||||
["aaron-prindle", 432, "432"],
|
||||
["dlorenc", 195, "195"],
|
||||
["andyp1per", 25, "25"],
|
||||
["praveenkumar", 24, "24"],
|
||||
["gbraad", 8, "8"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 11, "11"],
|
||||
["dlorenc", 10, "10"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["praveenkumar", 1, "1"],
|
||||
["gbraad", 0, "0"],
|
||||
["andyp1per", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["dlorenc", 5, "5"],
|
||||
["r2d4", 4, "4"],
|
||||
["coolbrg", 2, "2"],
|
||||
["tdemaret", 2, "2"],
|
||||
["bacongobbler", 2, "2"],
|
||||
["rndstr", 1, "1"],
|
||||
["XrXr", 1, "1"],
|
||||
["abbytiz", 1, "1"],
|
||||
["michelleN", 1, "1"],
|
||||
["jamiehannaford", 1, "1"],
|
||||
["LalatenduMohanty", 1, "1"],
|
||||
["aknuds1", 1, "1"],
|
||||
["shaneramey", 1, "1"],
|
||||
["stevesloka", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["abbytiz", 374, "374"],
|
||||
["aaron-prindle", 237, "237"],
|
||||
["dlorenc", 172, "172"],
|
||||
["coolbrg", 84, "84"],
|
||||
["bacongobbler", 65, "65"],
|
||||
["r2d4", 53, "53"],
|
||||
["nkubala", 53, "53"],
|
||||
["shaneramey", 19, "19"],
|
||||
["tdemaret", 19, "19"],
|
||||
["LalatenduMohanty", 9, "9"],
|
||||
["aknuds1", 7, "7"],
|
||||
["rndstr", 6, "6"],
|
||||
["XrXr", 5, "5"],
|
||||
["jamiehannaford", 5, "5"],
|
||||
["michelleN", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["abbytiz", 370, "370"],
|
||||
["nkubala", 53, "53"],
|
||||
["aaron-prindle", 33, "33"],
|
||||
["bacongobbler", 31, "31"],
|
||||
["coolbrg", 21, "21"],
|
||||
["dlorenc", 11, "11"],
|
||||
["shaneramey", 10, "10"],
|
||||
["LalatenduMohanty", 9, "9"],
|
||||
["r2d4", 7, "7"],
|
||||
["tdemaret", 5, "5"],
|
||||
["XrXr", 5, "5"],
|
||||
["jamiehannaford", 5, "5"],
|
||||
["aknuds1", 3, "3"],
|
||||
["rndstr", 3, "3"],
|
||||
["runcom", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 13, "13"],
|
||||
["dlorenc", 6, "6"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,472 @@
|
|||
---
|
||||
title: "v0.21.0 - 2017-07-25"
|
||||
linkTitle: "v0.21.0 - 2017-07-25"
|
||||
weight: -26
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-06-21 — 2017-07-25</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 14, "14"],
|
||||
["r2d4", 8, "8"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["coolbrg", 1, "1"],
|
||||
["surajssd", 1, "1"],
|
||||
["javajon", 1, "1"],
|
||||
["medyagh", 1, "1"],
|
||||
["ash2k", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 596, "596"],
|
||||
["coolbrg", 392, "392"],
|
||||
["dlorenc", 294, "294"],
|
||||
["aaron-prindle", 234, "234"],
|
||||
["ash2k", 73, "73"],
|
||||
["surajssd", 26, "26"],
|
||||
["javajon", 15, "15"],
|
||||
["medyagh", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 12, "12"],
|
||||
["dlorenc", 8, "8"],
|
||||
["coolbrg", 1, "1"],
|
||||
["ash2k", 1, "1"],
|
||||
["surajssd", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["javajon", 0, "0"],
|
||||
["medyagh", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 27, "27"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["dlorenc", 3, "3"],
|
||||
["aledbf", 2, "2"],
|
||||
["q3aiml", 1, "1"],
|
||||
["alexpilotti", 1, "1"],
|
||||
["svanellewee", 1, "1"],
|
||||
["Teddy-Schmitz", 1, "1"],
|
||||
["kokhang", 1, "1"],
|
||||
["chenopis", 1, "1"],
|
||||
["stevesloka", 1, "1"],
|
||||
["DenisBiondic", 1, "1"],
|
||||
["jgoclawski", 1, "1"],
|
||||
["jwflory", 1, "1"],
|
||||
["marccarre", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 713, "713"],
|
||||
["aaron-prindle", 149, "149"],
|
||||
["dlorenc", 136, "136"],
|
||||
["svanellewee", 75, "75"],
|
||||
["stevesloka", 20, "20"],
|
||||
["tmc", 20, "20"],
|
||||
["Teddy-Schmitz", 16, "16"],
|
||||
["jgoclawski", 14, "14"],
|
||||
["chenopis", 9, "9"],
|
||||
["darkowlzz", 5, "5"],
|
||||
["jwflory", 4, "4"],
|
||||
["aledbf", 4, "4"],
|
||||
["marccarre", 3, "3"],
|
||||
["q3aiml", 3, "3"],
|
||||
["alexpilotti", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["svanellewee", 74, "74"],
|
||||
["dlorenc", 23, "23"],
|
||||
["r2d4", 17, "17"],
|
||||
["Teddy-Schmitz", 16, "16"],
|
||||
["stevesloka", 14, "14"],
|
||||
["tmc", 14, "14"],
|
||||
["aaron-prindle", 14, "14"],
|
||||
["jgoclawski", 11, "11"],
|
||||
["chenopis", 8, "8"],
|
||||
["darkowlzz", 5, "5"],
|
||||
["marccarre", 3, "3"],
|
||||
["jwflory", 2, "2"],
|
||||
["alexpilotti", 2, "2"],
|
||||
["DenisBiondic", 2, "2"],
|
||||
["kokhang", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["pmlt", 1, "1"],
|
||||
["huguesalary", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["huguesalary", 144, "144"],
|
||||
["pmlt", 117, "117"],
|
||||
["aaron-prindle", 43, "43"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 15, "15"],
|
||||
["aaron-prindle", 10, "10"],
|
||||
["dlorenc", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,484 @@
|
|||
---
|
||||
title: "v0.22.0 - 2017-09-07"
|
||||
linkTitle: "v0.22.0 - 2017-09-07"
|
||||
weight: -27
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-07-25 — 2017-09-07</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 15, "15"],
|
||||
["dlorenc", 15, "15"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["fabiand", 2, "2"],
|
||||
["zhaytee", 1, "1"],
|
||||
["zchee", 1, "1"],
|
||||
["erasmus74", 1, "1"],
|
||||
["gbraad", 1, "1"],
|
||||
["jcftang", 1, "1"],
|
||||
["aledbf", 1, "1"],
|
||||
["loosebazooka", 1, "1"],
|
||||
["andytom", 1, "1"],
|
||||
["spuranam", 1, "1"],
|
||||
["dragon3", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 749, "749"],
|
||||
["dlorenc", 567, "567"],
|
||||
["aledbf", 420, "420"],
|
||||
["zhaytee", 151, "151"],
|
||||
["aaron-prindle", 123, "123"],
|
||||
["dragon3", 109, "109"],
|
||||
["andytom", 82, "82"],
|
||||
["fabiand", 67, "67"],
|
||||
["zchee", 27, "27"],
|
||||
["gbraad", 24, "24"],
|
||||
["jcftang", 21, "21"],
|
||||
["spuranam", 18, "18"],
|
||||
["erasmus74", 13, "13"],
|
||||
["loosebazooka", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 38, "38"],
|
||||
["r2d4", 26, "26"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["andytom", 2, "2"],
|
||||
["fabiand", 0, "0"],
|
||||
["spuranam", 0, "0"],
|
||||
["jcftang", 0, "0"],
|
||||
["aledbf", 0, "0"],
|
||||
["zchee", 0, "0"],
|
||||
["zhaytee", 0, "0"],
|
||||
["loosebazooka", 0, "0"],
|
||||
["dragon3", 0, "0"],
|
||||
["erasmus74", 0, "0"],
|
||||
["gbraad", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 44, "44"],
|
||||
["dlorenc", 11, "11"],
|
||||
["aaron-prindle", 8, "8"],
|
||||
["asifdxtreme", 2, "2"],
|
||||
["warmchang", 1, "1"],
|
||||
["zouyee", 1, "1"],
|
||||
["msnelling", 1, "1"],
|
||||
["aledbf", 1, "1"],
|
||||
["chrissound", 1, "1"],
|
||||
["darkowlzz", 1, "1"],
|
||||
["stefano9o", 1, "1"],
|
||||
["hanks", 1, "1"],
|
||||
["tmjd", 1, "1"],
|
||||
["arschles", 1, "1"],
|
||||
["jiahao", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 5372, "5372"],
|
||||
["dlorenc", 1293, "1293"],
|
||||
["aaron-prindle", 326, "326"],
|
||||
["darkowlzz", 133, "133"],
|
||||
["Calpicow", 40, "40"],
|
||||
["hanks", 35, "35"],
|
||||
["arschles", 33, "33"],
|
||||
["chrissound", 21, "21"],
|
||||
["asifdxtreme", 16, "16"],
|
||||
["arthurbragaa", 6, "6"],
|
||||
["dragon3", 4, "4"],
|
||||
["abitrolly", 3, "3"],
|
||||
["Rajadeepan", 2, "2"],
|
||||
["tmjd", 2, "2"],
|
||||
["aledbf", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["darkowlzz", 128, "128"],
|
||||
["dlorenc", 103, "103"],
|
||||
["r2d4", 79, "79"],
|
||||
["aaron-prindle", 38, "38"],
|
||||
["arschles", 33, "33"],
|
||||
["hanks", 24, "24"],
|
||||
["Calpicow", 22, "22"],
|
||||
["chrissound", 17, "17"],
|
||||
["asifdxtreme", 6, "6"],
|
||||
["arthurbragaa", 3, "3"],
|
||||
["dragon3", 2, "2"],
|
||||
["tmjd", 2, "2"],
|
||||
["abitrolly", 2, "2"],
|
||||
["msnelling", 2, "2"],
|
||||
["samueldg", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 37, "37"],
|
||||
["dlorenc", 12, "12"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,410 @@
|
|||
---
|
||||
title: "v0.22.1 - 2017-09-11"
|
||||
linkTitle: "v0.22.1 - 2017-09-11"
|
||||
weight: -28
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-09-07 — 2017-09-11</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 183, "183"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 2, "2"],
|
||||
["krancour", 2, "2"],
|
||||
["corlettb", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["krancour", 250, "250"],
|
||||
["corlettb", 13, "13"],
|
||||
["aaron-prindle", 12, "12"],
|
||||
["r2d4", 8, "8"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["krancour", 95, "95"],
|
||||
["corlettb", 13, "13"],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["r2d4", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,419 @@
|
|||
---
|
||||
title: "v0.22.2 - 2017-09-18"
|
||||
linkTitle: "v0.22.2 - 2017-09-18"
|
||||
weight: -29
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-09-11 — 2017-09-18</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["arschles", 1, "1"],
|
||||
["kfaseela", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 71, "71"],
|
||||
["aaron-prindle", 42, "42"],
|
||||
["kfaseela", 22, "22"],
|
||||
["r2d4", 21, "21"],
|
||||
["arschles", 11, "11"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 6, "6"],
|
||||
["arschles", 2, "2"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["r2d4", 0, "0"],
|
||||
["kfaseela", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 9, "9"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["cdrage", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 1377, "1377"],
|
||||
["aaron-prindle", 17, "17"],
|
||||
["cdrage", 6, "6"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["r2d4", 114, "114"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["cdrage", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,448 @@
|
|||
---
|
||||
title: "v0.22.3 - 2017-10-06"
|
||||
linkTitle: "v0.22.3 - 2017-10-06"
|
||||
weight: -30
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-09-18 — 2017-10-06</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 9, "9"],
|
||||
["dlorenc", 6, "6"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["lawrencedudley", 1, "1"],
|
||||
["rhatdan", 1, "1"],
|
||||
["coolbrg", 1, "1"],
|
||||
["gbraad", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 912, "912"],
|
||||
["lawrencedudley", 179, "179"],
|
||||
["dlorenc", 122, "122"],
|
||||
["aaron-prindle", 20, "20"],
|
||||
["gbraad", 9, "9"],
|
||||
["rhatdan", 0, "0"],
|
||||
["coolbrg", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 20, "20"],
|
||||
["dlorenc", 8, "8"],
|
||||
["coolbrg", 1, "1"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["gbraad", 0, "0"],
|
||||
["lawrencedudley", 0, "0"],
|
||||
["rhatdan", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 7, "7"],
|
||||
["aaron-prindle", 4, "4"],
|
||||
["adolphlwq", 3, "3"],
|
||||
["praveenkumar", 2, "2"],
|
||||
["hirsim", 2, "2"],
|
||||
["vbatts", 1, "1"],
|
||||
["aledbf", 1, "1"],
|
||||
["yuvipanda", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
["nikolay", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 885, "885"],
|
||||
["vbatts", 379, "379"],
|
||||
["aaron-prindle", 257, "257"],
|
||||
["hirsim", 177, "177"],
|
||||
["praveenkumar", 51, "51"],
|
||||
["nikolay", 43, "43"],
|
||||
["adolphlwq", 37, "37"],
|
||||
["dlorenc", 6, "6"],
|
||||
["yuvipanda", 5, "5"],
|
||||
["aledbf", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["vbatts", 373, "373"],
|
||||
["r2d4", 86, "86"],
|
||||
["hirsim", 81, "81"],
|
||||
["aaron-prindle", 52, "52"],
|
||||
["nikolay", 21, "21"],
|
||||
["praveenkumar", 16, "16"],
|
||||
["adolphlwq", 6, "6"],
|
||||
["yuvipanda", 5, "5"],
|
||||
["dlorenc", 3, "3"],
|
||||
["aledbf", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["davefinster", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["davefinster", 148, "148"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 8, "8"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,472 @@
|
|||
---
|
||||
title: "v0.23.0 - 2017-10-26"
|
||||
linkTitle: "v0.23.0 - 2017-10-26"
|
||||
weight: -31
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-10-06 — 2017-10-26</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 9, "9"],
|
||||
["r2d4", 8, "8"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["agadelshin", 1, "1"],
|
||||
["medyagh", 1, "1"],
|
||||
["centromere", 1, "1"],
|
||||
["maciaszczykm", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 214, "214"],
|
||||
["dlorenc", 157, "157"],
|
||||
["maciaszczykm", 84, "84"],
|
||||
["medyagh", 52, "52"],
|
||||
["agadelshin", 28, "28"],
|
||||
["centromere", 6, "6"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
["r2d4", 2, "2"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["agadelshin", 0, "0"],
|
||||
["medyagh", 0, "0"],
|
||||
["centromere", 0, "0"],
|
||||
["maciaszczykm", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 12, "12"],
|
||||
["kairen", 3, "3"],
|
||||
["zouyee", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
["vbatts", 2, "2"],
|
||||
["jiahao", 1, "1"],
|
||||
["easeway", 1, "1"],
|
||||
["nikolay", 1, "1"],
|
||||
["zoidbergwill", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["emedvedev", 1, "1"],
|
||||
["priyawadhwa", 1, "1"],
|
||||
["rajansandeep", 1, "1"],
|
||||
["bryanlarsen", 1, "1"],
|
||||
["abitrolly", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["r2d4", 897, "897"],
|
||||
["rajansandeep", 179, "179"],
|
||||
["vbatts", 47, "47"],
|
||||
["kairen", 25, "25"],
|
||||
["aaron-prindle", 15, "15"],
|
||||
["bryanlarsen", 14, "14"],
|
||||
["zouyee", 14, "14"],
|
||||
["nikolay", 13, "13"],
|
||||
["dlorenc", 6, "6"],
|
||||
["easeway", 6, "6"],
|
||||
["jiahao", 4, "4"],
|
||||
["priyawadhwa", 4, "4"],
|
||||
["abitrolly", 2, "2"],
|
||||
["zoidbergwill", 2, "2"],
|
||||
["emedvedev", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["rajansandeep", 179, "179"],
|
||||
["r2d4", 64, "64"],
|
||||
["vbatts", 20, "20"],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["bryanlarsen", 11, "11"],
|
||||
["nikolay", 8, "8"],
|
||||
["kairen", 5, "5"],
|
||||
["zouyee", 3, "3"],
|
||||
["priyawadhwa", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
["jiahao", 2, "2"],
|
||||
["easeway", 1, "1"],
|
||||
["abitrolly", 1, "1"],
|
||||
["zoidbergwill", 1, "1"],
|
||||
["emedvedev", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["watzo", 2, "2"],
|
||||
["heygambo", 1, "1"],
|
||||
["ivanfioravanti", 1, "1"],
|
||||
["dkirrane", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["watzo", 26, "26"],
|
||||
["ivanfioravanti", 8, "8"],
|
||||
["heygambo", 7, "7"],
|
||||
["dkirrane", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 19, "19"],
|
||||
["r2d4", 12, "12"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["gbraad", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,483 @@
|
|||
---
|
||||
title: "v0.24.0 - 2017-11-29"
|
||||
linkTitle: "v0.24.0 - 2017-11-29"
|
||||
weight: -32
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-10-26 — 2017-11-29</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 19, "19"],
|
||||
["dlorenc", 6, "6"],
|
||||
["gbraad", 2, "2"],
|
||||
["patrikerdes", 1, "1"],
|
||||
["Kitanotori", 1, "1"],
|
||||
["jgoclawski", 1, "1"],
|
||||
["johnbelamaric", 1, "1"],
|
||||
["luxas", 1, "1"],
|
||||
["micdah", 1, "1"],
|
||||
["coolbrg", 1, "1"],
|
||||
["sabinthomas", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 991, "991"],
|
||||
["gbraad", 353, "353"],
|
||||
["jgoclawski", 116, "116"],
|
||||
["sabinthomas", 115, "115"],
|
||||
["patrikerdes", 111, "111"],
|
||||
["micdah", 99, "99"],
|
||||
["dlorenc", 90, "90"],
|
||||
["luxas", 23, "23"],
|
||||
["Kitanotori", 14, "14"],
|
||||
["johnbelamaric", 13, "13"],
|
||||
["coolbrg", 9, "9"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 22, "22"],
|
||||
["gbraad", 4, "4"],
|
||||
["luxas", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
["patrikerdes", 1, "1"],
|
||||
["johnbelamaric", 1, "1"],
|
||||
["jgoclawski", 0, "0"],
|
||||
["Kitanotori", 0, "0"],
|
||||
["sabinthomas", 0, "0"],
|
||||
["coolbrg", 0, "0"],
|
||||
["micdah", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["r2d4", 8, "8"],
|
||||
["dlorenc", 8, "8"],
|
||||
["kairen", 5, "5"],
|
||||
["ulyssessouza", 3, "3"],
|
||||
["patrikerdes", 2, "2"],
|
||||
["mahdix", 2, "2"],
|
||||
["maciaszczykm", 2, "2"],
|
||||
["aledbf", 1, "1"],
|
||||
["fabiand", 1, "1"],
|
||||
["priyawadhwa", 1, "1"],
|
||||
["rajansandeep", 1, "1"],
|
||||
["fntlnz", 1, "1"],
|
||||
["ijl", 1, "1"],
|
||||
["shaneramey", 1, "1"],
|
||||
["futureperfect", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["kairen", 744, "744"],
|
||||
["r2d4", 296, "296"],
|
||||
["praveenkumar", 215, "215"],
|
||||
["kenden", 199, "199"],
|
||||
["priyawadhwa", 192, "192"],
|
||||
["ulyssessouza", 74, "74"],
|
||||
["mahdix", 66, "66"],
|
||||
["dlorenc", 63, "63"],
|
||||
["rajansandeep", 36, "36"],
|
||||
["fntlnz", 23, "23"],
|
||||
["maciaszczykm", 16, "16"],
|
||||
["franzbeltran", 11, "11"],
|
||||
["patrikerdes", 8, "8"],
|
||||
["ijl", 6, "6"],
|
||||
["aledbf", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["praveenkumar", 214, "214"],
|
||||
["kenden", 189, "189"],
|
||||
["priyawadhwa", 150, "150"],
|
||||
["kairen", 143, "143"],
|
||||
["mahdix", 32, "32"],
|
||||
["r2d4", 25, "25"],
|
||||
["fntlnz", 23, "23"],
|
||||
["rajansandeep", 21, "21"],
|
||||
["ulyssessouza", 17, "17"],
|
||||
["franzbeltran", 10, "10"],
|
||||
["ijl", 6, "6"],
|
||||
["dlorenc", 6, "6"],
|
||||
["maciaszczykm", 4, "4"],
|
||||
["aledbf", 3, "3"],
|
||||
["patrikerdes", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["ghost", 1, "1"],
|
||||
["masroorhasan", 1, "1"],
|
||||
["ericmaia", 1, "1"],
|
||||
["dnascimento", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["ghost", 12, "12"],
|
||||
["dnascimento", 11, "11"],
|
||||
["masroorhasan", 4, "4"],
|
||||
["ericmaia", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 24, "24"],
|
||||
["dlorenc", 5, "5"],
|
||||
["gbraad", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,413 @@
|
|||
---
|
||||
title: "v0.24.1 - 2017-11-30"
|
||||
linkTitle: "v0.24.1 - 2017-11-30"
|
||||
weight: -33
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-11-29 — 2017-11-30</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 2, "2"],
|
||||
["gbraad", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 30, "30"],
|
||||
["gbraad", 11, "11"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 2, "2"],
|
||||
["gbraad", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 4, "4"],
|
||||
["priyawadhwa", 1, "1"],
|
||||
["r2d4", 1, "1"],
|
||||
["farcaller", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["priyawadhwa", 247, "247"],
|
||||
["r2d4", 92, "92"],
|
||||
["dlorenc", 79, "79"],
|
||||
["farcaller", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["priyawadhwa", 244, "244"],
|
||||
["r2d4", 63, "63"],
|
||||
["dlorenc", 17, "17"],
|
||||
["farcaller", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 10, "10"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,492 @@
|
|||
---
|
||||
title: "v0.25.0 - 2018-01-26"
|
||||
linkTitle: "v0.25.0 - 2018-01-26"
|
||||
weight: -34
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2017-11-30 — 2018-01-26</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 27, "27"],
|
||||
["dlorenc", 20, "20"],
|
||||
["mo-hit", 1, "1"],
|
||||
["mbarison", 1, "1"],
|
||||
["ahmetb", 1, "1"],
|
||||
["timoreimann", 1, "1"],
|
||||
["spiffxp", 1, "1"],
|
||||
["vbatts", 1, "1"],
|
||||
["th3fallen", 1, "1"],
|
||||
["haizaar", 1, "1"],
|
||||
["shebiki", 1, "1"],
|
||||
["jondlm", 1, "1"],
|
||||
["brentahughes", 1, "1"],
|
||||
["abitrolly", 1, "1"],
|
||||
["Pehesi97", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 361, "361"],
|
||||
["dlorenc", 337, "337"],
|
||||
["spiffxp", 177, "177"],
|
||||
["ahmetb", 171, "171"],
|
||||
["vbatts", 129, "129"],
|
||||
["haizaar", 34, "34"],
|
||||
["krancour", 22, "22"],
|
||||
["mo-hit", 19, "19"],
|
||||
["shebiki", 16, "16"],
|
||||
["jondlm", 14, "14"],
|
||||
["abitrolly", 13, "13"],
|
||||
["th3fallen", 13, "13"],
|
||||
["mbarison", 12, "12"],
|
||||
["Pehesi97", 7, "7"],
|
||||
["brentahughes", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 12, "12"],
|
||||
["dlorenc", 8, "8"],
|
||||
["ahmetb", 5, "5"],
|
||||
["spiffxp", 2, "2"],
|
||||
["shebiki", 0, "0"],
|
||||
["Pehesi97", 0, "0"],
|
||||
["th3fallen", 0, "0"],
|
||||
["haizaar", 0, "0"],
|
||||
["krancour", 0, "0"],
|
||||
["timoreimann", 0, "0"],
|
||||
["jondlm", 0, "0"],
|
||||
["abitrolly", 0, "0"],
|
||||
["mbarison", 0, "0"],
|
||||
["vbatts", 0, "0"],
|
||||
["mo-hit", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 13, "13"],
|
||||
["r2d4", 11, "11"],
|
||||
["kairen", 10, "10"],
|
||||
["ijl", 5, "5"],
|
||||
["afbjorklund", 4, "4"],
|
||||
["surajssd", 2, "2"],
|
||||
["lichen2013", 2, "2"],
|
||||
["spiffxp", 2, "2"],
|
||||
["mattnworb", 1, "1"],
|
||||
["redpanda", 1, "1"],
|
||||
["priyawadhwa", 1, "1"],
|
||||
["rumyantseva", 1, "1"],
|
||||
["southwolf", 1, "1"],
|
||||
["martinmosegaard", 1, "1"],
|
||||
["omeid", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 554, "554"],
|
||||
["kairen", 425, "425"],
|
||||
["ijl", 390, "390"],
|
||||
["r2d4", 136, "136"],
|
||||
["KristofMorva", 84, "84"],
|
||||
["braderhart", 67, "67"],
|
||||
["thockin", 50, "50"],
|
||||
["lichen2013", 28, "28"],
|
||||
["afbjorklund", 23, "23"],
|
||||
["surajssd", 20, "20"],
|
||||
["huguesalary", 16, "16"],
|
||||
["JohnVillalovos", 12, "12"],
|
||||
["bpasson", 12, "12"],
|
||||
["redpanda", 12, "12"],
|
||||
["zcahana", 10, "10"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["braderhart", 65, "65"],
|
||||
["KristofMorva", 42, "42"],
|
||||
["kairen", 39, "39"],
|
||||
["thockin", 25, "25"],
|
||||
["ijl", 24, "24"],
|
||||
["dlorenc", 23, "23"],
|
||||
["huguesalary", 16, "16"],
|
||||
["JohnVillalovos", 12, "12"],
|
||||
["redpanda", 12, "12"],
|
||||
["lichen2013", 12, "12"],
|
||||
["zcahana", 9, "9"],
|
||||
["bpasson", 8, "8"],
|
||||
["r2d4", 7, "7"],
|
||||
["priyawadhwa", 6, "6"],
|
||||
["rajansandeep", 5, "5"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["amnk", 1, "1"],
|
||||
["mdrougge", 1, "1"],
|
||||
["reymont", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["mdrougge", 30, "30"],
|
||||
["amnk", 28, "28"],
|
||||
["reymont", 7, "7"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 21, "21"],
|
||||
["dlorenc", 14, "14"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,485 @@
|
|||
---
|
||||
title: "v0.25.1 - 2018-03-21"
|
||||
linkTitle: "v0.25.1 - 2018-03-21"
|
||||
weight: -35
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-01-26 — 2018-03-21</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 17, "17"],
|
||||
["dlorenc", 15, "15"],
|
||||
["afbjorklund", 3, "3"],
|
||||
["praveenkumar", 2, "2"],
|
||||
["berrange", 1, "1"],
|
||||
["gbraad", 1, "1"],
|
||||
["frapposelli", 1, "1"],
|
||||
["coolbrg", 1, "1"],
|
||||
["the-redback", 1, "1"],
|
||||
["zhaytee", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["praveenkumar", 406, "406"],
|
||||
["dlorenc", 294, "294"],
|
||||
["r2d4", 166, "166"],
|
||||
["zhaytee", 145, "145"],
|
||||
["afbjorklund", 117, "117"],
|
||||
["frapposelli", 43, "43"],
|
||||
["coolbrg", 38, "38"],
|
||||
["the-redback", 25, "25"],
|
||||
["berrange", 16, "16"],
|
||||
["gbraad", 9, "9"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 3, "3"],
|
||||
["the-redback", 1, "1"],
|
||||
["berrange", 1, "1"],
|
||||
["praveenkumar", 0, "0"],
|
||||
["zhaytee", 0, "0"],
|
||||
["gbraad", 0, "0"],
|
||||
["frapposelli", 0, "0"],
|
||||
["r2d4", 0, "0"],
|
||||
["afbjorklund", 0, "0"],
|
||||
["coolbrg", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 7, "7"],
|
||||
["afbjorklund", 6, "6"],
|
||||
["anfernee", 5, "5"],
|
||||
["r2d4", 4, "4"],
|
||||
["coolbrg", 2, "2"],
|
||||
["AdamDang", 2, "2"],
|
||||
["adolphlwq", 2, "2"],
|
||||
["lichen2013", 1, "1"],
|
||||
["stepanstipl", 1, "1"],
|
||||
["Capstan", 1, "1"],
|
||||
["alimac", 1, "1"],
|
||||
["rfussien", 1, "1"],
|
||||
["mattkelly", 1, "1"],
|
||||
["langyxxl", 1, "1"],
|
||||
["colinhoglund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["anfernee", 1642, "1642"],
|
||||
["afbjorklund", 150, "150"],
|
||||
["lichen2013", 143, "143"],
|
||||
["dvdmuckle", 82, "82"],
|
||||
["coolbrg", 53, "53"],
|
||||
["jouve", 50, "50"],
|
||||
["dlorenc", 47, "47"],
|
||||
["adolphlwq", 42, "42"],
|
||||
["colinhoglund", 35, "35"],
|
||||
["r2d4", 20, "20"],
|
||||
["rajansandeep", 19, "19"],
|
||||
["fabiand", 18, "18"],
|
||||
["praveenkumar", 9, "9"],
|
||||
["stevesloka", 8, "8"],
|
||||
["pohly", 6, "6"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["anfernee", 198, "198"],
|
||||
["lichen2013", 109, "109"],
|
||||
["dvdmuckle", 82, "82"],
|
||||
["colinhoglund", 34, "34"],
|
||||
["jouve", 25, "25"],
|
||||
["afbjorklund", 20, "20"],
|
||||
["coolbrg", 19, "19"],
|
||||
["fabiand", 18, "18"],
|
||||
["adolphlwq", 10, "10"],
|
||||
["rajansandeep", 9, "9"],
|
||||
["praveenkumar", 9, "9"],
|
||||
["lenalebt", 4, "4"],
|
||||
["langyxxl", 4, "4"],
|
||||
["dlorenc", 4, "4"],
|
||||
["stevesloka", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["adamlith", 1, "1"],
|
||||
["dbwest", 1, "1"],
|
||||
["nogna", 1, "1"],
|
||||
["soluwalana", 1, "1"],
|
||||
["bit0rez", 1, "1"],
|
||||
["parasyte", 1, "1"],
|
||||
["d4nj0nes", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["bit0rez", 80, "80"],
|
||||
["parasyte", 29, "29"],
|
||||
["dbwest", 28, "28"],
|
||||
["soluwalana", 14, "14"],
|
||||
["d4nj0nes", 0, "0"],
|
||||
["adamlith", 0, "0"],
|
||||
["nogna", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 17, "17"],
|
||||
["dlorenc", 11, "11"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,399 @@
|
|||
---
|
||||
title: "v0.25.2 - 2018-03-22"
|
||||
linkTitle: "v0.25.2 - 2018-03-22"
|
||||
weight: -36
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-03-21 — 2018-03-22</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["dlorenc", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["sunvooker", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["sunvooker", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,433 @@
|
|||
---
|
||||
title: "v0.26.0 - 2018-04-10"
|
||||
linkTitle: "v0.26.0 - 2018-04-10"
|
||||
weight: -37
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-03-22 — 2018-04-10</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["r2d4", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 15, "15"],
|
||||
["r2d4", 8, "8"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 1, "1"],
|
||||
["dlorenc", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
["AdamDang", 2, "2"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["thockin", 1, "1"],
|
||||
["r2d4", 1, "1"],
|
||||
["oilbeater", 1, "1"],
|
||||
["christofdamian", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 222, "222"],
|
||||
["afbjorklund", 51, "51"],
|
||||
["thockin", 18, "18"],
|
||||
["AdamDang", 8, "8"],
|
||||
["christofdamian", 4, "4"],
|
||||
["r2d4", 2, "2"],
|
||||
["oilbeater", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["dlorenc", 30, "30"],
|
||||
["afbjorklund", 24, "24"],
|
||||
["thockin", 9, "9"],
|
||||
["christofdamian", 3, "3"],
|
||||
["AdamDang", 2, "2"],
|
||||
["r2d4", 1, "1"],
|
||||
["oilbeater", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["afbjorklund", 2, "2"],
|
||||
["Amith211", 1, "1"],
|
||||
["david-jarman", 1, "1"],
|
||||
["k-modi", 1, "1"],
|
||||
["amouat", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["amouat", 53, "53"],
|
||||
["afbjorklund", 50, "50"],
|
||||
["Amith211", 0, "0"],
|
||||
["david-jarman", 0, "0"],
|
||||
["k-modi", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["r2d4", 4, "4"],
|
||||
["dlorenc", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,439 @@
|
|||
---
|
||||
title: "v0.26.1 - 2018-04-17"
|
||||
linkTitle: "v0.26.1 - 2018-04-17"
|
||||
weight: -38
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-04-10 — 2018-04-17</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 3, "3"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["gbraad", 1, "1"],
|
||||
["r2d4", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["afbjorklund", 73, "73"],
|
||||
["dlorenc", 21, "21"],
|
||||
["gbraad", 17, "17"],
|
||||
["r2d4", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["afbjorklund", 0, "0"],
|
||||
["gbraad", 0, "0"],
|
||||
["r2d4", 0, "0"],
|
||||
["dlorenc", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 4, "4"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["rohitagarwal003", 1, "1"],
|
||||
["AdamDang", 1, "1"],
|
||||
["awalker125", 1, "1"],
|
||||
["volkertb", 1, "1"],
|
||||
["Jokero", 1, "1"],
|
||||
["xianlubird", 1, "1"],
|
||||
["anfernee", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["anfernee", 101, "101"],
|
||||
["afbjorklund", 33, "33"],
|
||||
["dlorenc", 28, "28"],
|
||||
["xianlubird", 6, "6"],
|
||||
["awalker125", 4, "4"],
|
||||
["rohitagarwal003", 2, "2"],
|
||||
["volkertb", 2, "2"],
|
||||
["AdamDang", 2, "2"],
|
||||
["Jokero", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["anfernee", 101, "101"],
|
||||
["afbjorklund", 11, "11"],
|
||||
["dlorenc", 4, "4"],
|
||||
["xianlubird", 3, "3"],
|
||||
["awalker125", 2, "2"],
|
||||
["Jokero", 1, "1"],
|
||||
["rohitagarwal003", 1, "1"],
|
||||
["volkertb", 1, "1"],
|
||||
["AdamDang", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["sshilko", 1, "1"],
|
||||
["n-gauthier-novo", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["sshilko", 36, "36"],
|
||||
["n-gauthier-novo", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 4, "4"],
|
||||
["gbraad", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,433 @@
|
|||
---
|
||||
title: "v0.27.0 - 2018-05-14"
|
||||
linkTitle: "v0.27.0 - 2018-05-14"
|
||||
weight: -39
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-04-17 — 2018-05-14</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 20, "20"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["AdamDang", 4, "4"],
|
||||
["dlorenc", 4, "4"],
|
||||
["aledbf", 2, "2"],
|
||||
["kairen", 1, "1"],
|
||||
["denverdino", 1, "1"],
|
||||
["PI-Victor", 1, "1"],
|
||||
["arnaudmz", 1, "1"],
|
||||
["viteksafronov", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 63, "63"],
|
||||
["aledbf", 20, "20"],
|
||||
["arnaudmz", 19, "19"],
|
||||
["AdamDang", 12, "12"],
|
||||
["kairen", 12, "12"],
|
||||
["denverdino", 4, "4"],
|
||||
["PI-Victor", 2, "2"],
|
||||
["viteksafronov", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["arnaudmz", 19, "19"],
|
||||
["dlorenc", 13, "13"],
|
||||
["kairen", 6, "6"],
|
||||
["aledbf", 5, "5"],
|
||||
["denverdino", 2, "2"],
|
||||
["PI-Victor", 2, "2"],
|
||||
["viteksafronov", 1, "1"],
|
||||
["AdamDang", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["fenos", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["kisadam", 1, "1"],
|
||||
["Josefczak", 1, "1"],
|
||||
["goldsam", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["aaron-prindle", 40, "40"],
|
||||
["fenos", 7, "7"],
|
||||
["Josefczak", 0, "0"],
|
||||
["goldsam", 0, "0"],
|
||||
["kisadam", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 6, "6"],
|
||||
["gbraad", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,467 @@
|
|||
---
|
||||
title: "v0.28.0 - 2018-06-13"
|
||||
linkTitle: "v0.28.0 - 2018-06-13"
|
||||
weight: -40
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-05-14 — 2018-06-13</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 14, "14"],
|
||||
["r2d4", 2, "2"],
|
||||
["gbraad", 2, "2"],
|
||||
["pgandhipfpt", 1, "1"],
|
||||
["rohitagarwal003", 1, "1"],
|
||||
["ivan-section-io", 1, "1"],
|
||||
["praveenkumar", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 365, "365"],
|
||||
["pgandhipfpt", 233, "233"],
|
||||
["praveenkumar", 166, "166"],
|
||||
["ivan-section-io", 146, "146"],
|
||||
["gbraad", 88, "88"],
|
||||
["r2d4", 14, "14"],
|
||||
["rohitagarwal003", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 9, "9"],
|
||||
["r2d4", 1, "1"],
|
||||
["rohitagarwal003", 1, "1"],
|
||||
["ivan-section-io", 1, "1"],
|
||||
["gbraad", 1, "1"],
|
||||
["praveenkumar", 0, "0"],
|
||||
["pgandhipfpt", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 9, "9"],
|
||||
["mirake", 3, "3"],
|
||||
["mrostecki", 3, "3"],
|
||||
["ivan-section-io", 2, "2"],
|
||||
["rajansandeep", 2, "2"],
|
||||
["kairen", 2, "2"],
|
||||
["ijl", 2, "2"],
|
||||
["mlgibbons", 2, "2"],
|
||||
["maiksensi", 1, "1"],
|
||||
["brb", 1, "1"],
|
||||
["liyongxin", 1, "1"],
|
||||
["seborama", 1, "1"],
|
||||
["AdamDang", 1, "1"],
|
||||
["rohitagarwal003", 1, "1"],
|
||||
["rdxmb", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["ijl", 180, "180"],
|
||||
["seborama", 152, "152"],
|
||||
["dlorenc", 123, "123"],
|
||||
["mlgibbons", 100, "100"],
|
||||
["kairen", 19, "19"],
|
||||
["mrostecki", 17, "17"],
|
||||
["rajansandeep", 12, "12"],
|
||||
["rohitagarwal003", 8, "8"],
|
||||
["ivan-section-io", 7, "7"],
|
||||
["mirake", 6, "6"],
|
||||
["brb", 3, "3"],
|
||||
["AdamDang", 2, "2"],
|
||||
["liyongxin", 2, "2"],
|
||||
["davidxia", 2, "2"],
|
||||
["maiksensi", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["seborama", 144, "144"],
|
||||
["mlgibbons", 36, "36"],
|
||||
["ijl", 16, "16"],
|
||||
["dlorenc", 7, "7"],
|
||||
["kairen", 5, "5"],
|
||||
["rajansandeep", 4, "4"],
|
||||
["rohitagarwal003", 3, "3"],
|
||||
["mrostecki", 3, "3"],
|
||||
["brb", 3, "3"],
|
||||
["ivan-section-io", 2, "2"],
|
||||
["davidxia", 2, "2"],
|
||||
["maiksensi", 1, "1"],
|
||||
["rdxmb", 1, "1"],
|
||||
["mirake", 1, "1"],
|
||||
["AdamDang", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["alphabt", 1, "1"],
|
||||
["gavinheaden", 1, "1"],
|
||||
["cwchapma", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["alphabt", 3, "3"],
|
||||
["gavinheaden", 0, "0"],
|
||||
["cwchapma", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 10, "10"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,458 @@
|
|||
---
|
||||
title: "v0.28.1 - 2018-07-16"
|
||||
linkTitle: "v0.28.1 - 2018-07-16"
|
||||
weight: -41
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-06-13 — 2018-07-16</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 9, "9"],
|
||||
["vishh", 1, "1"],
|
||||
["Arnavion", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 88, "88"],
|
||||
["vishh", 52, "52"],
|
||||
["jimmidyson", 44, "44"],
|
||||
["Arnavion", 40, "40"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["Arnavion", 2, "2"],
|
||||
["dlorenc", 1, "1"],
|
||||
["jimmidyson", 0, "0"],
|
||||
["vishh", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 4, "4"],
|
||||
["tanakapayam", 3, "3"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["davidxia", 1, "1"],
|
||||
["lukeweber", 1, "1"],
|
||||
["awesley", 1, "1"],
|
||||
["rohitagarwal003", 1, "1"],
|
||||
["aledbf", 1, "1"],
|
||||
["ansiwen", 1, "1"],
|
||||
["commitay", 1, "1"],
|
||||
["petertrotman", 1, "1"],
|
||||
["suntorytimed", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["rohitagarwal003", 529, "529"],
|
||||
["dlorenc", 163, "163"],
|
||||
["ansiwen", 134, "134"],
|
||||
["aaron-prindle", 28, "28"],
|
||||
["commitay", 20, "20"],
|
||||
["tanakapayam", 17, "17"],
|
||||
["awesley", 10, "10"],
|
||||
["aledbf", 10, "10"],
|
||||
["petertrotman", 8, "8"],
|
||||
["lukeweber", 6, "6"],
|
||||
["davidxia", 2, "2"],
|
||||
["suntorytimed", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["rohitagarwal003", 525, "525"],
|
||||
["ansiwen", 134, "134"],
|
||||
["dlorenc", 16, "16"],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["aledbf", 9, "9"],
|
||||
["awesley", 8, "8"],
|
||||
["petertrotman", 6, "6"],
|
||||
["commitay", 4, "4"],
|
||||
["tanakapayam", 4, "4"],
|
||||
["lukeweber", 3, "3"],
|
||||
["suntorytimed", 1, "1"],
|
||||
["davidxia", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["adampl", 1, "1"],
|
||||
["Diggsey", 1, "1"],
|
||||
["amarof", 1, "1"],
|
||||
["aleksandrov", 1, "1"],
|
||||
["ptink", 1, "1"],
|
||||
["AmeyK-Globant", 1, "1"],
|
||||
["dogonthehorizon", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["adampl", 67, "67"],
|
||||
["dogonthehorizon", 23, "23"],
|
||||
["ptink", 22, "22"],
|
||||
["Diggsey", 11, "11"],
|
||||
["AmeyK-Globant", 9, "9"],
|
||||
["amarof", 0, "0"],
|
||||
["aleksandrov", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 10, "10"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,423 @@
|
|||
---
|
||||
title: "v0.28.2 - 2018-07-23"
|
||||
linkTitle: "v0.28.2 - 2018-07-23"
|
||||
weight: -42
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-07-16 — 2018-07-23</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 2, "2"],
|
||||
["vishh", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["aaron-prindle", 19, "19"],
|
||||
["dlorenc", 15, "15"],
|
||||
["vishh", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["vishh", 0, "0"],
|
||||
["dlorenc", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
["rohitagarwal003", 2, "2"],
|
||||
["kairen", 1, "1"],
|
||||
["dustyrip", 1, "1"],
|
||||
["kkaneda", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 196, "196"],
|
||||
["kairen", 118, "118"],
|
||||
["rohitagarwal003", 45, "45"],
|
||||
["dustyrip", 2, "2"],
|
||||
["kkaneda", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["kairen", 116, "116"],
|
||||
["dlorenc", 25, "25"],
|
||||
["rohitagarwal003", 8, "8"],
|
||||
["dustyrip", 2, "2"],
|
||||
["kkaneda", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["ekimia", 2, "2"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["ekimia", 83, "83"],
|
||||
["dlorenc", 18, "18"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 7, "7"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,498 @@
|
|||
---
|
||||
title: "v0.29.0 - 2018-09-27"
|
||||
linkTitle: "v0.29.0 - 2018-09-27"
|
||||
weight: -43
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-07-23 — 2018-09-27</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 17, "17"],
|
||||
["zchee", 1, "1"],
|
||||
["r2d4", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
["crosbymichael", 1, "1"],
|
||||
["neolit123", 1, "1"],
|
||||
["stantonxu", 1, "1"],
|
||||
["luxas", 1, "1"],
|
||||
["gbraad", 1, "1"],
|
||||
["alexellis", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 212, "212"],
|
||||
["stantonxu", 65, "65"],
|
||||
["gbraad", 58, "58"],
|
||||
["r2d4", 48, "48"],
|
||||
["alexellis", 43, "43"],
|
||||
["neolit123", 11, "11"],
|
||||
["zchee", 11, "11"],
|
||||
["luxas", 7, "7"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["crosbymichael", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["r2d4", 3, "3"],
|
||||
["dlorenc", 3, "3"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["crosbymichael", 0, "0"],
|
||||
["luxas", 0, "0"],
|
||||
["stantonxu", 0, "0"],
|
||||
["gbraad", 0, "0"],
|
||||
["alexellis", 0, "0"],
|
||||
["zchee", 0, "0"],
|
||||
["neolit123", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 6, "6"],
|
||||
["rajansandeep", 3, "3"],
|
||||
["r2d4", 3, "3"],
|
||||
["aude", 2, "2"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["wangxy518", 2, "2"],
|
||||
["viteksafronov", 1, "1"],
|
||||
["jeefy", 1, "1"],
|
||||
["jcxplorer", 1, "1"],
|
||||
["peak-load", 1, "1"],
|
||||
["cpixl", 1, "1"],
|
||||
["praveenkumar", 1, "1"],
|
||||
["jstangroome", 1, "1"],
|
||||
["NsLib", 1, "1"],
|
||||
["mirake", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 3891, "3891"],
|
||||
["praveenkumar", 340, "340"],
|
||||
["yanxuean", 201, "201"],
|
||||
["dlorenc", 132, "132"],
|
||||
["doodlesbykumbi", 99, "99"],
|
||||
["afbjorklund", 75, "75"],
|
||||
["viteksafronov", 64, "64"],
|
||||
["jstangroome", 48, "48"],
|
||||
["aude", 28, "28"],
|
||||
["tijsg", 28, "28"],
|
||||
["rajansandeep", 17, "17"],
|
||||
["peak-load", 17, "17"],
|
||||
["jeefy", 10, "10"],
|
||||
["wangxy518", 8, "8"],
|
||||
["r2d4", 8, "8"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["yanxuean", 201, "201"],
|
||||
["doodlesbykumbi", 86, "86"],
|
||||
["aaron-prindle", 65, "65"],
|
||||
["viteksafronov", 63, "63"],
|
||||
["jstangroome", 42, "42"],
|
||||
["tijsg", 26, "26"],
|
||||
["afbjorklund", 18, "18"],
|
||||
["peak-load", 17, "17"],
|
||||
["praveenkumar", 14, "14"],
|
||||
["aude", 8, "8"],
|
||||
["dlorenc", 7, "7"],
|
||||
["jeefy", 5, "5"],
|
||||
["bmwiedemann", 4, "4"],
|
||||
["Daemeron", 4, "4"],
|
||||
["rajansandeep", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["maxmarkus", 3, "3"],
|
||||
["jpswade", 2, "2"],
|
||||
["ghost", 2, "2"],
|
||||
["satish860", 1, "1"],
|
||||
["jamesrom", 1, "1"],
|
||||
["Kerwood", 1, "1"],
|
||||
["afbjorklund", 1, "1"],
|
||||
["hadrien-toma", 1, "1"],
|
||||
["mahasen-mitra", 1, "1"],
|
||||
["sasiezilmadhavan", 1, "1"],
|
||||
["chkeita", 1, "1"],
|
||||
["bw2", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 176, "176"],
|
||||
["maxmarkus", 144, "144"],
|
||||
["hadrien-toma", 21, "21"],
|
||||
["afbjorklund", 20, "20"],
|
||||
["Kerwood", 14, "14"],
|
||||
["jpswade", 12, "12"],
|
||||
["sasiezilmadhavan", 7, "7"],
|
||||
["bw2", 7, "7"],
|
||||
["mahasen-mitra", 4, "4"],
|
||||
["satish860", 0, "0"],
|
||||
["chkeita", 0, "0"],
|
||||
["ghost", 0, "0"],
|
||||
["jamesrom", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 49, "49"],
|
||||
["dlorenc", 7, "7"],
|
||||
["balopat", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,420 @@
|
|||
---
|
||||
title: "v0.3.0 - 2016-06-10"
|
||||
linkTitle: "v0.3.0 - 2016-06-10"
|
||||
weight: -2
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-06-03 — 2016-06-10</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["luxas", 15, "15"],
|
||||
["dlorenc", 6, "6"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["philips", 2, "2"],
|
||||
["vishh", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 577, "577"],
|
||||
["luxas", 332, "332"],
|
||||
["vishh", 165, "165"],
|
||||
["aaron-prindle", 15, "15"],
|
||||
["philips", 14, "14"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 14, "14"],
|
||||
["vishh", 10, "10"],
|
||||
["luxas", 7, "7"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["philips", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 16, "16"],
|
||||
["aaron-prindle", 6, "6"],
|
||||
["philips", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 724, "724"],
|
||||
["dlorenc", 263, "263"],
|
||||
["philips", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 118, "118"],
|
||||
["dlorenc", 12, "12"],
|
||||
["philips", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["luxas", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,450 @@
|
|||
---
|
||||
title: "v0.30.0 - 2018-10-05"
|
||||
linkTitle: "v0.30.0 - 2018-10-05"
|
||||
weight: -44
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-09-27 — 2018-10-05</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["balopat", 3, "3"],
|
||||
["gbraad", 1, "1"],
|
||||
["davidovich", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 269, "269"],
|
||||
["davidovich", 226, "226"],
|
||||
["tstromberg", 84, "84"],
|
||||
["gbraad", 8, "8"],
|
||||
["dlorenc", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 11, "11"],
|
||||
["tstromberg", 5, "5"],
|
||||
["gbraad", 3, "3"],
|
||||
["davidovich", 1, "1"],
|
||||
["dlorenc", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 7, "7"],
|
||||
["afbjorklund", 4, "4"],
|
||||
["diazjf", 1, "1"],
|
||||
["balopat", 1, "1"],
|
||||
["samuela", 1, "1"],
|
||||
["ansiwen", 1, "1"],
|
||||
["oilbeater", 1, "1"],
|
||||
["mrbobbytables", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
["mheese", 1, "1"],
|
||||
["rrampage", 1, "1"],
|
||||
["davidovich", 1, "1"],
|
||||
["mirake", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["tstromberg", 466, "466"],
|
||||
["mheese", 251, "251"],
|
||||
["diazjf", 204, "204"],
|
||||
["afbjorklund", 90, "90"],
|
||||
["ansiwen", 73, "73"],
|
||||
["balopat", 16, "16"],
|
||||
["mrbobbytables", 4, "4"],
|
||||
["davidovich", 2, "2"],
|
||||
["oilbeater", 2, "2"],
|
||||
["samuela", 2, "2"],
|
||||
["mirake", 2, "2"],
|
||||
["rrampage", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["mheese", 208, "208"],
|
||||
["diazjf", 187, "187"],
|
||||
["ansiwen", 46, "46"],
|
||||
["tstromberg", 39, "39"],
|
||||
["balopat", 13, "13"],
|
||||
["afbjorklund", 8, "8"],
|
||||
["mrbobbytables", 2, "2"],
|
||||
["davidovich", 2, "2"],
|
||||
["rrampage", 1, "1"],
|
||||
["samuela", 1, "1"],
|
||||
["mirake", 1, "1"],
|
||||
["oilbeater", 1, "1"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,508 @@
|
|||
---
|
||||
title: "v0.31.0 - 2018-12-10"
|
||||
linkTitle: "v0.31.0 - 2018-12-10"
|
||||
weight: -45
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-10-05 — 2018-12-10</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["balopat", 16, "16"],
|
||||
["tstromberg", 8, "8"],
|
||||
["dlorenc", 4, "4"],
|
||||
["RA489", 3, "3"],
|
||||
["afbjorklund", 3, "3"],
|
||||
["paultiplady", 1, "1"],
|
||||
["harpratap", 1, "1"],
|
||||
["aledbf", 1, "1"],
|
||||
["jakefeasel", 1, "1"],
|
||||
["ianlewis", 1, "1"],
|
||||
["omeid", 1, "1"],
|
||||
["bhack", 1, "1"],
|
||||
["bw2", 1, "1"],
|
||||
["fvoznika", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 585, "585"],
|
||||
["balopat", 489, "489"],
|
||||
["afbjorklund", 235, "235"],
|
||||
["ianlewis", 204, "204"],
|
||||
["dlorenc", 98, "98"],
|
||||
["jakefeasel", 55, "55"],
|
||||
["harpratap", 52, "52"],
|
||||
["bw2", 47, "47"],
|
||||
["fvoznika", 41, "41"],
|
||||
["bhack", 36, "36"],
|
||||
["RA489", 34, "34"],
|
||||
["aledbf", 21, "21"],
|
||||
["omeid", 21, "21"],
|
||||
["paultiplady", 13, "13"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 29, "29"],
|
||||
["tstromberg", 23, "23"],
|
||||
["ianlewis", 12, "12"],
|
||||
["fvoznika", 4, "4"],
|
||||
["dlorenc", 4, "4"],
|
||||
["RA489", 3, "3"],
|
||||
["jakefeasel", 1, "1"],
|
||||
["aledbf", 1, "1"],
|
||||
["bw2", 0, "0"],
|
||||
["paultiplady", 0, "0"],
|
||||
["harpratap", 0, "0"],
|
||||
["bhack", 0, "0"],
|
||||
["omeid", 0, "0"],
|
||||
["afbjorklund", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 34, "34"],
|
||||
["balopat", 7, "7"],
|
||||
["priyawadhwa", 5, "5"],
|
||||
["afbjorklund", 3, "3"],
|
||||
["mooncak", 2, "2"],
|
||||
["xichengliudui", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
["idvoretskyi", 1, "1"],
|
||||
["Twister915", 1, "1"],
|
||||
["alexanderilyin", 1, "1"],
|
||||
["diazjf", 1, "1"],
|
||||
["SataQiu", 1, "1"],
|
||||
["anfernee", 1, "1"],
|
||||
["Pensu", 1, "1"],
|
||||
["AkihiroSuda", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["balopat", 4991, "4991"],
|
||||
["tstromberg", 1472, "1472"],
|
||||
["priyawadhwa", 955, "955"],
|
||||
["dlorenc", 469, "469"],
|
||||
["afbjorklund", 107, "107"],
|
||||
["Twister915", 72, "72"],
|
||||
["outcoldman", 62, "62"],
|
||||
["idvoretskyi", 22, "22"],
|
||||
["mooncak", 10, "10"],
|
||||
["prakgoya", 9, "9"],
|
||||
["mikeweiwei", 6, "6"],
|
||||
["jayunit100", 5, "5"],
|
||||
["anfernee", 4, "4"],
|
||||
["SataQiu", 4, "4"],
|
||||
["truongnh1992", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["balopat", 682, "682"],
|
||||
["priyawadhwa", 183, "183"],
|
||||
["Twister915", 65, "65"],
|
||||
["outcoldman", 58, "58"],
|
||||
["afbjorklund", 31, "31"],
|
||||
["tstromberg", 28, "28"],
|
||||
["idvoretskyi", 11, "11"],
|
||||
["prakgoya", 9, "9"],
|
||||
["mikeweiwei", 3, "3"],
|
||||
["jayunit100", 3, "3"],
|
||||
["anfernee", 3, "3"],
|
||||
["mooncak", 2, "2"],
|
||||
["truongnh1992", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
["AkihiroSuda", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["chenleji", 1, "1"],
|
||||
["coreywagehoft", 1, "1"],
|
||||
["pchico83", 1, "1"],
|
||||
["itaysk", 1, "1"],
|
||||
["sshilko", 1, "1"],
|
||||
["nmabhinandan", 1, "1"],
|
||||
["ms-choudhary", 1, "1"],
|
||||
["Place1", 1, "1"],
|
||||
["iambp", 1, "1"],
|
||||
["tamalsaha", 1, "1"],
|
||||
["narg95", 1, "1"],
|
||||
["balopat", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["ms-choudhary", 63, "63"],
|
||||
["chenleji", 58, "58"],
|
||||
["iambp", 57, "57"],
|
||||
["pchico83", 29, "29"],
|
||||
["Place1", 25, "25"],
|
||||
["nmabhinandan", 22, "22"],
|
||||
["balopat", 15, "15"],
|
||||
["narg95", 14, "14"],
|
||||
["sshilko", 5, "5"],
|
||||
["tamalsaha", 5, "5"],
|
||||
["itaysk", 3, "3"],
|
||||
["coreywagehoft", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 28, "28"],
|
||||
["balopat", 10, "10"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,439 @@
|
|||
---
|
||||
title: "v0.32.0 - 2018-12-21"
|
||||
linkTitle: "v0.32.0 - 2018-12-21"
|
||||
weight: -46
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-12-10 — 2018-12-21</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["balopat", 3, "3"],
|
||||
["RA489", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 131, "131"],
|
||||
["RA489", 38, "38"],
|
||||
["tstromberg", 16, "16"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 0, "0"],
|
||||
["balopat", 0, "0"],
|
||||
["RA489", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["balopat", 3, "3"],
|
||||
["priyawadhwa", 2, "2"],
|
||||
["tstromberg", 2, "2"],
|
||||
["alasdairtran", 1, "1"],
|
||||
["JoeWrightss", 1, "1"],
|
||||
["clocklear", 1, "1"],
|
||||
["ceache", 1, "1"],
|
||||
["RA489", 1, "1"],
|
||||
["ceason", 1, "1"],
|
||||
["jeefy", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["priyawadhwa", 106, "106"],
|
||||
["balopat", 40, "40"],
|
||||
["jeefy", 10, "10"],
|
||||
["ceason", 8, "8"],
|
||||
["tstromberg", 7, "7"],
|
||||
["alasdairtran", 3, "3"],
|
||||
["ceache", 2, "2"],
|
||||
["clocklear", 2, "2"],
|
||||
["RA489", 2, "2"],
|
||||
["JoeWrightss", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["priyawadhwa", 35, "35"],
|
||||
["ceason", 7, "7"],
|
||||
["balopat", 6, "6"],
|
||||
["jeefy", 5, "5"],
|
||||
["alasdairtran", 3, "3"],
|
||||
["tstromberg", 2, "2"],
|
||||
["clocklear", 2, "2"],
|
||||
["RA489", 1, "1"],
|
||||
["ceache", 1, "1"],
|
||||
["JoeWrightss", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["it-monkey", 2, "2"],
|
||||
["tstromberg", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["it-monkey", 167, "167"],
|
||||
["tstromberg", 31, "31"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["balopat", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,456 @@
|
|||
---
|
||||
title: "v0.33.0 - 2019-01-17"
|
||||
linkTitle: "v0.33.0 - 2019-01-17"
|
||||
weight: -47
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2018-12-21 — 2019-01-17</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 7, "7"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["balopat", 2, "2"],
|
||||
["sbz", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["afbjorklund", 187, "187"],
|
||||
["balopat", 146, "146"],
|
||||
["tstromberg", 70, "70"],
|
||||
["sbz", 28, "28"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 6, "6"],
|
||||
["tstromberg", 0, "0"],
|
||||
["afbjorklund", 0, "0"],
|
||||
["sbz", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 11, "11"],
|
||||
["brb", 3, "3"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["michal-franc", 2, "2"],
|
||||
["madorn", 1, "1"],
|
||||
["jasoncwik", 1, "1"],
|
||||
["narendra2019", 1, "1"],
|
||||
["nixpanic", 1, "1"],
|
||||
["sebcworks", 1, "1"],
|
||||
["superbrothers", 1, "1"],
|
||||
["mlgibbons", 1, "1"],
|
||||
["jeffwubj", 1, "1"],
|
||||
["adregner", 1, "1"],
|
||||
["knabben", 1, "1"],
|
||||
["Zyqsempai", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["nixpanic", 686, "686"],
|
||||
["tstromberg", 398, "398"],
|
||||
["brb", 119, "119"],
|
||||
["sebcworks", 70, "70"],
|
||||
["knabben", 53, "53"],
|
||||
["afbjorklund", 39, "39"],
|
||||
["madorn", 35, "35"],
|
||||
["adregner", 16, "16"],
|
||||
["Zyqsempai", 15, "15"],
|
||||
["michal-franc", 6, "6"],
|
||||
["mlgibbons", 5, "5"],
|
||||
["jeffwubj", 4, "4"],
|
||||
["superbrothers", 3, "3"],
|
||||
["narendra2019", 2, "2"],
|
||||
["jasoncwik", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["nixpanic", 675, "675"],
|
||||
["sebcworks", 66, "66"],
|
||||
["knabben", 46, "46"],
|
||||
["tstromberg", 27, "27"],
|
||||
["brb", 25, "25"],
|
||||
["madorn", 23, "23"],
|
||||
["Zyqsempai", 15, "15"],
|
||||
["afbjorklund", 10, "10"],
|
||||
["adregner", 8, "8"],
|
||||
["jeffwubj", 4, "4"],
|
||||
["superbrothers", 2, "2"],
|
||||
["narendra2019", 1, "1"],
|
||||
["michal-franc", 1, "1"],
|
||||
["mlgibbons", 1, "1"],
|
||||
["jasoncwik", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["jamescarson", 1, "1"],
|
||||
["jhgoodwin", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["jhgoodwin", 37, "37"],
|
||||
["jamescarson", 11, "11"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 6, "6"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,407 @@
|
|||
---
|
||||
title: "v0.33.1 - 2019-01-18"
|
||||
linkTitle: "v0.33.1 - 2019-01-18"
|
||||
weight: -48
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-01-17 — 2019-01-18</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 24, "24"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["frapposelli", 1, "1"],
|
||||
["afbjorklund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["frapposelli", 94, "94"],
|
||||
["afbjorklund", 72, "72"],
|
||||
["tstromberg", 44, "44"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["frapposelli", 94, "94"],
|
||||
["afbjorklund", 66, "66"],
|
||||
["tstromberg", 8, "8"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,489 @@
|
|||
---
|
||||
title: "v0.34.0 - 2019-02-15"
|
||||
linkTitle: "v0.34.0 - 2019-02-15"
|
||||
weight: -49
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-01-18 — 2019-02-15</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 23, "23"],
|
||||
["afbjorklund", 8, "8"],
|
||||
["RA489", 4, "4"],
|
||||
["balopat", 4, "4"],
|
||||
["gbraad", 2, "2"],
|
||||
["dlorenc", 1, "1"],
|
||||
["AkihiroSuda", 1, "1"],
|
||||
["donmccasland", 1, "1"],
|
||||
["zak905", 1, "1"],
|
||||
["swinslow", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 864, "864"],
|
||||
["afbjorklund", 444, "444"],
|
||||
["balopat", 272, "272"],
|
||||
["gbraad", 211, "211"],
|
||||
["RA489", 35, "35"],
|
||||
["AkihiroSuda", 29, "29"],
|
||||
["donmccasland", 19, "19"],
|
||||
["zak905", 8, "8"],
|
||||
["swinslow", 3, "3"],
|
||||
["dlorenc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 21, "21"],
|
||||
["tstromberg", 20, "20"],
|
||||
["afbjorklund", 9, "9"],
|
||||
["RA489", 2, "2"],
|
||||
["donmccasland", 1, "1"],
|
||||
["gbraad", 0, "0"],
|
||||
["zak905", 0, "0"],
|
||||
["dlorenc", 0, "0"],
|
||||
["swinslow", 0, "0"],
|
||||
["AkihiroSuda", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 19, "19"],
|
||||
["afbjorklund", 17, "17"],
|
||||
["jayunit100", 2, "2"],
|
||||
["balopat", 2, "2"],
|
||||
["rlenferink", 1, "1"],
|
||||
["tdensmore", 1, "1"],
|
||||
["jeffwubj", 1, "1"],
|
||||
["kauedg", 1, "1"],
|
||||
["hidekazuna", 1, "1"],
|
||||
["denji", 1, "1"],
|
||||
["twelvelabs", 1, "1"],
|
||||
["ngoozeff", 1, "1"],
|
||||
["darkedges", 1, "1"],
|
||||
["ivans3", 1, "1"],
|
||||
["yamt", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["tstromberg", 4336, "4336"],
|
||||
["afbjorklund", 278, "278"],
|
||||
["ivans3", 140, "140"],
|
||||
["balopat", 133, "133"],
|
||||
["denji", 68, "68"],
|
||||
["hidekazuna", 56, "56"],
|
||||
["ngoozeff", 52, "52"],
|
||||
["kauedg", 26, "26"],
|
||||
["jayunit100", 22, "22"],
|
||||
["robrich", 17, "17"],
|
||||
["mlgibbons", 17, "17"],
|
||||
["tdensmore", 15, "15"],
|
||||
["jeffwubj", 13, "13"],
|
||||
["yamt", 5, "5"],
|
||||
["darkedges", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["ivans3", 140, "140"],
|
||||
["tstromberg", 140, "140"],
|
||||
["denji", 67, "67"],
|
||||
["balopat", 50, "50"],
|
||||
["ngoozeff", 50, "50"],
|
||||
["hidekazuna", 28, "28"],
|
||||
["mlgibbons", 15, "15"],
|
||||
["jeffwubj", 13, "13"],
|
||||
["afbjorklund", 11, "11"],
|
||||
["kauedg", 11, "11"],
|
||||
["tdensmore", 9, "9"],
|
||||
["jayunit100", 8, "8"],
|
||||
["yamt", 5, "5"],
|
||||
["darkedges", 3, "3"],
|
||||
["leifcr", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["afbjorklund", 4, "4"],
|
||||
["jhgoodwin", 2, "2"],
|
||||
["rhuss", 1, "1"],
|
||||
["bondarewicz", 1, "1"],
|
||||
["kevinkirkup", 1, "1"],
|
||||
["mklauber", 1, "1"],
|
||||
["mgabeler-lee-6rs", 1, "1"],
|
||||
["leifcr", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["afbjorklund", 257, "257"],
|
||||
["leifcr", 109, "109"],
|
||||
["rhuss", 84, "84"],
|
||||
["tstromberg", 81, "81"],
|
||||
["jhgoodwin", 62, "62"],
|
||||
["mgabeler-lee-6rs", 46, "46"],
|
||||
["mklauber", 33, "33"],
|
||||
["kevinkirkup", 5, "5"],
|
||||
["bondarewicz", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 83, "83"],
|
||||
["afbjorklund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,419 @@
|
|||
---
|
||||
title: "v0.34.1 - 2019-02-16"
|
||||
linkTitle: "v0.34.1 - 2019-02-16"
|
||||
weight: -50
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-02-15 — 2019-02-16</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 3, "3"],
|
||||
["afbjorklund", 1, "1"],
|
||||
["balopat", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 95, "95"],
|
||||
["tstromberg", 33, "33"],
|
||||
["afbjorklund", 18, "18"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["balopat", 4, "4"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["tstromberg", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 10, "10"],
|
||||
["afbjorklund", 3, "3"],
|
||||
["stpabhi", 1, "1"],
|
||||
["albertoal", 1, "1"],
|
||||
["laozc", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["tstromberg", 1182, "1182"],
|
||||
["laozc", 166, "166"],
|
||||
["afbjorklund", 160, "160"],
|
||||
["albertoal", 36, "36"],
|
||||
["stpabhi", 6, "6"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["laozc", 163, "163"],
|
||||
["tstromberg", 81, "81"],
|
||||
["afbjorklund", 52, "52"],
|
||||
["albertoal", 36, "36"],
|
||||
["stpabhi", 6, "6"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,449 @@
|
|||
---
|
||||
title: "v0.35.0 - 2019-03-06"
|
||||
linkTitle: "v0.35.0 - 2019-03-06"
|
||||
weight: -51
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-02-16 — 2019-03-06</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 6, "6"],
|
||||
["afbjorklund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["afbjorklund", 143, "143"],
|
||||
["tstromberg", 121, "121"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["afbjorklund", 3, "3"],
|
||||
["tstromberg", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 7, "7"],
|
||||
["afbjorklund", 7, "7"],
|
||||
["donmccasland", 1, "1"],
|
||||
["phidlipus", 1, "1"],
|
||||
["idvoretskyi", 1, "1"],
|
||||
["yskopets", 1, "1"],
|
||||
["Expire0", 1, "1"],
|
||||
["tomxor", 1, "1"],
|
||||
["eloyekunle", 1, "1"],
|
||||
["greut", 1, "1"],
|
||||
["joerg84", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["tstromberg", 204, "204"],
|
||||
["donmccasland", 159, "159"],
|
||||
["afbjorklund", 142, "142"],
|
||||
["idvoretskyi", 70, "70"],
|
||||
["Expire0", 21, "21"],
|
||||
["joerg84", 14, "14"],
|
||||
["yskopets", 3, "3"],
|
||||
["greut", 2, "2"],
|
||||
["eloyekunle", 2, "2"],
|
||||
["phidlipus", 2, "2"],
|
||||
["tomxor", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["donmccasland", 159, "159"],
|
||||
["idvoretskyi", 66, "66"],
|
||||
["Expire0", 21, "21"],
|
||||
["tstromberg", 21, "21"],
|
||||
["afbjorklund", 16, "16"],
|
||||
["joerg84", 13, "13"],
|
||||
["yskopets", 3, "3"],
|
||||
["phidlipus", 1, "1"],
|
||||
["tomxor", 1, "1"],
|
||||
["eloyekunle", 1, "1"],
|
||||
["greut", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["mgabeler-lee-6rs", 1, "1"],
|
||||
["afbjorklund", 1, "1"],
|
||||
["shaneknapp", 1, "1"],
|
||||
["janvdvegt", 1, "1"],
|
||||
["dcecile", 1, "1"],
|
||||
["mkempster", 1, "1"],
|
||||
["Conky5", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["dcecile", 89, "89"],
|
||||
["mgabeler-lee-6rs", 88, "88"],
|
||||
["Conky5", 63, "63"],
|
||||
["afbjorklund", 37, "37"],
|
||||
["mkempster", 35, "35"],
|
||||
["janvdvegt", 9, "9"],
|
||||
["shaneknapp", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 22, "22"],
|
||||
["afbjorklund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,421 @@
|
|||
---
|
||||
title: "v0.4.0 - 2016-06-27"
|
||||
linkTitle: "v0.4.0 - 2016-06-27"
|
||||
weight: -3
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-06-10 — 2016-06-27</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["aaron-prindle", 7, "7"],
|
||||
["luxas", 6, "6"],
|
||||
["dlorenc", 3, "3"],
|
||||
["philips", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 353, "353"],
|
||||
["luxas", 83, "83"],
|
||||
["aaron-prindle", 53, "53"],
|
||||
["philips", 15, "15"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 18, "18"],
|
||||
["luxas", 4, "4"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["philips", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 12, "12"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["rdsubhas", 1, "1"],
|
||||
["philips", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 786, "786"],
|
||||
["aaron-prindle", 361, "361"],
|
||||
["philips", 135, "135"],
|
||||
["rdsubhas", 16, "16"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 179, "179"],
|
||||
["philips", 115, "115"],
|
||||
["dlorenc", 46, "46"],
|
||||
["rdsubhas", 14, "14"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["luxas", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,432 @@
|
|||
---
|
||||
title: "v0.5.0 - 2016-07-06"
|
||||
linkTitle: "v0.5.0 - 2016-07-06"
|
||||
weight: -4
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-06-27 — 2016-07-06</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 11, "11"],
|
||||
["luxas", 9, "9"],
|
||||
["aaron-prindle", 4, "4"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["dlovitch", 1, "1"],
|
||||
["rhuss", 1, "1"],
|
||||
["vishh", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 984, "984"],
|
||||
["luxas", 152, "152"],
|
||||
["vishh", 127, "127"],
|
||||
["aaron-prindle", 115, "115"],
|
||||
["jimmidyson", 36, "36"],
|
||||
["dlovitch", 26, "26"],
|
||||
["rhuss", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 8, "8"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["dlovitch", 1, "1"],
|
||||
["luxas", 1, "1"],
|
||||
["vishh", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
["rhuss", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 9, "9"],
|
||||
["jimmidyson", 6, "6"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["jstrachan", 1, "1"],
|
||||
["stevesloka", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 354, "354"],
|
||||
["jimmidyson", 239, "239"],
|
||||
["aaron-prindle", 16, "16"],
|
||||
["jstrachan", 14, "14"],
|
||||
["stevesloka", 9, "9"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["dlorenc", 36, "36"],
|
||||
["jimmidyson", 33, "33"],
|
||||
["jstrachan", 14, "14"],
|
||||
["stevesloka", 8, "8"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 7, "7"],
|
||||
["luxas", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,425 @@
|
|||
---
|
||||
title: "v0.6.0 - 2016-07-13"
|
||||
linkTitle: "v0.6.0 - 2016-07-13"
|
||||
weight: -5
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-07-06 — 2016-07-13</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 11, "11"],
|
||||
["jimmidyson", 8, "8"],
|
||||
["aaron-prindle", 6, "6"],
|
||||
["luxas", 6, "6"],
|
||||
["mikebrow", 1, "1"],
|
||||
["vishh", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 476, "476"],
|
||||
["jimmidyson", 223, "223"],
|
||||
["vishh", 81, "81"],
|
||||
["aaron-prindle", 41, "41"],
|
||||
["mikebrow", 40, "40"],
|
||||
["luxas", 35, "35"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 11, "11"],
|
||||
["jimmidyson", 3, "3"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["luxas", 1, "1"],
|
||||
["mikebrow", 1, "1"],
|
||||
["vishh", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 13, "13"],
|
||||
["jimmidyson", 8, "8"],
|
||||
["MHBauer", 3, "3"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["jimmidyson", 409, "409"],
|
||||
["aaron-prindle", 288, "288"],
|
||||
["dlorenc", 193, "193"],
|
||||
["MHBauer", 7, "7"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 277, "277"],
|
||||
["jimmidyson", 45, "45"],
|
||||
["dlorenc", 11, "11"],
|
||||
["MHBauer", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 10, "10"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,427 @@
|
|||
---
|
||||
title: "v0.7.0 - 2016-07-26"
|
||||
linkTitle: "v0.7.0 - 2016-07-26"
|
||||
weight: -6
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-07-13 — 2016-07-26</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["jimmidyson", 15, "15"],
|
||||
["dlorenc", 13, "13"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["MHBauer", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 650, "650"],
|
||||
["jimmidyson", 322, "322"],
|
||||
["MHBauer", 19, "19"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["jimmidyson", 14, "14"],
|
||||
["dlorenc", 11, "11"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["MHBauer", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["dlorenc", 10, "10"],
|
||||
["jimmidyson", 9, "9"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["brk3", 1, "1"],
|
||||
["bfallik", 1, "1"],
|
||||
["ascheman", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["dlorenc", 317, "317"],
|
||||
["aaron-prindle", 139, "139"],
|
||||
["jimmidyson", 81, "81"],
|
||||
["ascheman", 44, "44"],
|
||||
["brk3", 20, "20"],
|
||||
["bfallik", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aaron-prindle", 42, "42"],
|
||||
["ascheman", 25, "25"],
|
||||
["dlorenc", 23, "23"],
|
||||
["brk3", 17, "17"],
|
||||
["jimmidyson", 5, "5"],
|
||||
["bfallik", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 10, "10"],
|
||||
["jimmidyson", 2, "2"],
|
||||
["bryk", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,420 @@
|
|||
---
|
||||
title: "v0.7.1 - 2016-07-28"
|
||||
linkTitle: "v0.7.1 - 2016-07-28"
|
||||
weight: -7
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-07-26 — 2016-07-28</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
["jimmidyson", 2, "2"],
|
||||
["alexbrand", 1, "1"],
|
||||
["aaron-prindle", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["jimmidyson", 116, "116"],
|
||||
["dlorenc", 45, "45"],
|
||||
["alexbrand", 26, "26"],
|
||||
["aaron-prindle", 12, "12"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["jimmidyson", 3, "3"],
|
||||
["alexbrand", 0, "0"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["dlorenc", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["jimmidyson", 3, "3"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
["dlorenc", 2, "2"],
|
||||
["alexbrand", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["jimmidyson", 254, "254"],
|
||||
["dlorenc", 19, "19"],
|
||||
["aaron-prindle", 17, "17"],
|
||||
["alexbrand", 5, "5"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["jimmidyson", 77, "77"],
|
||||
["dlorenc", 9, "9"],
|
||||
["aaron-prindle", 7, "7"],
|
||||
["alexbrand", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
["jimmidyson", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,445 @@
|
|||
---
|
||||
title: "v0.8.0 - 2016-08-17"
|
||||
linkTitle: "v0.8.0 - 2016-08-17"
|
||||
weight: -8
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-07-28 — 2016-08-17</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 26, "26"],
|
||||
["jimmidyson", 11, "11"],
|
||||
["aaron-prindle", 5, "5"],
|
||||
["zoidbergwill", 1, "1"],
|
||||
["danmikita", 1, "1"],
|
||||
["zchee", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 1063, "1063"],
|
||||
["jimmidyson", 399, "399"],
|
||||
["aaron-prindle", 94, "94"],
|
||||
["zchee", 68, "68"],
|
||||
["danmikita", 32, "32"],
|
||||
["zoidbergwill", 19, "19"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 38, "38"],
|
||||
["jimmidyson", 7, "7"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["zoidbergwill", 0, "0"],
|
||||
["danmikita", 0, "0"],
|
||||
["zchee", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["aaron-prindle", 11, "11"],
|
||||
["r2d4", 7, "7"],
|
||||
["dlorenc", 6, "6"],
|
||||
["jimmidyson", 3, "3"],
|
||||
["sassyiphoneuser", 1, "1"],
|
||||
["mies", 1, "1"],
|
||||
["umiyosh", 1, "1"],
|
||||
["tsl0922", 1, "1"],
|
||||
["bryk", 1, "1"],
|
||||
["alexbrand", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 703, "703"],
|
||||
["dlorenc", 155, "155"],
|
||||
["jimmidyson", 144, "144"],
|
||||
["sassyiphoneuser", 118, "118"],
|
||||
["r2d4", 112, "112"],
|
||||
["umiyosh", 14, "14"],
|
||||
["bryk", 8, "8"],
|
||||
["alexbrand", 6, "6"],
|
||||
["tsl0922", 6, "6"],
|
||||
["mies", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["sassyiphoneuser", 118, "118"],
|
||||
["aaron-prindle", 55, "55"],
|
||||
["jimmidyson", 40, "40"],
|
||||
["dlorenc", 17, "17"],
|
||||
["r2d4", 14, "14"],
|
||||
["umiyosh", 7, "7"],
|
||||
["tsl0922", 6, "6"],
|
||||
["alexbrand", 6, "6"],
|
||||
["bryk", 4, "4"],
|
||||
["mies", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 20, "20"],
|
||||
["jimmidyson", 3, "3"],
|
||||
["aaron-prindle", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,429 @@
|
|||
---
|
||||
title: "v0.9.0 - 2016-09-01"
|
||||
linkTitle: "v0.9.0 - 2016-09-01"
|
||||
weight: -9
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2016-08-17 — 2016-09-01</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["dlorenc", 13, "13"],
|
||||
["aaron-prindle", 3, "3"],
|
||||
["jimmidyson", 2, "2"],
|
||||
["r2d4", 2, "2"],
|
||||
["cosminilie", 1, "1"],
|
||||
["RaeesBhatti", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 654, "654"],
|
||||
["aaron-prindle", 433, "433"],
|
||||
["jimmidyson", 186, "186"],
|
||||
["cosminilie", 138, "138"],
|
||||
["r2d4", 124, "124"],
|
||||
["RaeesBhatti", 117, "117"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["dlorenc", 22, "22"],
|
||||
["r2d4", 1, "1"],
|
||||
["aaron-prindle", 0, "0"],
|
||||
["jimmidyson", 0, "0"],
|
||||
["cosminilie", 0, "0"],
|
||||
["RaeesBhatti", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["aaron-prindle", 7, "7"],
|
||||
["r2d4", 4, "4"],
|
||||
["dlorenc", 2, "2"],
|
||||
["pgray", 1, "1"],
|
||||
["jimmidyson", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["aaron-prindle", 345, "345"],
|
||||
["r2d4", 295, "295"],
|
||||
["dlorenc", 111, "111"],
|
||||
["jimmidyson", 67, "67"],
|
||||
["pgray", 7, "7"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["jimmidyson", 66, "66"],
|
||||
["r2d4", 52, "52"],
|
||||
["dlorenc", 51, "51"],
|
||||
["aaron-prindle", 42, "42"],
|
||||
["pgray", 7, "7"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["dlorenc", 5, "5"],
|
||||
["r2d4", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,466 @@
|
|||
---
|
||||
title: "v1.0.0 - 2019-03-27"
|
||||
linkTitle: "v1.0.0 - 2019-03-27"
|
||||
weight: -52
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-03-06 — 2019-03-27</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 22, "22"],
|
||||
["afbjorklund", 6, "6"],
|
||||
["balopat", 2, "2"],
|
||||
["tejal29", 2, "2"],
|
||||
["brennen", 1, "1"],
|
||||
["sharifelgamal", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 628, "628"],
|
||||
["afbjorklund", 196, "196"],
|
||||
["tejal29", 30, "30"],
|
||||
["balopat", 28, "28"],
|
||||
["sharifelgamal", 21, "21"],
|
||||
["brennen", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 13, "13"],
|
||||
["tejal29", 3, "3"],
|
||||
["balopat", 3, "3"],
|
||||
["sharifelgamal", 1, "1"],
|
||||
["afbjorklund", 1, "1"],
|
||||
["brennen", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 28, "28"],
|
||||
["afbjorklund", 21, "21"],
|
||||
["laozc", 2, "2"],
|
||||
["sharifelgamal", 2, "2"],
|
||||
["marcosdiez", 2, "2"],
|
||||
["karmab", 1, "1"],
|
||||
["flyingcircle", 1, "1"],
|
||||
["calind", 1, "1"],
|
||||
["jayunit100", 1, "1"],
|
||||
["u5surf", 1, "1"],
|
||||
["igorakkerman", 1, "1"],
|
||||
["RA489", 1, "1"],
|
||||
["joelsmith", 1, "1"],
|
||||
["cristim", 1, "1"],
|
||||
["mavimo", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["tstromberg", 3200, "3200"],
|
||||
["afbjorklund", 1852, "1852"],
|
||||
["laozc", 614, "614"],
|
||||
["sharifelgamal", 103, "103"],
|
||||
["marcosdiez", 28, "28"],
|
||||
["brb", 19, "19"],
|
||||
["mdonkers", 13, "13"],
|
||||
["gyliu513", 12, "12"],
|
||||
["steved", 9, "9"],
|
||||
["morvencao", 6, "6"],
|
||||
["RA489", 5, "5"],
|
||||
["calind", 4, "4"],
|
||||
["joelsmith", 4, "4"],
|
||||
["karmab", 3, "3"],
|
||||
["u5surf", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["laozc", 228, "228"],
|
||||
["tstromberg", 89, "89"],
|
||||
["afbjorklund", 51, "51"],
|
||||
["sharifelgamal", 46, "46"],
|
||||
["brb", 14, "14"],
|
||||
["mdonkers", 13, "13"],
|
||||
["marcosdiez", 12, "12"],
|
||||
["gyliu513", 8, "8"],
|
||||
["steved", 5, "5"],
|
||||
["RA489", 5, "5"],
|
||||
["u5surf", 3, "3"],
|
||||
["morvencao", 3, "3"],
|
||||
["karmab", 3, "3"],
|
||||
["joelsmith", 2, "2"],
|
||||
["calind", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["shaneknapp", 2, "2"],
|
||||
["jk2K", 1, "1"],
|
||||
["GrigorievNick", 1, "1"],
|
||||
["tstromberg", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["shaneknapp", 145, "145"],
|
||||
["jk2K", 38, "38"],
|
||||
["GrigorievNick", 30, "30"],
|
||||
["tstromberg", 11, "11"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 44, "44"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,460 @@
|
|||
---
|
||||
title: "v1.0.1 - 2019-04-27"
|
||||
linkTitle: "v1.0.1 - 2019-04-27"
|
||||
weight: -53
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-03-27 — 2019-04-27</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 25, "25"],
|
||||
["afbjorklund", 4, "4"],
|
||||
["RA489", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 448, "448"],
|
||||
["afbjorklund", 69, "69"],
|
||||
["RA489", 9, "9"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 18, "18"],
|
||||
["RA489", 1, "1"],
|
||||
["afbjorklund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 13, "13"],
|
||||
["sharifelgamal", 10, "10"],
|
||||
["afbjorklund", 7, "7"],
|
||||
["marcosdiez", 5, "5"],
|
||||
["11janci", 3, "3"],
|
||||
["RA489", 2, "2"],
|
||||
["jat001", 1, "1"],
|
||||
["hpandeycodeit", 1, "1"],
|
||||
["balopat", 1, "1"],
|
||||
["uthark", 1, "1"],
|
||||
["arnaudjardine", 1, "1"],
|
||||
["laozc", 1, "1"],
|
||||
["moduspwnens", 1, "1"],
|
||||
["douglaswth", 1, "1"],
|
||||
["jojimt", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["afbjorklund", 1525, "1525"],
|
||||
["tstromberg", 236, "236"],
|
||||
["sharifelgamal", 158, "158"],
|
||||
["laozc", 155, "155"],
|
||||
["11janci", 154, "154"],
|
||||
["arnaudjardine", 107, "107"],
|
||||
["balopat", 36, "36"],
|
||||
["moduspwnens", 31, "31"],
|
||||
["marcosdiez", 25, "25"],
|
||||
["jat001", 11, "11"],
|
||||
["RA489", 9, "9"],
|
||||
["jojimt", 8, "8"],
|
||||
["AbdullahBM", 4, "4"],
|
||||
["hpandeycodeit", 3, "3"],
|
||||
["douglaswth", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["afbjorklund", 134, "134"],
|
||||
["laozc", 105, "105"],
|
||||
["arnaudjardine", 80, "80"],
|
||||
["11janci", 44, "44"],
|
||||
["balopat", 27, "27"],
|
||||
["moduspwnens", 20, "20"],
|
||||
["sharifelgamal", 13, "13"],
|
||||
["tstromberg", 10, "10"],
|
||||
["jat001", 9, "9"],
|
||||
["jojimt", 4, "4"],
|
||||
["AbdullahBM", 4, "4"],
|
||||
["hpandeycodeit", 3, "3"],
|
||||
["marcosdiez", 3, "3"],
|
||||
["RA489", 3, "3"],
|
||||
["uthark", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["tstromberg", 2, "2"],
|
||||
["du86796922", 1, "1"],
|
||||
["astleychen", 1, "1"],
|
||||
["AnthonyNixon", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 59, "59"],
|
||||
["astleychen", 33, "33"],
|
||||
["AnthonyNixon", 5, "5"],
|
||||
["du86796922", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 43, "43"],
|
||||
["balopat", 9, "9"],
|
||||
["afbjorklund", 5, "5"],
|
||||
["sharifelgamal", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,479 @@
|
|||
---
|
||||
title: "v1.1.0 - 2019-05-21"
|
||||
linkTitle: "v1.1.0 - 2019-05-21"
|
||||
weight: -54
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-04-27 — 2019-05-21</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 21, "21"],
|
||||
["sharifelgamal", 6, "6"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["PatrickLang", 1, "1"],
|
||||
["neolit123", 1, "1"],
|
||||
["hswong3i", 1, "1"],
|
||||
["medyagh", 1, "1"],
|
||||
["RA489", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 2797, "2797"],
|
||||
["PatrickLang", 411, "411"],
|
||||
["neolit123", 110, "110"],
|
||||
["hswong3i", 105, "105"],
|
||||
["sharifelgamal", 89, "89"],
|
||||
["afbjorklund", 19, "19"],
|
||||
["medyagh", 13, "13"],
|
||||
["RA489", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 52, "52"],
|
||||
["sharifelgamal", 3, "3"],
|
||||
["medyagh", 2, "2"],
|
||||
["RA489", 0, "0"],
|
||||
["afbjorklund", 0, "0"],
|
||||
["PatrickLang", 0, "0"],
|
||||
["neolit123", 0, "0"],
|
||||
["hswong3i", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 17, "17"],
|
||||
["afbjorklund", 8, "8"],
|
||||
["sharifelgamal", 5, "5"],
|
||||
["medyagh", 3, "3"],
|
||||
["myhro", 1, "1"],
|
||||
["ceason", 1, "1"],
|
||||
["salamani", 1, "1"],
|
||||
["marcosdiez", 1, "1"],
|
||||
["11janci", 1, "1"],
|
||||
["keramiozsoy", 1, "1"],
|
||||
["webwurst", 1, "1"],
|
||||
["laozc", 1, "1"],
|
||||
["zregvart", 1, "1"],
|
||||
["ne0h", 1, "1"],
|
||||
["dpandhi-git", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["tstromberg", 2578, "2578"],
|
||||
["afbjorklund", 890, "890"],
|
||||
["medyagh", 590, "590"],
|
||||
["11janci", 401, "401"],
|
||||
["myhro", 275, "275"],
|
||||
["sharifelgamal", 219, "219"],
|
||||
["salamani", 183, "183"],
|
||||
["ceason", 104, "104"],
|
||||
["laozc", 96, "96"],
|
||||
["hpandeycodeit", 35, "35"],
|
||||
["dpandhi-git", 32, "32"],
|
||||
["marcosdiez", 27, "27"],
|
||||
["ne0h", 10, "10"],
|
||||
["webwurst", 2, "2"],
|
||||
["zregvart", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["11janci", 380, "380"],
|
||||
["medyagh", 170, "170"],
|
||||
["salamani", 119, "119"],
|
||||
["afbjorklund", 91, "91"],
|
||||
["laozc", 91, "91"],
|
||||
["ceason", 88, "88"],
|
||||
["tstromberg", 84, "84"],
|
||||
["hpandeycodeit", 35, "35"],
|
||||
["myhro", 31, "31"],
|
||||
["sharifelgamal", 22, "22"],
|
||||
["marcosdiez", 16, "16"],
|
||||
["dpandhi-git", 12, "12"],
|
||||
["ne0h", 10, "10"],
|
||||
["keramiozsoy", 1, "1"],
|
||||
["webwurst", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["tstromberg", 3, "3"],
|
||||
["afbjorklund", 2, "2"],
|
||||
["ianmiell", 2, "2"],
|
||||
["ikkerens", 1, "1"],
|
||||
["it-monkey", 1, "1"],
|
||||
["cilerler", 1, "1"],
|
||||
["GrigorievNick", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 184, "184"],
|
||||
["afbjorklund", 142, "142"],
|
||||
["it-monkey", 96, "96"],
|
||||
["ikkerens", 89, "89"],
|
||||
["GrigorievNick", 61, "61"],
|
||||
["ianmiell", 51, "51"],
|
||||
["cilerler", 3, "3"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 46, "46"],
|
||||
["sharifelgamal", 2, "2"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,481 @@
|
|||
---
|
||||
title: "v1.1.1 - 2019-06-07"
|
||||
linkTitle: "v1.1.1 - 2019-06-07"
|
||||
weight: -55
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2019-05-21 — 2019-06-07</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["tstromberg", 21, "21"],
|
||||
["sharifelgamal", 6, "6"],
|
||||
["medyagh", 4, "4"],
|
||||
["johnkattenhorn", 1, "1"],
|
||||
["RA489", 1, "1"],
|
||||
["grahamwhaley", 1, "1"],
|
||||
["josedonizetti", 1, "1"],
|
||||
["afbjorklund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 722, "722"],
|
||||
["grahamwhaley", 294, "294"],
|
||||
["medyagh", 61, "61"],
|
||||
["sharifelgamal", 36, "36"],
|
||||
["johnkattenhorn", 35, "35"],
|
||||
["josedonizetti", 32, "32"],
|
||||
["afbjorklund", 8, "8"],
|
||||
["RA489", 4, "4"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["tstromberg", 12, "12"],
|
||||
["medyagh", 2, "2"],
|
||||
["josedonizetti", 1, "1"],
|
||||
["afbjorklund", 1, "1"],
|
||||
["grahamwhaley", 0, "0"],
|
||||
["sharifelgamal", 0, "0"],
|
||||
["johnkattenhorn", 0, "0"],
|
||||
["RA489", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["josedonizetti", 10, "10"],
|
||||
["tstromberg", 8, "8"],
|
||||
["medyagh", 6, "6"],
|
||||
["afbjorklund", 5, "5"],
|
||||
["fenglixa", 2, "2"],
|
||||
["sharifelgamal", 2, "2"],
|
||||
["shahiddev", 1, "1"],
|
||||
["toabctl", 1, "1"],
|
||||
["moduspwnens", 1, "1"],
|
||||
["wj24021040", 1, "1"],
|
||||
["MPLew-is", 1, "1"],
|
||||
["kumarom", 1, "1"],
|
||||
["amshinde", 1, "1"],
|
||||
["teejae", 1, "1"],
|
||||
["blueelvis", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["sharifelgamal", 473, "473"],
|
||||
["tstromberg", 371, "371"],
|
||||
["josedonizetti", 221, "221"],
|
||||
["medyagh", 165, "165"],
|
||||
["blueelvis", 135, "135"],
|
||||
["afbjorklund", 62, "62"],
|
||||
["fenglixa", 37, "37"],
|
||||
["hpandeycodeit", 32, "32"],
|
||||
["kumarom", 28, "28"],
|
||||
["MPLew-is", 19, "19"],
|
||||
["moduspwnens", 3, "3"],
|
||||
["teejae", 2, "2"],
|
||||
["amshinde", 2, "2"],
|
||||
["wj24021040", 2, "2"],
|
||||
["toabctl", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["sharifelgamal", 137, "137"],
|
||||
["blueelvis", 84, "84"],
|
||||
["hpandeycodeit", 32, "32"],
|
||||
["tstromberg", 29, "29"],
|
||||
["kumarom", 28, "28"],
|
||||
["medyagh", 22, "22"],
|
||||
["josedonizetti", 19, "19"],
|
||||
["MPLew-is", 14, "14"],
|
||||
["fenglixa", 13, "13"],
|
||||
["afbjorklund", 9, "9"],
|
||||
["moduspwnens", 2, "2"],
|
||||
["amshinde", 2, "2"],
|
||||
["wj24021040", 1, "1"],
|
||||
["toabctl", 1, "1"],
|
||||
["shahiddev", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["tstromberg", 4, "4"],
|
||||
["it-monkey", 2, "2"],
|
||||
["ikkerens", 1, "1"],
|
||||
["vnzongzna", 1, "1"],
|
||||
["hpandeycodeit", 1, "1"],
|
||||
["ericbaranowski", 1, "1"],
|
||||
["bmbferreira", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 224, "224"],
|
||||
["it-monkey", 58, "58"],
|
||||
["ikkerens", 42, "42"],
|
||||
["bmbferreira", 39, "39"],
|
||||
["ericbaranowski", 29, "29"],
|
||||
["hpandeycodeit", 17, "17"],
|
||||
["vnzongzna", 17, "17"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 142, "142"],
|
||||
["sharifelgamal", 4, "4"],
|
||||
["medyagh", 4, "4"],
|
||||
["afbjorklund", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,496 @@
|
|||
---
|
||||
title: "v1.10.0 - 2020-05-12"
|
||||
linkTitle: "v1.10.0 - 2020-05-12"
|
||||
weight: -76
|
||||
---
|
||||
<html>
|
||||
<head>
|
||||
<title>kubernetes/minikube - Leaderboard</title>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load("current", {packages:["corechart"]});
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans', sans-serif;
|
||||
background-color: #f7f7fa;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: rgba(66,133,244);
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
color: rgba(23,90,201);
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
color: #666;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h2.cli {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.board p {
|
||||
font-size: small;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.board {
|
||||
clear: right;
|
||||
display: inline-block;
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
background-color: #fff;
|
||||
}
|
||||
.board:nth-child(4n+3) {
|
||||
border: 2px solid rgba(66,133,244,0.25);
|
||||
color: rgba(66,133,244);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+2) {
|
||||
border: 2px solid rgba(219,68,55,0.25);
|
||||
color: rgba rgba(219,68,55);
|
||||
}
|
||||
|
||||
.board:nth-child(4n+1) {
|
||||
border: 2px solid rgba(244,160,0,0.25);
|
||||
color: rgba(244,160,0);
|
||||
}
|
||||
|
||||
.board:nth-child(4n) {
|
||||
border: 2px solid rgba(15,157,88,0.25);
|
||||
color: rgba(15,157,88);
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>kubernetes/minikube</h1>
|
||||
<div class="subtitle">2020-04-04 — 2020-05-12</div>
|
||||
|
||||
|
||||
|
||||
<h2>Reviewers</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Influential</h3>
|
||||
<p># of Merged PRs reviewed</p>
|
||||
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewCounts);
|
||||
|
||||
function drawreviewCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Merged PRs reviewed', { role: 'annotation' }],
|
||||
["medyagh", 86, "86"],
|
||||
["tstromberg", 43, "43"],
|
||||
["afbjorklund", 11, "11"],
|
||||
["priyawadhwa", 10, "10"],
|
||||
["sharifelgamal", 7, "7"],
|
||||
["prasadkatti", 2, "2"],
|
||||
["aasmall", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words written in merged PRs</p>
|
||||
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewWords);
|
||||
|
||||
function drawreviewWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words written in merged PRs', { role: 'annotation' }],
|
||||
["medyagh", 5242, "5242"],
|
||||
["tstromberg", 2472, "2472"],
|
||||
["afbjorklund", 803, "803"],
|
||||
["priyawadhwa", 371, "371"],
|
||||
["sharifelgamal", 225, "225"],
|
||||
["aasmall", 41, "41"],
|
||||
["prasadkatti", 15, "15"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Demanding</h3>
|
||||
<p># of Review Comments in merged PRs</p>
|
||||
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawreviewComments);
|
||||
|
||||
function drawreviewComments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Review Comments in merged PRs', { role: 'annotation' }],
|
||||
["medyagh", 122, "122"],
|
||||
["tstromberg", 74, "74"],
|
||||
["priyawadhwa", 26, "26"],
|
||||
["afbjorklund", 6, "6"],
|
||||
["sharifelgamal", 4, "4"],
|
||||
["prasadkatti", 1, "1"],
|
||||
["aasmall", 0, "0"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Pull Requests</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of Pull Requests Merged</p>
|
||||
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprCounts);
|
||||
|
||||
function drawprCounts() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of Pull Requests Merged', { role: 'annotation' }],
|
||||
["tstromberg", 65, "65"],
|
||||
["medyagh", 63, "63"],
|
||||
["afbjorklund", 33, "33"],
|
||||
["priyawadhwa", 18, "18"],
|
||||
["prasadkatti", 15, "15"],
|
||||
["govargo", 13, "13"],
|
||||
["sharifelgamal", 12, "12"],
|
||||
["tomocy", 5, "5"],
|
||||
["radeksm", 5, "5"],
|
||||
["tklauser", 2, "2"],
|
||||
["alonyb", 2, "2"],
|
||||
["Hellcatlk", 2, "2"],
|
||||
["loftkun", 1, "1"],
|
||||
["ulm0", 1, "1"],
|
||||
["tmehlinger", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Big Movers</h3>
|
||||
<p>Lines of code (delta)</p>
|
||||
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprDeltas);
|
||||
|
||||
function drawprDeltas() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Lines of code (delta)', { role: 'annotation' }],
|
||||
["tstromberg", 7362, "7362"],
|
||||
["medyagh", 7177, "7177"],
|
||||
["sharifelgamal", 1690, "1690"],
|
||||
["afbjorklund", 1337, "1337"],
|
||||
["priyawadhwa", 1131, "1131"],
|
||||
["aledbf", 668, "668"],
|
||||
["laozc", 414, "414"],
|
||||
["govargo", 400, "400"],
|
||||
["radeksm", 374, "374"],
|
||||
["prasadkatti", 274, "274"],
|
||||
["Hellcatlk", 211, "211"],
|
||||
["alonyb", 113, "113"],
|
||||
["ulm0", 96, "96"],
|
||||
["n0npax", 86, "86"],
|
||||
["kadern0", 41, "41"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most difficult to review</h3>
|
||||
<p>Average PR size (added+changed)</p>
|
||||
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawprSize);
|
||||
|
||||
function drawprSize() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', 'Average PR size (added+changed)', { role: 'annotation' }],
|
||||
["aledbf", 485, "485"],
|
||||
["laozc", 395, "395"],
|
||||
["sharifelgamal", 121, "121"],
|
||||
["Hellcatlk", 105, "105"],
|
||||
["ulm0", 93, "93"],
|
||||
["n0npax", 86, "86"],
|
||||
["medyagh", 74, "74"],
|
||||
["tstromberg", 57, "57"],
|
||||
["alonyb", 51, "51"],
|
||||
["priyawadhwa", 46, "46"],
|
||||
["kadern0", 41, "41"],
|
||||
["afbjorklund", 35, "35"],
|
||||
["radeksm", 35, "35"],
|
||||
["sayboras", 27, "27"],
|
||||
["govargo", 25, "25"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<h2>Issues</h2>
|
||||
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Active</h3>
|
||||
<p># of comments</p>
|
||||
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcomments);
|
||||
|
||||
function drawcomments() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of comments', { role: 'annotation' }],
|
||||
["afbjorklund", 20, "20"],
|
||||
["tstromberg", 15, "15"],
|
||||
["medyagh", 12, "12"],
|
||||
["priyawadhwa", 5, "5"],
|
||||
["sharifelgamal", 5, "5"],
|
||||
["flolu", 3, "3"],
|
||||
["SimonHeimberg", 2, "2"],
|
||||
["llorllale", 2, "2"],
|
||||
["mjm19091979", 2, "2"],
|
||||
["yoavcloud", 2, "2"],
|
||||
["jayeshd7", 1, "1"],
|
||||
["FatWrinkleZ", 1, "1"],
|
||||
["mazzystr", 1, "1"],
|
||||
["ChumaA", 1, "1"],
|
||||
["eflies", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Most Helpful</h3>
|
||||
<p># of words (excludes authored)</p>
|
||||
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawcommentWords);
|
||||
|
||||
function drawcommentWords() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of words (excludes authored)', { role: 'annotation' }],
|
||||
["afbjorklund", 1867, "1867"],
|
||||
["medyagh", 1176, "1176"],
|
||||
["mjm19091979", 613, "613"],
|
||||
["tstromberg", 502, "502"],
|
||||
["majinghe", 452, "452"],
|
||||
["priyawadhwa", 272, "272"],
|
||||
["riklopfer", 265, "265"],
|
||||
["llorllale", 259, "259"],
|
||||
["SimonHeimberg", 213, "213"],
|
||||
["flolu", 138, "138"],
|
||||
["abaurens", 119, "119"],
|
||||
["jayeshd7", 106, "106"],
|
||||
["sharifelgamal", 101, "101"],
|
||||
["crankbird", 93, "93"],
|
||||
["isra17", 79, "79"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div class="board">
|
||||
<h3>Top Closers</h3>
|
||||
<p># of issues closed (excludes authored)</p>
|
||||
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
|
||||
<script type="text/javascript">
|
||||
google.charts.setOnLoadCallback(drawissueCloser);
|
||||
|
||||
function drawissueCloser() {
|
||||
var data = new google.visualization.arrayToDataTable([
|
||||
['', '# of issues closed (excludes authored)', { role: 'annotation' }],
|
||||
["tstromberg", 131, "131"],
|
||||
["medyagh", 53, "53"],
|
||||
["priyawadhwa", 18, "18"],
|
||||
["sharifelgamal", 13, "13"],
|
||||
["afbjorklund", 5, "5"],
|
||||
["prasadkatti", 1, "1"],
|
||||
|
||||
]);
|
||||
|
||||
var options = {
|
||||
axisTitlesPosition: 'none',
|
||||
|
||||
bars: 'horizontal', // Required for Material Bar Charts.
|
||||
axes: {
|
||||
x: {
|
||||
y: { side: 'top'} // Top x-axis.
|
||||
}
|
||||
},
|
||||
legend: { position: "none" },
|
||||
bar: { groupWidth: "85%" }
|
||||
};
|
||||
|
||||
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
|
||||
chart.draw(data, options);
|
||||
};
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue