-
-
Notifications
You must be signed in to change notification settings - Fork 182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[v3] Prepare for v3 #602
[v3] Prepare for v3 #602
Conversation
* [Docs] Move implementing-a-concept-exercise.md to reference folder * [Docs] Move reference documents to docs folder * [Docs] Update to student-facing docs * [Docs] Add new issue template Co-Authored-By: Jeremy Walker <[email protected]> Co-Authored-By: Victor Goff <[email protected]> Co-authored-by: Sascha Mann <[email protected]>
Well done @bergjohan , thanks for working on this first one 🎉
* Add implementing concept exercise reference * Add required reading per #1170 * Add source file per #1149 Co-authored-by: wolf99 <[email protected]>
[Docs] Add reference to Concept Exercise Anatomy video
[Docs] Cross-reference concept exercise file information
On the C track not all of the track specific files are C code files. One is a make file and there is a subdirectory. Further, referring to header files as C source files, while not incorrect, may be confusing
* Extract square-root concepts * Fix formatting and casing * Add usggestion
* Extract difference-of-squares concepts onsistent casing * Add suggestions
* Extract resistor-color concepts * Make casing consistent * Add suggestions * [CI] Format code Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Extract isogram concepts * Fix typo * Remove bit-fields concept Forgot bit-fields are an actual thing in C, not just a general concept * Add suggestions * [CI] Format code Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Extract hamming concepts * Add suggestions * [CI] Format code * Order concepts alphabetically for ease of future parsing Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
[Docs] Add description of concept documents Co-authored-by: Jeremy Walker <[email protected]>
* Rename example files to exemplar See exercism/docs#23 * [Docs] Correct .meta/example references to .meta/exemplar * [Docs] Use exemplar instead of example * [Docs] Update example name in file listings * [Julia] Convert to exemplar.jl * [elm] Rename .meta/Cook.elm to .meta/Examplar.elm * [elm] Rename .meta/Examplar.elm .meta/Exemplar.elm Co-authored-by: Matthieu Pizenberg <[email protected]>
- `makefile`: the makefile for the stub files and tests | ||
- `<NAME>{.c|.h}`: the stub source and header implementation files, which are the starting point for students to work on the exercise. | ||
- `test_<NAME>.c`: the unit test source file. | ||
- `test-framework`: this directory contains the source files of unit test framework, [Unity][unity] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably need to revisit discussion on this structure and the requirements for it, to know the correct approach.
If practice exercises are to follow the same structure, then a lot of the file renames in this commit are wrong in that they do not result in this structure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comes about because our existing structure is different.
@ErikSchierboom is it intended that this PR result in a conformant repo, or just that it cover what is described in your comment and that we fix broken things afterwards?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The latter. Tracks should preferrably merge this PR when they can and then fix things later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are now merging these PRs automatically so that we can continue to script further bulk-PRs to help you. For many tracks this will break CI, but we consider this a reasonable tradeoff as all Exercism tracks are in a transitionary period between now and the launch of v3.
This issue is part of the migration to v3. You can read full details about the various changes here.
This PR prepares the track for Exercism v3, which will be different in a number of ways from Exercism v2.
As having this PR merged is essential to prepare this track for Exercism v3, we'll automatically merge this PR one week after it was opened (if it hasn't been merged already).
In this PR, the following changes are made:
v2 file migration
exercises
directory to theexercises/practice
directoryv3 file migration
languages/<slug>/concepts
directory to theconcepts
directorylanguages/<slug>/exercises/concept
directory to theexercises/concept
directorylanguages/<slug>/reference
directory to thereference
directorylanguages/<slug>/docs
directory to thedocs
directoryNotes
Any commits modifying the aforementioned directories (or any of their files) are included in the PR, except for:
_sidebar.md
files are not migratedREADME.md
file at the v3 track's root is not migrated.maintainers.md
file is not migrated.config.json migration
The
config.json
file is updated to conform to the v3 spec.Rename the
"exercises"
property to"practice"
Create an
"exercises"
property and move the"practice"
property to this property:Remove the
"core"
,"auto_approve"
, and"unlocked_by"
properties from the practice exercisesAdd the
"name"
property to the practice exercises and pre-populate this with a titlelized version of the"slug"
propertyAdd the
"prerequisites"
property to the practice exercises and set it to an empty arrayAdd an empty
"concept"
array property to the"exercises"
property"foregone"
property to the"exercises"
key:"concepts"
key, which is an array:"concepts": []
"tags"
key, which is an array:"tags": []
"key_features"
key, which is an array:"key_features": []
"status"
key, which is an object containing properties with boolean values indicating if a v3 feature is implemented:"slug"
key, which is a string containing the track's slug:Re-order the practice exercises using the following ordering:
Add the
"status"
key with a value of"deprecated"
to practice exercises that have"deprecated"
set totrue
. Thedeprecated
field itself is removed:Notes
config.json
file will take precedence over their v2config.json
file's equivalent.configlet
fetch-configlet
andfetch-configlet.ps1
files to the latest version of configlet, which can work with v3 tracks.Continuous integration
Add a GitHub Actions workflow to verify the track using the configlet-CI GitHub Action, unless there already is a file named
.github/workflows/configlet.md
.Add a dependabot configuration to automatically submit PRs for any new versions of external workflows used in this track's GitHub Action workflows.
Convert any Exercism GitHub Actions workflows being used to use
main
as their branch instead ofmaster
. See this issue.Follow-up steps
We've created issues in this repo for the follow-up steps to get this track ready for v3.
Tracking
exercism/v3-launch#11