8th track just that bit closer to launch

The 8th track is one step closer to launch now that we have cracked the 20 examples barrier. There’s still some work to be done on the documentation (and there are other examples that have been contributed that I will add in as time permits.)

Sniff around inside if you wish. Please let me know what glaring errors there are (I expect there may be a few.) If you signup for the track and download for the CLI, you may get a previous version of the exercises – I just tried an exercism download of the the isogram exercise and got one of my earlier distributions rather than the current with the improved testing library. I’ve no idea why this is happening. Latency?

According to the launch tracking document, there’s a CI/CD step. This is quite outside my skill set. Anyone?

If you do have a go at any of the exercises you may have trouble getting mentoring. I just tried to select 8th as one of the languages I mentor and was unable, suggesting one can only mentor launched tracks.

3 Likes

Great work!

The main next step I guess is a test runner. I’ve created a repo for you based on our generic test-runner: GitHub - exercism/8th-test-runner - if you need help, ping @ErikSchierboom :slightly_smiling_face:

Ah yes, that chestnut. Almost lost my sanity on that six months ago. Let’s see if i can do better this time.

1 Like

The main thing is getting 8th-test-runner/run.sh at main · exercism/8th-test-runner · GitHub to have the correct line to run the tests.

And then Erik can help with the Dockerfile if you message him about it :slightly_smiling_face:

1 Like

If you have some working exercises, a way to install any dependencies and a way to run the tests, I’d be happy to help build it.

2 Likes
  1. Working exercises in GitHub - exercism/8th: Exercism exercises in 8th.
  2. No dependencies. Everything is in a batteries-included zip file. The language is not open-source so the distribution zip (keyed to bruce.axtens@proton.me) needs to be protected from being downloaded somehow.
  3. I got part way along the Dockerfile process as follows:
FROM ubuntu:18.04
LABEL Author="Bruce Axtens <bruce.axtens@gmail.com>"

RUN apt-get update && \
    apt-get install unzip jq -y && \
    apt-get purge --auto-remove -y && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
    
WORKDIR /opt/8th
COPY 8th.zip .
RUN unzip 8th.zip && \
    rm 8th.zip

ENV PATH=$PATH:/opt/8th/bin/lin64

ENTRYPOINT [ "8th" ]
  1. My bin/test contains the following (if that helps with run.sh etc)
for practice_exercise_dir in ./exercises/practice/*/; do
    if [ -d $practice_exercise_dir ]; then
        echo "Checking $(basename "${practice_exercise_dir}") exercise..."
	8th -f ${practice_exercise_dir}.meta/example.8th -f ${practice_exercise_dir}test-words.8th -f ${practice_exercise_dir}$(basename "${practice_exercise_dir}")-tests.8th 
        # TODO: run command to verify that the example solution passes the tests
    fi
done

– Bruce

Could we password protect the file and then have the password stored in a secret in our repo?

Could you open a PR with your latest changes, that way I can fix/test things more easily. I’ll also need the zip file.

What’s the best way to get the zip to you?

Whatever works for you. Maybe wetransfer and email me (erik @ exercism.org) the password?

WeTransfered and password emailed. Opening a PR with latest changes isn’t working because the CD/CI won’t complete. Should I rename the Dockerfile to some else?

1 Like