Create a devcontainer for working on the repo#744
Conversation
| @@ -0,0 +1,17 @@ | |||
| [tools.perl] | |||
| version = "latest" | |||
There was a problem hiding this comment.
The releases are only for stable versions: https://github.com/skaji/relocatable-perl
With tools like mise and asdf, latest typically means latest stable:
https://asdf-vm.com/manage/versions.html#install-latest-stable-version
There was a problem hiding this comment.
Pinning it by explicit stable version means that we do not get a surprise version dump and whatever that brings, but will later purposefully move the version to the newer version.
Pinning it means that the upgrade happens when we mean for it to happen, rather than incidentally happening outside of our control, and testing.
| bin/exercise-gen.pl ${usage_slug?} | ||
| ''' | ||
|
|
||
| [tasks.test-practice-example] |
There was a problem hiding this comment.
Should we have a task testing all exercises?
| bin/exercise-gen.pl ${usage_slug?} | ||
| ''' | ||
|
|
||
| [tasks.test-practice-example] |
There was a problem hiding this comment.
Also, hard to remember "example" as opposed to "exercise".
There was a problem hiding this comment.
Would it make sense to name the tasks so that it is mise test-exercise two-fer for example? And have it not necessarily need to distinguish from concept and practice.
There was a problem hiding this comment.
I may just remove the task. Since the command is just a shortcut to prove I don't think it gives much value.
There was a problem hiding this comment.
The benefit of mise-en-place is similar to that of Make and others, in that you have potential of "menu" items where things are documented for use by the tool itself.
For those that may not have the tool, they can still look at the tasks to see how to run those commands, and in one place. So there is that value as well.
There was a problem hiding this comment.
Also, since it is a task that went away, it is likely that I will have a mise.local.toml file that puts those things in place anyway, ignored and untracked in the repository itself, but so that there is a suite of tooling that is consistent with the generate task.
Otherwise, then, does it make sense to introduce mise-en-place if it is only going to be used for the limited purpose. The generate can be done using the scripts in bin anyway, and it seems to be documented well enough, otherwise.
There was a problem hiding this comment.
I am approving since the current mise configuration is for the devcontainer, and can incidentally be used directly by the maintainer/contributor, but the focus is on the devcontainer use.
There was a problem hiding this comment.
I've added a test task. It does the practice exercises and generator tests, but need to do some tweaks to include testing concepts.
I may add some arguments later on.
|
@BNAndras I had to install the |
n.b.: I do see https://metacpan.org/pod/Readonly#Requirements that seems to indicate contrarily. But I was surprised to see that the mise test was failing, even though it updated to the specific version of Perl5 that this change indicates. |
|
I've added Readonly to the main cpanfile, and switched the test harness from |
|
@glennj added that exercise, not me. I don’t speak Perl. :) |
No description provided.