# \[ANN\] first release of osh: https://osh.ocamlpro.com

**URL:** <https://discuss.ocaml.org/t/ann-first-release-of-osh-https-osh-ocamlpro-com/8594>\
**Category:** Ecosystem\
**Tags:** website, badge, api, github-actions, svg\
**Created:** [October 8, 2021, 10:06am UTC](https://discuss.ocaml.org/t/ann-first-release-of-osh-https-osh-ocamlpro-com/8594 "2021-10-08T10:06:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ancolie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ancolie/32/6189_2.png) [@ancolie](https://discuss.ocaml.org/u/ancolie)\
**Post date:** [October 8, 2021, 10:06am UTC](https://discuss.ocaml.org/t/ann-first-release-of-osh-https-osh-ocamlpro-com/8594/1 "2021-10-08T10:06:11Z")

</div>

Hi,

I’m pleased to announce the first release of [osh](https://osh.ocamlpro.com), a website providing an API to generate SVG badges.

E.g. this url: `https://osh.ocamlpro.com/badge?label=build&color=green&status=passing` will give the following result: ![build passing](https://osh.ocamlpro.com/badge?label=build&color=green&status=passing).

We also have special support for GitHub actions, using `https://osh.ocamlpro.com/badge/github/workflow/status/OCamlPro/swhid/build.yml` will give you the following: ![build passing](https://osh.ocamlpro.com/badge/github/workflow/status/OCamlPro/swhid/build.yml).

Even when using the special GitHub action endpoint, you can override any parameter, e.g. `https://osh.ocamlpro.com/badge/github/workflow/status/OCamlPro/swhid/build.yml?color=blue` will give you the following: ![build passing](https://osh.ocamlpro.com/badge/github/workflow/status/OCamlPro/swhid/build.yml?color=blue).

We’re willing to add any other special endpoint if someone is interested. 🙂

The [source code is available on OCamlPro’s Gitlab](https://gitlab.ocamlpro.com/OCamlPro/osh), it’s made with [ocb](https://github.com/OCamlPro/ocb) for the badge generation part, [dream](https://github.com/aantron/dream), [ezcurl](https://github.com/c-cube/ezcurl), [omd](https://github.com/ocaml/omd), [crunch](https://github.com/mirage/ocaml-crunch) and [Yojson](https://github.com/ocaml-community/yojson).

There’s also an [opam package](https://opam.ocaml.org/packages/osh) in case you want to host your own instance.

Enjoy !

---

<div class="post-metadata">

**Author:** ![ancolie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ancolie/32/6189_2.png) [@ancolie](https://discuss.ocaml.org/u/ancolie)\
**Post date:** [October 8, 2021, 10:33am UTC](https://discuss.ocaml.org/t/ann-first-release-of-osh-https-osh-ocamlpro-com/8594/2 "2021-10-08T10:33:28Z")

</div>

Aaaaaand it looks like it’s already broken. 🙂

I’m not sure yet if we’ve already reached the GitHub rate limiting or whatever, will be fixed soon…

---

<div class="post-metadata">

**Author:** ![Kakadu](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/kakadu/32/1204_2.png) [@Kakadu](https://discuss.ocaml.org/u/Kakadu)\
**Post date:** [October 8, 2021, 11:51am UTC](https://discuss.ocaml.org/t/ann-first-release-of-osh-https-osh-ocamlpro-com/8594/3 "2021-10-08T11:51:41Z")

</div>

I recently found a special badge generator which adds some description information to the badge, like operation system and compiler version. Do you support that too?

[https://github-actions.40ants.com/?url=https%3A%2F%2Fgithub.com%2Focaml%2Fdune](https://github-actions.40ants.com/?url=https%3A%2F%2Fgithub.com%2Focaml%2Fdune)

---

<div class="post-metadata">

**Author:** ![ancolie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ancolie/32/6189_2.png) [@ancolie](https://discuss.ocaml.org/u/ancolie)\
**Post date:** [October 8, 2021, 12:12pm UTC](https://discuss.ocaml.org/t/ann-first-release-of-osh-https-osh-ocamlpro-com/8594/4 "2021-10-08T12:12:03Z")

</div>

Not yet but it shouldn’t be hard to add. 🙂

---

<div class="post-metadata">

**Author:** ![ancolie](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/ancolie/32/6189_2.png) [@ancolie](https://discuss.ocaml.org/u/ancolie)\
**Post date:** [October 8, 2021, 3:58pm UTC](https://discuss.ocaml.org/t/ann-first-release-of-osh-https-osh-ocamlpro-com/8594/5 "2021-10-08T15:58:55Z")

</div>

I added some cache mechanism and it seems to be working well now.
