Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
avsm opened this issue Nov 21, 2019 · 54 comments
Open

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

avsm opened this issue Nov 21, 2019 · 54 comments

Comments

@avsm
Copy link
Member

avsm commented Nov 21, 2019

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
Copy link

anuragsoni commented Nov 23, 2019

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 😄

@anuragsoni
Copy link

anuragsoni commented Nov 23, 2019

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
Copy link

lthls commented Jan 17, 2020

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
Copy link

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! 👍

@smorimoto
Copy link
Member

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

@giltho
Copy link
Collaborator

giltho commented Mar 3, 2020

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
Copy link
Contributor

aantron commented Mar 14, 2020

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
Copy link

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

@smorimoto smorimoto pinned this issue Apr 21, 2020
@hcarty
Copy link
Member

hcarty commented May 5, 2020

I'm using this in:

Thank you so much! That is a wonderful tool.

@jonsterling
Copy link

jonsterling commented May 8, 2020

@Amar1729
Copy link

Amar1729 commented Jun 8, 2020

@atrieu
Copy link

atrieu commented Aug 28, 2020

@leviroth
Copy link

leviroth commented Sep 8, 2020

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

@leostera
Copy link
Contributor

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

@edwintorok
Copy link

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
Copy link
Contributor

psafont commented Nov 25, 2020

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
Copy link

Drup commented Dec 5, 2020

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
Copy link

tjammer commented Dec 6, 2020

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
Copy link

maelvls commented Dec 23, 2020

Using it for touist! ✨

@smorimoto
Copy link
Member

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
Copy link

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

@smorimoto
Copy link
Member

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
Copy link

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
Copy link
Member

smorimoto commented Dec 30, 2020

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
Copy link

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 actions-ml/setup-ocaml#2.

@smorimoto
Copy link
Member

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

@smorimoto
Copy link
Member

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

@giltho
Copy link
Collaborator

giltho commented May 22, 2021

Thank you for your work @smorimoto ❤️

@smorimoto
Copy link
Member

@giltho Thank you for your kind comment :)

@tmcgilchrist
Copy link

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

@c-cube
Copy link

c-cube commented Jul 30, 2021

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

@dhil
Copy link

dhil commented Jul 30, 2021

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

@GauBen
Copy link

GauBen commented Aug 3, 2021

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
Copy link
Member

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

@andreyz4k
Copy link

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
Copy link

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!! ✨

@mgree
Copy link

mgree commented Feb 24, 2022

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

@favonia
Copy link
Contributor

favonia commented Mar 4, 2022

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

@hcarty
Copy link
Member

hcarty commented Mar 5, 2022

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
Copy link

@maurobringolf
Copy link

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

@fblanqui
Copy link

fblanqui commented Sep 3, 2022

Hi. I am using it for all my projects.

@sanette
Copy link

sanette commented Oct 31, 2022

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
Copy link

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

@liyishuai
Copy link

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

@gridbugs
Copy link

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

@panyuewh
Copy link

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

@dlesbre
Copy link

dlesbre commented Apr 17, 2024

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
Copy link

cknitt commented Jun 20, 2024

Using the extension in the ReScript project:

Thanks a lot for your work!

@7h3kk1d
Copy link

7h3kk1d commented Aug 20, 2024

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

@zoj613
Copy link

zoj613 commented Aug 22, 2024

I'm using it for both bitgenerators and zarr-ml

@smorimoto
Copy link
Member

@7h3kk1d Doing additional caching yourself is one of the things you should avoid. Even if it's not broken now, the build will most certainly break at some point.

@romanchechyotkin
Copy link

Greate job!!! I used it in my ocaml lib for testing

@7h3kk1d
Copy link

7h3kk1d commented Aug 26, 2024

@7h3kk1d Doing additional caching yourself is one of the things you should avoid. Even if it's not broken now, the build will most certainly break at some point.

What's the concern if we're using an opam lock file for the caching? Without it dependencies were taking 5-6 minutes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests