Open avsm opened 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:
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
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.
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:
I already use this in some industrial projects. Great work!
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 :)
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.
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
I'm using this in https://github.com/pl-deadlines/pl-deadlines.github.io
I've been using it for a couple weeks now: https://github.com/leviroth/ocaml-reddit-api
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.
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 :(
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
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
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?
@smorimoto Awesome! I'm quite interested in this change, should I use the avsm/setup-ocaml@master
to test it?
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
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. 😄
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 }}
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 }}
All of the efforts and useful exploration results at actions-ml are being pushed back to the upstream: avsm/setup-ocaml#66
I just released the first v2 alpha release. https://discuss.ocaml.org/t/ann-set-up-ocaml-2-0-0-alpha/7895
Thank you for your work @smorimoto ❤️
@giltho Thank you for your kind comment :)
I'm using this in ocaml-aws along with some private OCaml projects. Works really nicely!
I'm slowly migrating all my repos to this, it works well! (except for #179 which I just hit :joy: )
The https://github.com/links-lang/links project is using this action.
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.
@GauBen It seems to be an upstream issue. See #195.
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
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:
I use this action for both libdash and smoosh. Super helpful and way easier than what I was doing in Travis!
I'm using this in our OCaml projects. In addition to the cooltt mentioned above, there are yuujinchou and bantorra.
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!
I'm using this action for ocaml-decoders
: https://github.com/mattjbray/ocaml-decoders/blob/3fbca7ab4e92e1aeb749f033ec8ab530fecf0490/.github/workflows/build.yml
I'm using this for https://github.com/maurobringolf/mnd and various private projects, thanks a lot :pray:
Hi. I am using it for all my projects.
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
+1 for personal projects. Thank you so much for the great work~
The (operating system * OCaml version) matrix made compatibility much easier to maintain.
Using this for my project https://github.com/gridbugs/llama. Thanks for making it!
I'm using it for my project https://github.com/panyuewh/gym-http-api. Thanks for making the tool!
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 !
Using the extension in the ReScript project:
Thanks a lot for your work!
Just recording existing users of it to look at how it's being used. Feel free to comment here with your own Yaml files!