Generate Hits-of-Code badges for GitHub repositories - https://www.yegor256.com/2014/11/14/hits-of-code.html
Go to file
Valentin Brandl e82146c912
Merge pull request #174 from vbrandl/dependabot/cargo/serde-1.0.116
Bump serde from 1.0.115 to 1.0.116
2020-09-19 14:15:51 +02:00
.github/workflows Cache nix store for CI actions 2020-03-22 19:47:09 +01:00
doc Document the caching mechanism 2019-04-19 22:57:32 +02:00
nix Update nixpkgs channel 2020-05-15 13:58:45 +02:00
scripts Fork in for loop 2019-07-07 21:01:57 +02:00
src Fix breaking changes 2020-09-12 14:13:19 +02:00
static Use orange favicon 2019-05-13 22:07:37 +02:00
templates Allow requesting badges for branches != master 2020-07-20 20:14:22 +02:00
.dockerignore Ignore repo directory 2019-04-16 17:04:52 +02:00
.drone.yml Sign CI config [skip ci] 2019-05-01 22:32:34 +02:00
.gitignore Ignore nix output directory 2020-02-14 14:06:28 +01:00
.gitlab-ci.yml Fix Docker TLS certdir 2019-08-28 09:14:17 +02:00
.travis.yml Remove coverage reporting 2019-04-21 14:03:04 +02:00
build.rs Fail on error 2019-04-23 22:31:25 +02:00
Cargo.lock Bump serde from 1.0.115 to 1.0.116 2020-09-14 04:18:28 +00:00
Cargo.nix Update dependencies 2020-05-15 13:58:57 +02:00
Cargo.toml Bump serde from 1.0.115 to 1.0.116 2020-09-14 04:18:28 +00:00
crate-hashes.json Generate working nix expression to build the nix package 2020-02-14 14:07:26 +01:00
default.nix Add git and cacerts to docker image 2020-03-22 20:54:33 +01:00
docker-compose.yml Cleanup 2019-05-28 22:06:31 +02:00
Dockerfile Actually run as user 2019-05-28 21:59:18 +02:00
LICENSE Add license 2019-04-16 20:37:13 +02:00
README.md Document deletion feature 2020-05-15 14:03:17 +02:00
shell.nix Add shell expression 2020-03-20 17:47:18 +01:00
vm.nix Commit nix stuff 2020-02-15 20:26:30 +01:00

Hits-of-Code

Hits-of-Code Drone build Gitlab build Travis build dependency status

Small webservice, that returns a badge of the Hits-of-Code of a git repository, as described by Yegor Bugayenko. It is implemented in Rust, using the actix-web web framework.

A live version of this webservice can be found on hitsofcode.com.

API

The API is as simple as

https://<host>/<service>/<user>/<repo>

where <service> is one of gitub, gitlab or bitbucket. The HoC data can also be received as JSON by appending /json to the reuqest path:

https://<host>/<service>/<user>/<repo>/json

There is also an overview page available via https://<host>/view/<service>/<user>/<repo>

To delete a repository and the cache from the server, send a POST request to https://<host>/<service>/<user>/<repo>/delete. On the overview page, there is a button to perform this operation. It will respond with a redirect to the overview page so the cache is rebuilt directly.

Building

The code can be built as a standalone binary, using cargo or as a Docker container. Run either

$ cargo build --release

or

$ docker build .

inside the repository.

I'm currently working on migrating to nix. To get a development shell, run nix-shell, to build the package run nix-build --attr package and to build the Docker image, run nix-build --attr dockerImage.

Running

Run either the binary produced by cargo, the Docker container you just built (using docker-compose) or pull the image from Docker Hub

$ docker run -it --rm vbrandl/hits-of-code --help

When running the binary directly, you need a git binary in your PATH.

License

hoc is licensed under the MIT License (LICENSE or http://opensource.org/licenses/MIT)