You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Create exercise versioning policy based on Haskell track #628
Note: This is not the same as exercism/exercism#4266 which removed tracking versions from the user code.
Proposed implementation for JavaScript
In package.json change the version number to match the x.y.z of test data versioning, and add .q which we always increment if a change is made without a sync (new test data): x.y.z.q.
@SleeplessByte For now I suggest not adding extra .q and matching with test data versions. This is ofcourse assuming that our tests will match test data exactly and we won't be needing any extra tests.
Sorry for not being clear with the issue description. Better late than never if anyone else ends up here.
The issue here is not all exercises in this track are in sync with problem specifications. Some (if not most) lag behind and miss some tests or have old version of tests. We need to take this case by case basis and do the following:
If all tests match, just update version number and we should be good.
If tests don't match, make the changes required to match them and then update the version number.
I would expect separate PRs with a few exercises - not more than 3-4 in one PR so that it is easy to review.
@smb26 ❤️ of course. Could you start by opening another issue with at least the ones you're doing but preferably all the exercises as a checkbox (like I did with #600) and name it:
@tejasbubane any update on the makefile change to remove the version / replace it with 0.0.0 when doing the integrity check (when running make test-travis as well as merging the current version into the copy when running make?
Haskell's versioning policy was decided in exercism/haskell#522, implemented in exercism/haskell#523 and documented in exercism/haskell#716. In particular, the main benefit of having a fourth serial version number is that you can track changes to any part of the exercise files given to a user.
Having only the canonical version means you can keep the exercise up-to-date with canonical tests.
I was planning to add versions to package.json files but I guess there are more options being discussed in exercism/discussions#239. We will wait for a decision to be made over there.
Activity
tejasbubane commentedon Mar 5, 2019
@SleeplessByte For now I suggest not adding extra
.qand matching with test data versions. This is ofcourse assuming that our tests will match test data exactly and we won't be needing any extra tests.tejasbubane commentedon Mar 5, 2019
Sorry for not being clear with the issue description. Better late than never if anyone else ends up here.
The issue here is not all exercises in this track are in sync with problem specifications. Some (if not most) lag behind and miss some tests or have old version of tests. We need to take this case by case basis and do the following:
I would expect separate PRs with a few exercises - not more than 3-4 in one PR so that it is easy to review.
SleeplessByte commentedon Mar 5, 2019
@tejasbubane yep! I'll make a checklist too.
smb26 commentedon Mar 14, 2019
Can I have it please? 😄
SleeplessByte commentedon Mar 14, 2019
@smb26 ❤️ of course. Could you start by opening another issue with at least the ones you're doing but preferably all the exercises as a checkbox (like I did with #600) and name it:
Note the steps are listed here: #628 (comment)
SleeplessByte commentedon Apr 10, 2019
@tejasbubane any update on the makefile change to remove the version / replace it with 0.0.0 when doing the integrity check (when running
make test-travisas well as merging the current version into the copy when runningmake?sshine commentedon Jun 26, 2019
Haskell's versioning policy was decided in exercism/haskell#522, implemented in exercism/haskell#523 and documented in exercism/haskell#716. In particular, the main benefit of having a fourth serial version number is that you can track changes to any part of the exercise files given to a user.
Having only the canonical version means you can keep the exercise up-to-date with canonical tests.
SleeplessByte commentedon Jun 26, 2019
Thank you for these links @sshine !
tejasbubane commentedon Jul 1, 2019
I was planning to add versions to
package.jsonfiles but I guess there are more options being discussed in exercism/discussions#239. We will wait for a decision to be made over there.SleeplessByte commentedon Sep 23, 2019
I've started adding versions, because I can use the package.json in the test runner.
See https://ooew0.csb.app/javascript for status.
Let's revisit this once that discussion is resolved, but use package.json for now. It will be trivial to move the version to whereever.
SleeplessByte commentedon Oct 17, 2020
We've dropped versions from canonical problem specs, so they don't make sense anymore in the context of this issue.