Skip to content

Bottle song #857

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

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Bottle song #857

wants to merge 13 commits into from

Conversation

rabestro
Copy link
Member

Add new practical exercise

Jegors Cemisovs added 9 commits May 14, 2025 18:49
Introduced a Bash script `bin/add-practice-exercise` to streamline the creation of new practice exercises. It generates necessary files, enforces required configurations, and provides detailed next steps for implementation.
This commit introduces the "Bottle Song" exercise with its metadata, including slug, name, UUID, difficulty, and associated topics. It will help expand the curriculum and provide coverage for algorithms, control flow, strings, and text formatting.
Introduced a build.sbt file specifying Scala 3.4.2 as the version and adding Scalatest 3.2.19 as a test dependency. This sets up the project structure for the Bottle Song exercise.
Introduces a suite of tests to verify the behavior of the `BottleSong.recite` method. Covers various scenarios, including single verse, multiple verses, and the entire song. Ensures correctness of all expected outputs.
Introduce the BottleSong exercise to the practice track. Includes the `BottleSong.scala` implementation file and a metadata `tests.toml` file with test case descriptions.
Provide detailed lyrics for the "Ten Green Bottles" song to guide users in implementing the exercise. Clarifies variations between verses for accurate completion.
Introduce a `config.json` file for the 'Bottle Song' exercise, detailing authorship, relevant file structure, and a brief summary. This ensures proper organization and integration of the exercise into the practice track.
This commit introduces the Example.scala file providing an example solution for the Bottle Song practice exercise. It includes methods to generate song verses and handles dynamic bottle count logic for the exercise.
This commit introduces a build.properties file to specify the sbt version (1.10.1) for the bottle-song project. This ensures consistent build behavior across different environments.
@rabestro rabestro self-assigned this May 14, 2025
Copy link

Hello 👋 Thanks for your PR.

This repo does not currently have dedicated maintainers. Our cross-track maintainers team will attempt to review and merge your PR, but it will likely take longer for your PR to be reviewed.

If you enjoy contributing to Exercism and have a track-record of doing so successfully, you might like to become an Exercism maintainer for this track.

Please feel free to ask any questions, or chat to us about anything to do with this PR or the reviewing process on the Exercism forum.

(cc @exercism/cross-track-maintainers)

Added the `pending` marker to all test cases in `BottleSongTest`. This indicates that these tests are currently incomplete or temporarily disabled and require further implementation or adjustments.
@IsaacG
Copy link
Member

IsaacG commented May 14, 2025

This repository is "maintained". PRs should be reviewed and approved by the maintainer(s).

@BNAndras BNAndras requested review from a team and removed request for ErikSchierboom, IsaacG and BNAndras May 14, 2025 16:46
@BNAndras
Copy link
Member

CI is breaking because the testing GHA is using Ubuntu 20.04 and should be bumped to a more recent version.

Jegors Cemisovs added 2 commits May 14, 2025 21:35
The "topics" field was removed as it is no longer being utilized, simplifying the configuration. This change helps reduce redundancy and keeps the file cleaner and easier to maintain.
The add-practice-exercise script was no longer in use and has been removed to clean up the codebase. This helps reduce clutter and maintain project organization.
@rabestro rabestro requested a review from ErikSchierboom May 14, 2025 18:36
@rabestro
Copy link
Member Author

CI is breaking because the testing GHA is using Ubuntu 20.04 and should be bumped to a more recent version.

I will try to fix it in the separate PR

Upgraded the runner from Ubuntu 20.04 to Ubuntu 22.04 in the CI workflow file. This ensures compatibility with the latest software and security updates while aligning with long-term support for the runner.
@rabestro rabestro added x:action/create Work on something from scratch x:module/practice-exercise Work on Practice Exercises labels May 14, 2025
@rabestro
Copy link
Member Author

This repository is "maintained". PRs should be reviewed and approved by the maintainer(s).
Fixed.

@rabestro
Copy link
Member Author

CI is breaking because the testing GHA is using Ubuntu 20.04 and should be bumped to a more recent version.

I will try to fix it in the separate PR

Since it is only one char fix, I did it in the current pr

@IsaacG
Copy link
Member

IsaacG commented May 14, 2025

Since it is only one char fix, I did it in the current pr

It's only one character, but it's a significant change. Changing the OS should not be done inside a "Bottle song" PR.

@BNAndras
Copy link
Member

If it's a separate PR, it can be merged in sooner. Then you can rebase this PR to get the CI to run. #856 could be rebased as well then.

@rabestro
Copy link
Member Author

Since it is only one char fix, I did it in the current pr

It's only one character, but it's a significant change. Changing the OS should not be done inside a "Bottle song" PR.

#859

@rabestro
Copy link
Member Author

@ErikSchierboom how to proceed with this pull request? Should I do something?

@IsaacG
Copy link
Member

IsaacG commented May 15, 2025

@ErikSchierboom how to proceed with this pull request? Should I do something?

It should be rebased on top of 859 or the new main and then approved by the other member of @exercism/scala or @grzegorz-bielski

@rabestro
Copy link
Member Author

@ErikSchierboom how to proceed with this pull request? Should I do something?

It should be rebased on top of 859 or the new main and then approved by the other member of @exercism/scala or @grzegorz-bielski

I was trying to do so, but nothing changed in the pull request. I'm confused.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:action/create Work on something from scratch x:module/practice-exercise Work on Practice Exercises
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants