forked from exercism/problem-specifications
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Ci verify scenarios #1
Merged
Merged
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
…sm#1569) resistor-color-duo: ignore additional colors
- Move Earth into its proper position in the solar system - Make wording more consistent
Co-Authored-By: Victor Goff <keeperotphones@gmail.com>
[Space Age] Put Earth in it's proper order
We have a number of exercises that are about data structures, but the topic was missing.
Add data structures to topic list
It should be capitalized. It is also a noun, meaning a "doodle", and a verb, such as what this description could be considered. In our case, we are referring to the trademarked name of the game Scrabble. Signed-off-by: Victor Goff <keeperotphones@gmail.com>
Scrabble is a trademark name.
Matrix: Add test case
* matrix: fix whitespace issue Fix whitespace issue introduced by exercism#1576, closes $1577. * Matrix: bump version number.
leap 1.6.0 Some implementations unexpectedly pass the entire test suite: * Replacing 4 with 499, 998, or 1996 * Replacing 100 with 5, 10, or 20 * Replacing 100 with 3, 6, 12, 15, 30, 60, 75, 150, 300 * Replacing 400 with 125, 250, 500, 1000, or 2000 Adding these test cases would correctly point out that these solutions are incorrect. I think it's a bit unusual since no student is going to write such an implementation except a student deliberately trying to slip past the tests. Or maybe a student trying to micro-optimise? Maybe they are trying to test whether division by small numbers is faster than division by large numbers? But discussion participants have deemed that the cost of three tests is worth the benefit of reducing mental overhead of mentors, since such solutions have in fact been seen in the wild.
* Add micro-blog exercise This is an exercise requiring students to truncate unicode strings. Solves exercism#1507 * Micro-blog: Don't assume native English speaker Thank you @SaschaMann for the feedback and suggestion. exercism#1509 (comment) > I don't like that this assumes the perspective of a native English > speaker. English is a foreign language to most of the world. Perhaps > something along the lines of "text in most of the world's languages and > scripts" would be a better description. * Micro-blog: Add tests for different languages Feedback from @SaschaMann exercism#1509 (comment) > I think it would be nice to add some test cases that aren't emoji or > English - perhaps cases with germanic umlauts, cyrillic and/or greek > letters, historic scripts etc. - because that's one of the main uses > and goals of unicode. I've added German, Bulgarian, and Greek examples. All of them have non-English characters. None of these characters use multiple UTF-16 codepoints. As such, if you use a UTF-8 programming language you may first have trouble with the German example, but if you use a UTF-16 language you will probably first have trouble at the Emoji example. I chose not to add an example with historic scripts, because I'm not aware of any that display nicely in my terminal or text-editor. Perhaps in future some could be added. I wanted another example that would be problematic in UTF-16, so I added a poker hand example using playing cards. * Micro-blog: Add German truncated example Comically, it goes from "bear carpet" to "beards". @SaschaMann, thank you for finding the example for me: exercism#1509 (comment) * Micro-blog: Add longer maths example Empty set is a proper subset of the natural numbers which is a proper subset of the integers, which is a proper subset of the rational numbers which is a proper subset of the reals which is a proper subset of the complex numbers. It remains true when truncated which is quite nice
Improves the copy only, so acceptable in light of exercism#1560.
Use singular forms consistently throughout robot-name/description.md
robot-name description: singular "robot"
topics: add 'pointers' in section 'data types'
Fix broken link to website contributing document
Replaced "rhombus" with "parallelogram" to clarify that the game's board height and width must not be the same. Closes exercism#1597
connect: Replaced rhombus with parallelogram
* minesweeper: remove border Updates the board example to remove the need for a border that doesn't match the test data and clarifies a couple small points. * minesweeper: fix characters Mispelled "asterisk" and didn't use the same character as `diamond` for the blank spaces. * minesweeper: use mine counts Updates "score totals" -> "mine counts".
* Change order in append test case description * Bump patch number
This fix the issue that `configlet generate .` is not idempotent as the track's README might manually adjust for the newline instead. This is something I came across while working on exercism/julia#161.
…e exercise description (exercism#1624) - case description is altered according to the discussion results - patch version of the canonical-data is updated
I have confirmed that no JSON version change is needed
fix: Remove trailing spaces
* ⬆️ latest ajv-cli * 🔒 CVE-2020-7598
* Add abbreviations and restructure slightly * Update STYLE-GUIDE.md * Update with better text * Update STYLE-GUIDE.md Co-authored-by: Colin Caine <cmcaine@gmail.com> * Update STYLE-GUIDE.md Co-authored-by: Colin Caine <cmcaine@gmail.com> Co-authored-by: Derk-Jan Karrenbeld <derk-jan@karrenbeld.info>
* Style: Remove trailing whitespace With this commit, people who run `configlet generate` and commit the generated READMEs as-is will no longer introduce trailing whitespace into their track repos. * Style: Add missing final newlines
See also exercism#1716. Thanks to SleeplessByte, rpottsoh, kotp, ErikSchierboom, etc :)
(stolen from v3 repo)
Adds a document that explains how to set up Continuous Integration (CI) workflows for an Exercism Language Track using GitHub Actions (GHA). It provides best practices and examples for you to use to make your own fast, reliable and robust CI workflows. Additionally, it provides GHA workflows. The GHA workflows can be adapted to work with any CI, track, or project, because the base structure will remain the same.
* CI: Check immutability of test data * Iterate old cases instead * Add to ci.yml workflow * Fix path to python script in workflow * Set chmod=+x for python script * Apparently latest does not mean latest * Fix path * Test mutated test in PR * Revert "Test mutated test in PR" This reverts commit 18dbfa2. * Fix build for workflow_dispatch triggers * Break out of loop early on failure * Fix typo * Handle removal of tests better * Add scenarios check * Update bin/check-immutability.py * Make variable names longer & use sys.exit instead of exit Co-authored-by: BethanyG <BethanyG@users.noreply.github.com> Co-authored-by: Corey McCandless <cmccandless@users.noreply.github.com> Co-authored-by: BethanyG <BethanyG@users.noreply.github.com> Co-authored-by: Corey McCandless <cmccandless@users.noreply.github.com> * Add test data for future edits to the script Co-authored-by: BethanyG <BethanyG@users.noreply.github.com> Co-authored-by: Corey McCandless <cmccandless@users.noreply.github.com>
* rational-numbers: Make formulas more readable * Remove superscript characters * Readd parentheses
If `b₁ = 0`, then `r₁` is not a rational number anyway. From https://github.com/exercism/problem-specifications/pull/1655/files#r421573667
1. A test where the goal is too large. The student solution would need to either: * (If searching the state space) Notice that there are no further states to be visited, and yet the solution has not been reached. * Notice that the goal is larger than the larger bucket, therefore can be rejected immediately. 2. A test where the goal is not too large yet still can't be reached The student solution would need to either: * (If searching the state space) Notice that there are no further states to be visited, and yet the solution has not been reached. * Notice that the goal is not divisible by the GCD of the bucket sizes, therefore can be rejected immediately. In case the student assumes that all non-coprime bucket counts will invalidate the goal, a counterexample to that is given as well (buckets not coprime but goal is still possible). There are ten implementing tracks: bash csharp fsharp go java javascript python ruby rust typescript Of these tracks, only two of them (Bash, Go) currently test the condition where it is not possible to reach the goal. Having this test serves as a reminder that it remains wise to handle the situation where a search has not found its goal. It doesn't seem like this was discussed in the original submission: exercism/DEPRECATED.javascript#68 So it seems like it would be good to have a discussion of it on record.
Let's remove this until exercism#1728 has been resolved properly to avoid build errors on master.
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](npm/ini@v1.3.5...v1.3.7) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…es since the users' names are unique (exercism#1735)
* Format * Re-implement ambigious test cases * Clarifying comment * Re-add old versions of reimplemented tests * Remove accidantally commited executable * Clarifying commentary about integer division. * Add advice
* Hamming: remove tests that dont make sense * return tests & normalise error messages
Commit 03529d0 (exercism#1735) added a new test case for the `grade-school` exercise, but the UUID added was version 1 rather than version 4. This was not caught by CI because the regex in the schema validator was too permissive (fixed by exercism#1759). Some reasons to prefer version 4 UUIDs: - Version 4 is the right version for a fully random and unique identifer; we don't want to indicate anything about the machine that generated the UUID, and version 1 UUIDs have a timestamp and MAC address component. - All of the other UUIDs currently in `problem-specifications` are valid version 4 UUIDs. - `configlet uuid` generates a version 4 UUID. - A reader familiar with the UUID specification (RFC 4122) might see a version 1 UUID and infer that the timestamp or MAC address component is useful, causing them to wonder why the others are version 4. - A user who generates a version 1 UUID might unintentionally leak their MAC address. See also: - https://tools.ietf.org/html/rfc4122.html
Commit cea02af (exercism#1676) added a UUID to each test case. However, the regex pattern that it added to the canonical schema was too permissive, meaning that CI would pass on a PR that added, for example, a version 1 UUID (see exercism#1735). Changes: - Use `a-f` instead of `a-z` - The third group must start with `4`. - The fourth group must start with `8`, `9`, `a` or `b`.
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.
No description provided.