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

Introduce Dockerfile #34

Merged
merged 2 commits into from
Aug 23, 2023
Merged

Conversation

themarcelor
Copy link
Contributor

Introducing a Dockerfile to help others with a quick method to execute CIEL, so anyone can get up to speed with it without having to spend time with any local configuration.

Testing results:

% docker run -it ciel-docker /bin/bash
root@0ee2dd9214d9:/home# ciel --version
ciel version 0.1

@vindarel
Copy link
Contributor

vindarel commented Aug 5, 2023

Awe-some, thanks a lot 🙏

I'll try ASAP, it looks simple and perfect though.

ps: I'm trying to get some time away from keyboard in August, I don't promise on being super reactive!

pps: tudo beleza obrigado :D

@vindarel
Copy link
Contributor

We can simplify the Dockerfile a bit, the image has a built-in way to get Quicklisp:

before_script:
  - QUICKLISP_ADD_TO_INIT_FILE=true /usr/local/bin/install-quicklisp

@themarcelor
Copy link
Contributor Author

Great catch @vindarel 😃 I've pushed a new commit. Please take another look when you have a chance. 😎

@vindarel vindarel merged commit aebb71b into ciel-lang:master Aug 23, 2023
@themarcelor
Copy link
Contributor Author

Nice! 👍🏼 @vindarel Let me know you think we should add some note to the README.md about this.

@vindarel
Copy link
Contributor

yep, see the new PR!

More questions:

  • have you tried to build a CIEL core image in the same (Docker) image? This will enable users to use CIEL with their editor.
    • (it should be a matter of calling make image)
  • I think you should avoid copying files from the local bin/ directory to Docker (in my case it existed because I had built CIEL before)
    • maybe avoid a large "COPY . ." and even be conservative/precise in the list of file sources?

(bonus)

@themarcelor
Copy link
Contributor Author

@vindarel yeah, that make image command works fine inside the container 🎉

CIEL [master] % docker run -it ciel /bin/bash
root@5522fd70b9a0:/home# make image
sbcl --load build-image.lisp
...
  Load 1 ASDF system:
    ciel
; Loading "ciel"
..................................................
[package osicat]..................................
[package moira]..........
[undoing binding stack and other enclosing state... done]
[performing final GC... done]
[saving current Lisp image into ciel-core:
writing 1840 bytes from the read-only space at 0xf0000000
writing 3056 bytes from the static space at 0xf0200000
writing 130220032 bytes from the dynamic space at 0x1000000000
done]
root@5522fd70b9a0:/home# echo $?
0

Regarding the COPY . ., I agree that we don't need / shouldn't copy everything.
Perhaps we should limit the list to:

  • COPY Makefile .
  • COPY src .
  • COPY build-image.lisp ciel.asd find-dependencies.lisp repl.lisp shell-utils.lisp utils.lisp build-config.lisp repl-utils.lisp scripting.lisp .

?

btw, the apt-cache is an amazing idea 💡 I can cut a new PR later this week.

@themarcelor themarcelor deleted the introduce-Dockerfile branch December 21, 2024 23:35
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

Successfully merging this pull request may close these issues.

2 participants