-
Notifications
You must be signed in to change notification settings - Fork 524
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 #1085
Merged
Merged
[v3] Prepare for v3 #1085
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Closes exercism#253 * Create parallel-letter-frequency.md Initial list with concept level abstraction of common elements used for solving `parallel-letter-frequency`. * Update with specific concurrency concepts separate To-do: implement an example for each concurrency concept
Closes exercism#248 Approached a little different this time now that the core set of concepts start crystallizing. I've taken two reasonably different solutions and extracted applied language components. There's some overlap between some concepts (like `Ordering` and `conditionals`), but I think it's reasonable to touch such concepts in different concept-exercises.
Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
* extract conceps from leap * Update languages/reference/exercise-concepts/leap.md Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
* [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]>
* Port concept exercise numbers from C# * Apply @efx's feedback
* Add implementing-a-concept-exercise.md This implementation guide is based heavily on the C# and generic guide. It should be considered only a core draft, and not a permanent answer. * Add concept exercises README.md * Check off concept list and implementation guide * Add shell script for boilerplating concept exercises The script has been reviewed with shellcheck and should be portable, even without assuming the user has bash, but any old Unix shell. Git Bash for Windows should support it as well. It just simplifies some busywork, so it is convenient but non-essential. * Improve links from concept exercise README * Remove reference to currently unmerged exercise
* extract concepts from v2 exercise: macros Closes exercism/v3#245 * require mutability concept; remove extraneous note on Hashmap<K, V> * break out a more fine-grained list of concepts * Update languages/reference/exercise-concepts/macros.md Co-Authored-By: Eli Flanagan <[email protected]> Co-authored-by: Eli Flanagan <[email protected]>
* extract concepts from v2 exercise: poker Closes exercism/v3#246 * apply suggestions from PR review
* concepts.csv: Remove recursion, composition Recursion is "out of scope" for Rust as tail recursive elimination is not in the language spec. Composition is "out of scope" for Rust as it is good practice but not meaningfully Rust-specific. * Add out-of-scope.md Inclusion of this document is intended to resolve many questions that have been raised about what is and is not teachable, what should and should not be taught, within the Rust track. * reference/README.md: Remove recursion, composition Removed for being out of scope of the Rust track.
* add enums concept exercise closes exercism#830 * Update languages/exercises/concept/enums/src/lib.rs Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> * Update languages/exercises/concept/enums/tests/enums.rs Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> * Update languages/exercises/concept/enums/src/lib.rs Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> * invert the sense of enums concept exercise * Update languages/exercises/concept/enums/.docs/after.md Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> * Update languages/exercises/concept/enums/.meta/design.md Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> * Update languages/exercises/concept/enums/.meta/design.md Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> * Update languages/exercises/concept/enums/.meta/design.md Co-Authored-By: Peter Goodspeed-Niklaus <[email protected]> * add description for other variant Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
[Docs] Add reference to required reading in implementing guide
[Docs] Add reference to Concept Exercise Anatomy video
[Docs] Format using Prettier
[Docs] Cross-reference concept exercise file information
Test driven development is out of scope for the Rust track. See https://github.com/exercism/v3/blob/master/languages/reference/out-of-scope.md for other examples.
[CI] Validate and format JSON
* Add first pass of entry api concept exercise * Add newlines at end of files * [CI] Format code * Add PR feedback * Put the problem statement first and make it more explicit Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Change function name to be more descriptive Co-authored-by: Peter Goodspeed-Niklaus <[email protected]> * Add additional PR suggestions * [CI] Format code Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Peter Goodspeed-Niklaus <[email protected]>
* Incorporate additional PR feedback * [CI] Format code Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
85d8525
to
3f0f74b
Compare
coriolinus
approved these changes
Jan 29, 2021
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.
Didn't manually review all the steps outlined, but from a few spot checks, it looks like this did what the outline says it did.
Fixed it up so that CI still passes. Let's get this merged.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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