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

haskell tester: make stack resolver version a setting #526

Merged

Conversation

donny-wong
Copy link
Contributor

@donny-wong donny-wong commented May 17, 2024

Make Stack Resolver a setting. It is a setting in two places. One is in the environment setting, where when we first install the tester, we will install this version in the setting. Second, is on the test settings where the instructor decides on the version. Currently there is only 1 resolver version to choose from. In the future, we will add to the list.

Note:
in the file "server/autotest_server/init.py" we added the following lines:

            requirements_path = os.path.join(os.path.dirname(__file__), "../requirements.txt")
            subprocess.run([f"{default_env}/bin/pip", "install", "-r", requirements_path], check=True)

The reason for this is because when we import the config for the Haskell tester, we require the jsonschema module. This was not already present in the defaultvenv.

2 Testing procedure:

  1. Environment Setting:
    • requires rebuilding docker environment for new env var STACK_RESOLVER
    • save Automtated Testing settings to see if that is successful
    • run a test for a submission to see if that is successful
  2. Test setting:
  • Rebuild schema: we have a new field "Resolver version"
  • Save the Haskell Automated Test settings to include the Resolver version
  • Run a submission for a Haskell assignment to see if it is successful

@donny-wong donny-wong linked an issue May 17, 2024 that may be closed by this pull request
Copy link
Contributor

@pretendWhale pretendWhale left a comment

Choose a reason for hiding this comment

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

@donny-wong looks great! I just noticed one issue with the changelog that needs fixing (and one additional issue on re-review).

Changelog.md Show resolved Hide resolved
Copy link
Contributor

@david-yz-liu david-yz-liu left a comment

Choose a reason for hiding this comment

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

@donny-wong Okay I think this is on the right track but still not aligned with what I'm looking for.

I don't need a "default" LTS version to be specified as a global autotest server setting. I do want a user setting, which is what you added in that PR, so that's good.

server/autotest_server/__init__.py Outdated Show resolved Hide resolved
@david-yz-liu david-yz-liu merged commit 9b750fe into MarkUsProject:master Jun 1, 2024
13 checks passed
@pretendWhale pretendWhale added this to the v2.4.4 milestone Jun 25, 2024
pretendWhale pushed a commit to pretendWhale/markus-autotesting that referenced this pull request Jul 2, 2024
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.

haskell tester: make stack resolver a setting AB#316
3 participants