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

[Feature:Autograding] Add Prolog image #43

Merged
merged 9 commits into from
Sep 1, 2024
Merged

Conversation

ION606
Copy link
Contributor

@ION606 ION606 commented Aug 24, 2024

Please check if the PR fulfills these requirements:

  • Tests for the changes have been added/updated (if possible)
  • Documentation has been updated/added if relevant

What is the current behavior?

none

What is the new behavior?

we can now run prolog files

Other information?

this is not a breaking change and I tested it using:

docker build -t prolog-environment .
docker run -it prolog-environment
  > swipl
      > ?- write('Hello, Prolog!'), nl.
      > ?- halt.

@ION606
Copy link
Contributor Author

ION606 commented Aug 24, 2024

I'm still a bit confused on how to contribute to this repository, so if this is wrong please let me know.

@ION606 ION606 changed the title Prolog [Feature:Autograding] Add Prolog image Aug 30, 2024
Copy link
Member

@cjreed121 cjreed121 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's typically preferred to try and lock dependencies for good reproducibility in builds. Can we lock swi-prolog to it's current major version? And if so, it would probably be good to have the tag name be that major version rather than latest.

dockerfiles/prolog/latest/Dockerfile Outdated Show resolved Hide resolved
dockerfiles/prolog/latest/Dockerfile Outdated Show resolved Hide resolved
@cjreed121 cjreed121 changed the title [Feature:Autograding] Add Prolog image [Feature:Autograding] Add Prolog image Aug 30, 2024
@ION606
Copy link
Contributor Author

ION606 commented Aug 30, 2024

It's typically preferred to try and lock dependencies for good reproducibility in builds. Can we lock swi-prolog to it's current major version? And if so, it would probably be good to have the tag name be that major version rather than latest.

swipl seems to not allow installing versions? I think? Trying to install it with any version resulted in the below error. I can install the dpkg manually (like they do here) but I don't know if that would take too long to get and compile and run.

egg

@cjreed121
Copy link
Member

Which version of prolog are you looking to install on this Docker image? Ubuntu repos for 22.04 only have up to 8.4.2. If you wanted to specify this version for apt you would use swi-prolog=8.4.2+dfsg-2ubuntu1 which was retrieved from https://packages.ubuntu.com/jammy/swi-prolog.

If you wanted a later version, you could look into using the PPA provided by swi-prolog. dpkg is definitely an option but let's try not to complicate this image too much.

dockerfiles/prolog/latest/Dockerfile Outdated Show resolved Hide resolved
@cjreed121
Copy link
Member

Last thing is to change the latest dir name to 8 so the tag is submitty/prolog:8. Also want to wait until #44 is merged, then have you merge main back in so that the test runs properly.

@bmcutler bmcutler merged commit 2fbdfbe into Submitty:main Sep 1, 2024
3 checks passed
@ION606 ION606 deleted the prolog branch September 1, 2024 19:06
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.

3 participants