Create New Track for ReScript

Yeah, some repos include problem-specifications as a sub-module. Others let the contributor specify the path to their local repository. I believe configlet sync uses its own cached copy of the problem-specs repo so you might be about to hook into that. Likely, the simplest would be for the contributor to specify the path.

Then once we have the problem specs, parsing the tests.toml is fairly straightforward. Match up the names and drop anything that has an include = false line after the description. include = true is the implicit default so it’s pretty unlikely we’d encounter that. There’s sometimes a comment field added, but that’s typically to explain why something isn’t included. So you can just check if there’s an include = false somewhere between a test and the next test and then drop that test if so.

argh i pushed an option using the problem specification for the test generator. I will look into the option for specifying the path instead if it will end up being simpler for a contributor.

I managed to mark tests to skip using the current testing library, and also make some commands in the Makefile for generating tests. It works so far it seems, but again I can look at the other option you said above. Any tips are always welcome!

I think we have enough to merge in that first PR. A large part of building out the track will be experimenting with what works and doesn’t work so we can revise as we go.

should I tackle the skip test parts before we merge? To skip or not to skip, that is the question.

You should. There is plenty of reasons why things need to be skipped in a language. Scenarios, for example, or replaced tests.

Hello World only has one test so there’s nothing to skip. We can merge without skipping behavior and then handle it on the next exercise PR where it’ll come up organically. Smaller, tightly focused PRs will be easier to review.

that is merged for now. I will re-evaluate in the morning, unless you have priorities that we should attend to.

I am thinking:

  • update README with details on populating the problem-specification module, and the test generation commands in the Makefile

  • template directory with files that we need to populate each exercise directory with

  • add more exercises

  • with more exercises comes more tests, therefore potential for skipping tests and building a library of common assertions

@ErikSchierboom, I don’t seem to have write permissions in GitHub - exercism/rescript-test-runner Ā· GitHub. GitHub - exercism/rescript: Exercism exercises in ReScript. Ā· GitHub itself is fine.

Otherwise, the track is going well. We’re already at 16 exercises drafted or merged in.

Found and fixed

The PL/SQL track was about practicing the programming language PL/SQL (functions, control flow, etc), and not at all about SQL.

The build and deploy in the CI is failing in the rescript test runner repo at Deploy Ā· Workflow runs Ā· exercism/rescript-test-runner Ā· GitHub. It seems the repo needs credentials added for DockerHub.

We’re at 28 exercises so far added to the repo. Once the test runner issue is fixed, I think we’re ready for the staff to hook up the infrastructure so the track is available to other maintainers. We still need to write track docs but I’ll work on that this week.

1 Like

Terraform PR opened: Enable rescript-test-runner for production by ErikSchierboom Ā· Pull Request #144 Ā· exercism/terraform Ā· GitHub I’ve done the Docker Hub part.

1 Like

Remove newline to force republish (#5) Ā· exercism/rescript-test-runner@4153321 Ā· GitHub is still failing unfortunately.

Yes, because the terraform PR has been’t merged yet (after which the terraform script needs to run). This is done by @ihid, but he’s very busy right now.

1 Like

Ah, got it. I thought the two were separate. Thanks!

Hello all,

Which stage are we currently at with this?

If I can take on additional tasks please let me know. Although I am away from the 28th April until 4th May.

The Terraform PR still needs to go through for the test runner which requires staff approval. Otherwise, we’re at 32 exercises so we’re looking good. The track docs need to be written, but I’ll be working on that again next week. Once the Terraform stuff goes through, other maintainers can look through the track, and we can get some feedback. Depending on how that goes, we should be ready for launch after that.

1 Like

Thanks for the update. I have been a little busy myself, so I a have not been as active as I would have liked.

Developer docs wise, I believe the last thing I did was a 1st draft based on your suggestions. When you get a moment, I would appreciate some feedback on that.

I will be much more available now, so if there is anything extra I can do just let me know.

The track docs are all sorted. It looks like the earlier Terraform PR was merged, and the test runner image is available on Docker Hub. I think we still need some internal plumbing sorted since https://exercism.org/tracks/rescript 404s currently. Once that’s resolved, we can start soliciting fellow maintainers’ feedback.

3 Likes