New Track: Odin Programming Language

We manage permissions by teams and not at the repo level. You’re listed in Sign in to GitHub · GitHub so it’d be curious if you don’t actually have read/write permissions. I checked and that settings page is locked down for me as well on track repos I maintain and have read/write permissions.

There should be a “Leave team” button on the Odin team page if you’re a current Odin team member.

I have now “left” the team. :smile:

1 Like

I don’t see an Odin test-runner repo so that’ll need to be set up as well by Erik and then built out by the track volunteers.

Is there documentation on how to set a test-runner repo?

Main explanation is: Test Runners | Exercism's Docs
Get started is: Creating a Test Runner | Exercism's Docs

It boils down to:

  • create some script that can be executed via Docker without network access
  • have it take the solution
  • run the tests
  • generate a file in specific format at specific location

Somewhat related: Test Runner for Free Pascal - #2 by SleeplessByte

2 Likes

@SleeplessByte, that is giving me plenty to read. Thanks :slight_smile: I may get back with questions once I digest all this.

1 Like

And I just helped out with the free-pascal test runner, so it’s fresh in my mind.

1 Like

Now that the previous maintainer has stepped down, the odin team is empty. Adding maintainers is a task that only Jeremy and Erik can perform.

Who would officially like to be a maintainer?

2 Likes

Worth reading: expectations for maintainers. Maintainers | Exercism's Docs

3 Likes

Hi! I did most of the exercises in that way oversized PR, but things quieted down on the branch a bit a year ago and the day job got in the way too. I think some of the work in the PR might be outdated now.

Happy to contribute where I can, I just don’t have the capacity to take the lead on efforts right now. But I’d love to help to get the existing PR merged

1 Like

I got Erik to add me as a maintainer. I’ve cleared out the logjam of busywork PRs (dependabots, etc).

I’m just going to clean up the scripts in the bin directory, then we’ll be full steam ahead for exercise creation.

Anyone with new exercise PRs in the queue, now would be a good time to review them. For PRs with multiple exercises, please separate them into separate PRs.

Personally, I plan to focus on the non-coding side of it: docs and reviews. So go have fun, you rascally kids!

1 Like

Hi @glennj, I just saw you got us added as maintainers. Thank you!

I have been looking at making a plan for the track: exercises that would be nice under the practice track and a list of concepts with concept exercises. I will share, for review, as soon I have a decent draft.

If you are ok with this, I plan to start merging the exercises that are in the queue, when they are ready.

1 Like

Let’s do the planning for the track in GitHub issues

One exercise per PR please.

1 Like

Sounds good. It may be a couple of days before I got something ready. I got sidetrack looking at the PRs and building some tools to go through the problem specification.

1 Like

You’re at the prototyping stage, and can draw on what 78 other tracks did or didn’t do for inspiration. Now’s the perfect time for “side quests” on what makes your life easier in the future before you get locked into anything.

Test generators are fairly common but not ubiquitous so that can be interesting to look through. For the tracks with test generators, pre-authored templates for each exercise seem common and the tooling fills out the template using the problem-specifications data. Another approach I’ve seen is the test generator makes a first draft of the test suite using the problem specifications data and then a human tweaks that.

@glennj can you let me know which machine you are developing the Odin track on? I am developing on a Mac (M2) but can also run on linux (Ubuntu) or Windows. I don’t want to duplicate efforts but I would like to make sure the scripts in the bin directory work on the three platforms.

not windows :slight_smile:

I use a Mac primarily but Linux as well. I’m very cognisant about writing scripts that work across both, assuming that Mac users will do the sensible thing and install a modern bash with homebrew. (sed is particularly vexing)

For CI, we can use a matrix of containers to test example solutions in multiple platforms, if we want.

@BNAndras the current generator script (that was already written) takes the latter approach. I find that, once we nail down the format of the test suite, hand crafting the tests from the canonical data is quite efficient.

1 Like

@glennj, I do have a (secondary) windows machine. I’ll check that the scripts in the bin repo work there too.

When reviewing your PR47, I had a problem (on my Mac) with the location of the configlet cache. Since your script uses the same location for Mac and Linux, I was assuming you were not on a Mac. But now I wonder what is the difference of configuration between your Mac and mine (see my comment on configlet cache in Improve scripts by glennj · Pull Request #47 · exercism/odin · GitHub). I use homebrew heavily for most of everything.

@glennj, No need to respond to my XDG question above, I just read your comments on PR47 and it makes perfect sense now.