Skip to content

Conversation

@rohitpaulk
Copy link
Member

@rohitpaulk rohitpaulk commented Oct 7, 2025

Add Odin to the list of supported languages for the Redis challenge.
Enhance the main description with a link to the official Redis docs.
Reorder and expand extensions: move Replication and RDB Persistence
extensions after Lists, Streams, and Transactions to improve progression.
Update URLs to point to the latest Redis documentation for accuracy.


Note

Add shell course fixture and fixture refresh scripts, expand/update Redis fixtures (new extensions/stages, docs/links), add Odin language, and migrate tests/handlers from redis to dummy course references.

  • Fixtures & Scripts:
    • Add shell course fixture and include in scenario loading.
    • Introduce scripts/refresh-course-fixtures.sh and scripts/generate-course-fixture-from-definition-repository.rb; update Makefile to use them.
    • Expand redis fixtures: new/reshuffled extensions (Lists, Streams, Transactions, Pub/Sub, Sorted Sets, Geospatial), many stages, doc/link updates; add Odin language.
    • Minor tweaks to git, grep (incl. Odin) and sqlite (add Clojure, description ordering) fixtures; docker description field ordering.
  • Languages: add Odin to languages list.
  • Handlers/Scenarios: update error copy to expect dummy; include shell in course data map.
  • Tests:
    • Migrate numerous tests from redis to dummy course (slugs/names/stage slugs), adjust expectations accordingly.
    • Update tester/version/update routes and URLs to reflect dummy.

Written by Cursor Bugbot for commit daab924. This will update automatically on new commits. Configure here.

Add Odin to the list of supported languages for the Redis challenge.
Enhance the main description with a link to the official Redis docs.
Reorder and expand extensions: move Replication and RDB Persistence
extensions after Lists, Streams, and Transactions to improve progression.
Update URLs to point to the latest Redis documentation for accuracy.
docs(sqlite): rename description_markdown_template to description_md

Update course fixture for SQLite `.dbinfo` task by replacing 
`description_markdown_template` with `description_md` to standardize 
field naming. This improves consistency in the metadata and aligns 
with expected key names for rendering the stage description correctly.
feat(shell): add new "Build your own Shell" course

Add a complete new course for building a POSIX-compliant shell,
including command parsing, builtin commands, and process management.
Update fixtures, scenario imports, and course lists to include the Shell
course to offer users a medium difficulty challenge focused on shell
programming concepts and extensions.
docs(course-fixtures): add detailed description templates for stages

Add expanded markdown templates for stage descriptions in course-fixtures/git.js
to provide learners with more context and guidance about the tasks. Include
explanations of the `.git` directory structure and Git objects for the
"Initialize the .git directory" and "Read a blob object" stages.

This improves the learning experience by offering detailed info and references
within the course material.
@codecov
Copy link

codecov bot commented Oct 7, 2025

❌ 21 Tests Failed:

Tests completed Failed Passed Skipped
620 21 599 48
View the full list of 22 ❄️ flaky test(s)
Chrome 140.0::Acceptance | course-admin | code-example-insights-index: code examlpe insights index page tests

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 1.34s run time
Assertion Failed
Chrome 140.0::Acceptance | course-page | complete-challenge-test: can complete course

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 7.19s run time
URL is .../courses/redis/completed
Chrome 140.0::Acceptance | course-page | complete-second-stage: passing stage 2 should show valid clickable stage 2 completion discount

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 6.08s run time
Test took longer than 5000ms; test timed out.
Chrome 140.0::Acceptance | course-page | course-stage-comments: comment has correct user label

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 5.65s run time
Test took longer than 5000ms; test timed out.
Chrome 140.0::Acceptance | course-page | extensions | view-extension-stages: can view extension stages before creating repository

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 1.5s run time
step list has 57 items
Chrome 140.0::Acceptance | course-page | submit-course-stage-feedback: is shown different prompts based on stage number

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 7.01s run time
Test took longer than 5000ms; test timed out.
Chrome 140.0::Acceptance | course-page | switch-repository: can switch repository

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 8.14s run time
Test took longer than 5000ms; test timed out.
Chrome 140.0::Acceptance | course-page | view-leaderboard: can view leaderboard on overview page when other recent players are present

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 6.06s run time
progress text must be shown
Chrome 140.0::Acceptance | course-page | view-leaderboard: can view leaderboard when current user has completed all stages

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 6.83s run time
progress text must be shown
Chrome 140.0::Acceptance | course-page | view-leaderboard: can view leaderboard when current user has leaderboard entry

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 6s run time
global failure: Error: Assertion occurred after test finished.
> Test: can view leaderboard on overview page when other recent players are present
> Message: Promise rejected during "can view leaderboard on overview page when other recent players are present": Assertion occurred after test finished.
> Test: can view leaderboard on overview page when other recent players are present
> Message: 2 leaderboard entries should be present once other user has been passed

Chrome 140.0::Acceptance | course-page | view-leaderboard: can view leaderboard when no recent players are present

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 5.35s run time
progress text must be shown
Chrome 140.0::Acceptance | course-page | view-leaderboard: leaderboard reflects the correct progress if stages at a later position are completed first

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 9.65s run time
progress text must be shown
Chrome 140.0::Acceptance | view-courses: it renders with progress if user has created a repository

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 1.19s run time
Assertion Failed
Chrome 140.0::Acceptance | view-courses: it renders with progress if user has started a course

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 1.59s run time
Assertion Failed
Chrome 140.0::Acceptance | view-tracks: deprecated challenges do not count towards the number of stages on a language card

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 0.441s run time
number of stages should not include deprecated stages count
Chrome 140.0::Acceptance | view-tracks: first time visit has loading page

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 0.481s run time
expected 20 track cards to be present
Chrome 140.0::Acceptance | view-tracks: it renders

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 0.758s run time
expected 20 track cards to be present
Chrome 140.0::Acceptance | view-tracks: it renders if user is not signed in

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 0.433s run time
expected 20 track cards to be present
Chrome 140.0::Acceptance | view-tracks: it renders with progress if user has started a course

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 1.73s run time
Assertion Failed
Chrome 140.0::Acceptance | view-tracks: second time visit with local repository data has no loading page

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 3.13s run time
expected 20 track cards to be present
Chrome 140.0::Acceptance | view-tracks: second time visit without local repository data has no loading page 

Flake rate in main: 12.50% (Passed 7 times, Failed 1 times)

Stack Traces | 0.87s run time
expected 20 track cards to be present
Chrome::error

Flake rate in main: 100.00% (Passed 0 times, Failed 7 times)

Stack Traces | 0s run time
Error: Browser timeout exceeded: 10s
Error while executing test: Acceptance | course-admin | view-submissions: it filters by stage(s) if given
Stderr: 
 [3427:3769:1007/014602.772813:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3769:1007/014607.673343:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")

DevTools listening on ws://127.0.0.1:.../devtools/browser/acacd3aa-fd47-4e00-b0c6-2017e015b85f
[3427:3769:1007/014608.876785:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3427:1007/014609.540673:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3769:1007/014609.540738:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3769:1007/014609.540751:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3769:1007/014609.540755:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3769:1007/014609.540758:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3769:1007/014609.541696:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3769:1007/014609.541708:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3427:1007/014609.547757:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3427:1007/014609.591930:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3769:1007/014609.592263:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3427:1007/014609.652135:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3427:1007/014609.652153:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3427:1007/014609.652274:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3427:1007/014609.659606:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3769:1007/014609.659681:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3427:1007/014609.672961:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.Properties.GetAll: object_path= .../UPower/devices/DisplayDevice: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3427:3427:1007/014609.702051:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3769:1007/014609.702100:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3427:1007/014609.742858:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 
[3427:3769:1007/014609.742910:ERROR:dbus/bus.cc:408] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[3427:3427:1007/014609.765483:ERROR:dbus/object_proxy.cc:573] Failed to call method: org.freedesktop.DBus.NameHasOwner: object_path= ............................../org/freedesktop/DBus: unknown error type: 

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@github-actions
Copy link

github-actions bot commented Oct 7, 2025

Test Results

  1 files  ±0    1 suites  ±0   12m 11s ⏱️ + 3m 17s
668 tests  - 6  599 ✅  - 27  48 💤 ±0   0 ❌ ± 0  21 🔥 +21 
668 runs   - 6  578 ✅  - 48  48 💤 ±0  21 ❌ +21  21 🔥 +21 

For more details on these errors, see this check.

Results for commit da56a3a. ± Comparison against base commit 592620f.

This pull request removes 7 and adds 1 tests. Note that renamed tests count towards both.
Chrome 140.0 ‑ Acceptance | course-admin | view-submissions: it filters by stage(s) if given
Chrome 140.0 ‑ Acceptance | course-admin | view-submissions: it should be able to filter by stage(s) through a dropdown menu
Chrome 140.0 ‑ Acceptance | course-admin | view-submissions: it should be accessible if user is course author and authored current course
Chrome 140.0 ‑ Acceptance | course-admin | view-submissions: it should handle null value for tree SHA
Chrome 140.0 ‑ Acceptance | course-admin | view-submissions: it should have the commit SHA in the header
Chrome 140.0 ‑ Acceptance | course-admin | view-submissions: it should have the tree SHA in the header
Chrome 140.0 ‑ Acceptance | course-admin | view-submissions: it should not be accessible if user is course author and did not author current course
Chrome ‑ error

♻️ This comment has been updated with latest results.

@codecov
Copy link

codecov bot commented Oct 7, 2025

Bundle Report

Bundle size has no change ✅

cursor[bot]

This comment was marked as outdated.

@rohitpaulk rohitpaulk changed the title feat(course-fixtures): update Redis challenge metadata and extensions Update fixtures, add shell fixture Oct 7, 2025
@rohitpaulk rohitpaulk force-pushed the update-redis-challenge-metadata branch from 96d8ab3 to e88e277 Compare October 7, 2025 01:34
Rename variables in generate-course-fixture-from-definition-repository.rb
to improve readability. Change stage to stage_definition and slug to
stage_slug to make the code more descriptive and easier to understand.
Add Odin as a new language entry in the create-languages mock server 
data to support testing and development of features involving this 
language. This update ensures Odin is represented with a "beta" track 
status for accurate environment simulation.
cursor[bot]

This comment was marked as outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants