YAMLScript Language Track

Cool. I have a lot of loose ends to tie off before I’d want you spending your time testing things out. So maybe best to do this next week.

1 Like

How come when I push changes to the exercism/yamlscript repo’s practice exercise content, I don’t see the changes when I run

rm -fr yamlscript && \
  exercism download --track=yamlscript --exercise=hello-world

Also how come when I share the https://exercism.org/tracks/yamlscript link with people that I want to become mentors that it is 404 for them?

Also can someone invite me to the Discord? Apparently @iHiD invited me in the past but now the invite is expired.

Sorry for all that at once, but sometimes it won’t let me do multiple posts here…

You have to update the exercise to the latest version in the Exercism UI after you make changes. Each user is “locked” to a version of the exercise and has to manually update once the exercise changes upstream (this is so student’s don’t have exercises changing under their feet, and changing tests don’t immediately make all old solutions fail). There should be a button at the top of the exercise page. If there’s not one, we may need to change the files that we consider having “changed” to invalidate the exercise.

Discord is at Exercism - no invite needed, but make sure to link your accounts at Exercism to get access to the mentoring channels.

1 Like

Why am I no longer able to push to exercism/yamlscript ?

~/src/exercism/yamlscript main $ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 331 bytes | 331.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote: error: GH013: Repository rule violations found for refs/heads/main.
remote: Review all repository rules at http://github.com/exercism/yamlscript/rules?ref=refs%2Fheads%2Fmain
remote: 
remote: - Changes must be made through a pull request.
remote: 
To github.com:exercism/yamlscript
 ! [remote rejected] main -> main (push declined due to repository rule violations)
error: failed to push some refs to 'github.com:exercism/yamlscript'

It looks like branch-protection has been turned on for the track. This is down to some changes we’ve made org-wide, but shouldn’t be affecting wip tracks. @ErikSchierboom One for you.

@m-dango made Enable test runner by m-dango · Pull Request #13 · exercism/yamlscript · GitHub
but I wasn’t quite ready to have the test-runner turned on.
IOW I’m not quite yet looking for review (but hopefully very soon).

I reverted that change here Revert "Enable test runner (#13)" by ingydotnet · Pull Request #16 · exercism/yamlscript · GitHub

For the record… what things happen when the test runner is enabled?

FYI I am currently able to make PRs and then merge them.
So this isn’t a show stopper on my side. Just an aggravation…

Ah, a mistake in my script then. I’ll fix

@ingydotnet The bug has been fixed! You can now commit to main again. Note that once you’re launching the track, we’ll be changing this to require PRs.

Primarily you can test things with the online editor online.

@ErikSchierboom Thanks.

once you’re launching the track, we’ll be changing this to require PRs

That’s what i’d expect :+1:

Primarily you can test things with the online editor online.

@iHiD That’s what I thought. Just wanted to check if it was anything more. @m-dango things aren’t quite where I want them for online testing. Hopefully tomorrow.

1 Like

All my exercises have (currently 3) files that are the same.
Another one in the .meta/ dir.

I keep all these files under the common/ directory, and then have a make update command that copies them 42 times.

I’d like to avoid that. I tried symlinks but that didn’t work right.
Is there a way to use the shared directory for this?
I don’t see anything about it in Shared files | Exercism's Docs

PS This is not blocking the YS track’s progress or usability… It just feels wrong to commit all this duplication. I was hoping that the process to pull out the parts that a user downloads with exercism CLI would deref the symlinks, but that doesn’t seem to happen…

I’ve connected to the Exercism Discord server.

I’ve linked this forum to it from here: Exercism

I thought there was supposed to be a #contributing channel but I can’t find it.

image

What are the “rep-based channels” mentioned there?

Can someone please msg me on Discord?

There isn’t a #contributing channel.
I think the closest to a rep-based currently might be #insiders if you gain access through rep. I believe there are other routes including donating, and several folks have lifetime insider access.

Otherwise. you have #supermentors. To be a supermentor, you historically needed 100+ mentored solutions on a single track.

#maintainers is for track maintainers and isn’t rep-based.

This is one of the architectural decisions all Exercism tracks have to live with. Your solution is common to most tracks.

1 Like

This came up recently for the C++ track but several other tracks also copy files to each exercise folder so it’s been discussed before. If I recall correctly, the shared folder was intended for this originally, and it’s been on Erik’s to-do list for a while. One of the issues was that the site would then need to consider the current contents of the shared folder for judging if an exercise is out-of-date. Some small changes may not justify marking all the exercises out-of-date.

1 Like

We originally did plan the .shared directory for that, but never got around to implementing it. With me no longer being employed, that won’t change anytime soon, sorry.

No worries. Just wanted to know how it works. Thanks.

I feel like the YAMLScript track is ready to launch.
I’m adding content to the yamlscript.org docs, but I’m thinking to launch the track tomorrow.
Anything I’m missing?
Any last minute advice?

The ABOUT doc

All of the solutions to the exercises in this track have be done in 3 to 50 well spaced lines of YAMLScript (median of 11, avg of 14.5 lines).

  • typo “have be done”
  • are the stats really necessary?

config.json:

  • sort the exercises first by difficulty, then by name (or by the order you think makes best sense for a beginner).
  • Typically, students use https://exercism.org/tracks/yamlscript/exercises and start on the first available exercise. If it’s too hard, they’ll get discouraged.

The auto-install feature looks really cool.

How to learn YAMLScript has the same links as Useful YAMLScript resources ??

  • perhaps you could trim the “how to learn” page to just one or two references.
1 Like

Um, it seems premature to launch when the yamlscript reference docs are unfinished (e.g. https://yamlscript.org/doc/operators/). How am I supposed to learn the language to complete the exercises?