ocurrent / current-bench

Experimental benchmarking infrastructure using OCurrent pipelines
Apache License 2.0
33 stars 17 forks source link

Moving to latest dune #425

Closed ElectreAAS closed 1 year ago

ElectreAAS commented 1 year ago

Since #420, if building using the latest versions of dune (above 3.5.0), we had an error in the pipeline:

Error: A running dune (pid: 861738) instance has locked the build directory.
If this is not the case, please delete _build/.lock

This is because in pipeline/reload.sh we use dune build --watch and then call dev/github-app.sh, which calls dune build. This workflow has been made impossible in dune 3.6 and up with the use of lockfiles.

The simplest fix was to use dune exec --watch, introduced in the latest version of dune (3.7.0), and to call dev/github-app.sh before the call to watch. Using the latest dune version introduced a bit of noise, sorry for that.

punchagan commented 1 year ago

This is because in pipeline/reload.sh we use dune build --watch and then call dev/github-app.sh, which calls dune build. This workflow has been made impossible in dune 3.6 and up with the use of lockfiles.

Thanks for working on fixing this!

I also see an error that goes like this, when I stop the development docker container and restart it.

error checking context: no permission to read from '/home/punchagan/code/segfault/current-bench/pipeline/_build/.lock'

Adding pipeline/_build to the .dockerignore file helps. Would that be useful to add?

ElectreAAS commented 1 year ago

I also see an error that goes like this, when I stop the development docker container and restart it. error checking context: no permission to read from '/home/punchagan/code/segfault/current-bench/pipeline/_build/.lock'

I can't reproduce that... But I rm -rf pipeline/_build several times recently to clean up my directories, maybe that's the cause? If doing that doesn't solve the error, could you give me more details?

punchagan commented 1 year ago

I can't reproduce that... But I rm -rf pipeline/_build several times recently to clean up my directories, maybe that's the cause? If doing that doesn't solve the error, could you give me more details?

If I remove the files, the docker container starts up, but I run into the issue again if I shutdown the container and start it again. It may be a difference between running docker on Linux vs MacOS hosts, which is why you're probably not running into it.

ElectreAAS commented 1 year ago

I added it to the ignore file. As I can't test it on my machine I'm going to trust you on this one :)