this repo has no description
1opam-version: "2.0"
2synopsis: "GitHub API web hook listener library"
3description: """
4Library to create GitHub webhook server.
5
6### Web hook tests
7
8This repository contains a GitHub web hook test harness that confirms
9that ocaml-github can parse both polled and web-hook-received events and
10that the expected events are delivered in the correct order. To run the
11`test_hook_server` program, you must have a publicly accessible IP
12address with a DNS `A` record and a TLS certificate. You can use [Let's
13Encrypt](https://letsencrypt.org/) to get a TLS certificate for your
14domain for free. `test_hook_server` should be run from an account on the
15public-facing machine which also has agent access to an SSH key which is
16registered with GitHub. I recommend using a remote VM for the domain and
17forwarding a local ssh agent with something like `ssh -A example.net`.
18
19Once this is configured, place your TLS certificate in the file
20`webhook.crt` and the key for that certificate in
21`webhook.key`. Generate a personal GitHub token named `test` with `git
22jar make --scopes=admin:repo_hook,delete_repo,repo [GitHub token
23username] test` (with the `git-jar` subcommand from
24[mirage/ocaml-github](https://github.com/mirage/ocaml-github)) which has
25`admin:repo_hook`, `delete_repo`, and `repo` authority scopes. This
26token has quite a lot of authority so it is important to keep safe or
27use a test account rather than your primary GitHub account.
28
29Finally, run `make test` and then `_build/test/test_hook_server.native
30https://example.net:4433 [GitHub token username] test-github-hooks
31[GitHub SSH username]` to run the tests on your server at `example.net`
32on port `4433` as the user `[GitHub token username]` but git-pushing as the
33user `[GitHub SSH username]`. The test program will create and delete the
34repository `test-github-hooks` in the process of running. If the tests
35fail, you may have to remove the cloned repository called
36`test-github-hooks` and the GitHub repository `[GitHub token
37username]/test-github-hooks`."""
38maintainer: "sheets@alum.mit.edu"
39authors: ["David Sheets" "Thomas Gazagnaire"]
40tags: ["git" "github"]
41homepage: "https://github.com/dsheets/ocaml-github-hooks"
42doc: "https://dsheets.github.io/ocaml-github-hooks/"
43bug-reports: "https://github.com/dsheets/ocaml-github-hooks/issues"
44depends: [
45 "ocaml" {>= "4.02.0"}
46 "dune"
47 "fmt"
48 "logs"
49 "lwt"
50 "cohttp-lwt" {>= "0.99.0"}
51 "conduit-lwt" {<"1.5.0"}
52 "github" {>= "3.0.1"}
53 "nocrypto"
54 "cstruct"
55 "hex"
56]
57build: [
58 ["dune" "subst"] {dev}
59 ["dune" "build" "-p" name "-j" jobs]
60]
61dev-repo: "git+https://github.com/dsheets/ocaml-github-hooks.git"
62url {
63 src:
64 "https://github.com/dsheets/ocaml-github-hooks/releases/download/0.4.0/github-hooks-0.4.0.tbz"
65 checksum: [
66 "sha256=bbcd887dc1860eb05a21a63b1abb46669fe30e724dd72cbdab0e5f5712347fe2"
67 "md5=a38ffb298e3efeebf683106f37f4cb7d"
68 ]
69}