ocaml / setup-ocaml

GitHub Action for the OCaml programming language
https://ocaml.org/
MIT License
195 stars 38 forks source link

If you are using this Action, do comment here #4

Open avsm opened 4 years ago

avsm commented 4 years ago

Just recording existing users of it to look at how it's being used. Feel free to comment here with your own Yaml files!

anuragsoni commented 4 years ago

Thanks for publishing this. I've started using this instead of travis for my project https://github.com/anuragsoni/routes/tree/master/.github/workflows

I'm using ubuntu to test various versions for pull-requests, then on merge i run an action to test on windows + mac + linux. I'm also using an action to run ocamlformat and automatically open a pull request (if any changes are needed) with the formatting fixes. So far the experience is really great :smile:

anuragsoni commented 4 years ago

I did notice one issue with the windows builds when running with a pull-request trigger. It fails with an error about --working-dir not active. The windows action works fine with a push trigger. Some logs can be seen at https://gist.github.com/anuragsoni/198f8b8773c9e686b727c77e0079adba

lthls commented 4 years ago

Hi,

We're using this action as part of our CI at ocaml-flambda (you can find our yml files here). We're actually using it only for installing (and initializing) opam, as we need to create custom switches, but it works great for that.

We've just noticed that caching the .opam directory seems to (kind of) work, and we plan to take advantage of it. If you have any insights on how this would interact with this Action, we'd love to hear it.

carlosdagos commented 4 years ago

I'm using it, pretty much just copy-pasted your hello world example, except just compiling for ubuntu. Worked right out of the box. Thanks a million! :+1:

smorimoto commented 4 years ago

I already use this in some industrial projects. Great work!

giltho commented 4 years ago

Just saw this issue I've been using it for a while on all kinds of projects (mostly private). I was at your talk at ReasonML London and I was dying to try it :)

aantron commented 4 years ago

I'm using it in Luv. It saved me a lot of time, as I was looking at manually installing Cygwin in the Windows runners before I found this! That would also have required a separate job definition from the Unix jobs.

g1eny0ung commented 4 years ago

I'm using this in PingCAP.

This action helps me building an exec to upload static assets to the cloud buckets. And also saving my time to install Opam hand by hand. Very thx.

Here is the yml file.~

https://github.com/pingcap/cloud-assets-utils/blob/master/.github/workflows/test.yml

hcarty commented 4 years ago

I'm using this in:

Thank you so much! That is a wonderful tool.

jonsterling commented 4 years ago

I'm using this in https://github.com/jonsterling/cooltt/blob/master/.github/workflows/ocaml.yml

Amar1729 commented 4 years ago
atrieu commented 4 years ago

I'm using this in https://github.com/pl-deadlines/pl-deadlines.github.io

leviroth commented 4 years ago

I've been using it for a couple weeks now: https://github.com/leviroth/ocaml-reddit-api

leostera commented 3 years ago

I've started using this with an OCaml to Erlang compiler: caramel

edwintorok commented 3 years ago

We've been using it for a while (@psafont set it up): https://github.com/xapi-project/xs-opam/blob/master/.github/workflows/main.yml#L43. We also have an opam cache configured.

psafont commented 3 years ago

xs-opam is a custom opam repo for the xapi project.

We're loading it for the biggest and most modified package we have in github actions as well: https://github.com/xapi-project/xen-api/blob/master/.github/workflows/main.yml

Additionally a common .env file is used to configure the ENV vars in the CI for 26 repositories, most of them using travis :(

Drup commented 3 years ago

I wanted to try out the new hotness in CI for a new library. It took a while but I even managed to make it generate the doc and auto-push it to github-pages: https://github.com/Drup/peahell/blob/master/.github/workflows/workflow.yml

tjammer commented 3 years ago

I'm using the Action for my raylib bindings, it's been really helpful so far https://github.com/tjammer/raylib-ocaml/blob/master/.github/workflows/main.yml

maelvls commented 3 years ago

Using it for touist! ✨

smorimoto commented 3 years ago

I've been working on rewriting the action. And now it can be set up OCaml enviroment on all platforms except Windows in about 50 seconds. (As you know, it used to take about 8 minutes...) Is there any tester who can try it?

g1eny0ung commented 3 years ago

@smorimoto Awesome! I'm quite interested in this change, should I use the avsm/setup-ocaml@master to test it?

smorimoto commented 3 years ago

No, it's published under the actions-ml organization. But at this time, it's not clear where it will be managed, and use it knowing that some migration may be required. https://github.com/actions-ml/setup-ocaml

g1eny0ung commented 3 years ago

No, it's published under the actions-ml organization. But at this time, it's not clear where it will be managed, and use it knowing that some migration may be required. https://github.com/actions-ml/setup-ocaml

Know about it. I will try to use it when the doc is available. 😄

smorimoto commented 3 years ago

The API is exactly the same at this time.

https://github.com/actions-ml/setup-ocaml/blob/master/action.yml

So you can use it by doing the following:

- name: Use OCaml ${{ matrix.ocaml-version }}
  uses: actions-ml/setup-ocaml@master
  with:
    ocaml-version: ${{ matrix.ocaml-version }}
g1eny0ung commented 3 years ago

The API is exactly the same at this time.

https://github.com/actions-ml/setup-ocaml/blob/master/action.yml

So you can use it by doing the following:

- name: Use OCaml ${{ matrix.ocaml-version }}
  uses: actions-ml/setup-ocaml@master
  with:
    ocaml-version: ${{ matrix.ocaml-version }}

To https://github.com/actions-ml/setup-ocaml/discussions/2.

smorimoto commented 3 years ago

All of the efforts and useful exploration results at actions-ml are being pushed back to the upstream: avsm/setup-ocaml#66

smorimoto commented 3 years ago

I just released the first v2 alpha release. https://discuss.ocaml.org/t/ann-set-up-ocaml-2-0-0-alpha/7895

giltho commented 3 years ago

Thank you for your work @smorimoto ❤️

smorimoto commented 3 years ago

@giltho Thank you for your kind comment :)

tmcgilchrist commented 3 years ago

I'm using this in ocaml-aws along with some private OCaml projects. Works really nicely!

c-cube commented 3 years ago

I'm slowly migrating all my repos to this, it works well! (except for #179 which I just hit :joy: )

dhil commented 3 years ago

The https://github.com/links-lang/links project is using this action.

GauBen commented 3 years ago

I'm using this action as well, and it broke recently:

I don't have much time to investigate right now, I'll open an issue with more details in the future.

smorimoto commented 3 years ago

@GauBen It seems to be an upstream issue. See #195.

andreyz4k commented 3 years ago

I've just started to use this action for https://github.com/andreyz4k/ec/blob/dune_builder/.github/workflows/main.yml#L16 It would be nice if there would be a way to cache compiled dependencies and not only their downloads

mooreryan commented 2 years ago

I've been using this action for a while now on many different repositories...I really appreciate the work and it really helps simplify getting ocaml working with github actions. Thanks!! :sparkles:

mgree commented 2 years ago

I use this action for both libdash and smoosh. Super helpful and way easier than what I was doing in Travis!

favonia commented 2 years ago

I'm using this in our OCaml projects. In addition to the cooltt mentioned above, there are yuujinchou and bantorra.

hcarty commented 2 years ago

I'm using this for builds of my bindings for the orx game engine. setup-ocaml has been particularly helpful in this project as there are small linking differences between platforms which are far easier to avoid breaking thanks to these CI checks!

mattjbray commented 2 years ago

I'm using this action for ocaml-decoders: https://github.com/mattjbray/ocaml-decoders/blob/3fbca7ab4e92e1aeb749f033ec8ab530fecf0490/.github/workflows/build.yml

maurobringolf commented 2 years ago

I'm using this for https://github.com/maurobringolf/mnd and various private projects, thanks a lot :pray:

fblanqui commented 2 years ago

Hi. I am using it for all my projects.

sanette commented 1 year ago

Hi I'm using this (adapted from the "hello-world" example) for snóke: https://github.com/sanette/snoke I was able to download the binaries as artefacts, that's great. Many thanks!

It used to work well for macos and ubuntu, unfortunately I was not able to make it build on windows due to the SDL version being to old there. Also, as of today, ubuntu has been failing:

  <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
  + /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libsdl2-dev" "libsdl2-image-dev" "libsdl2-ttf-dev"
  - E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/d/dbus/libdbus-1-dev_1.12.16-2ubuntu2.2_amd64.deb  404  Not Found [IP: 52.154.174.208 80]
  - E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
  This command should get the requirements installed:

      apt-get install -qq -yy libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev

  [ERROR] System package install failed with exit code 100 at command:
              sudo apt-get install -qq -yy libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev

Apparently some url for ubuntu archive is not valid anymore.

[EDIT]: solved by : https://github.com/briansmith/ring/pull/1143/files

haruki-sugarsun commented 1 year ago

+1 for personal projects. Thank you so much for the great work~

liyishuai commented 1 year ago

The (operating system * OCaml version) matrix made compatibility much easier to maintain.

gridbugs commented 1 year ago

Using this for my project https://github.com/gridbugs/llama. Thanks for making it!

panyuewh commented 7 months ago

I'm using it for my project https://github.com/panyuewh/gym-http-api. Thanks for making the tool!

dlesbre commented 4 months ago

I'm using it for two of my projects: https://github.com/codex-semantics-library/patricia-tree and https://github.com/dlesbre/coq-prettier-makefile. it easy to setup and allows quickly checking the build across multiple ocaml version. Thanks for this great tool !

cknitt commented 2 months ago

Using the extension in the ReScript project:

Thanks a lot for your work!

7h3kk1d commented 3 weeks ago

We're using this for Hazel here. We're also manually caching the switch since that seemed to speed up dependencies dramatically.