-
Notifications
You must be signed in to change notification settings - Fork 14
[Grep] [CC-1642] Upgrade Gleam to 1.9 #113
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
Conversation
WalkthroughThis pull request updates the version requirements for the Gleam programming language across documentation and configuration files. The change enforces a specific version (1.9.1) instead of a minimum requirement (1.0+) in various README and configuration files and revises the language pack version in YAML files from "gleam-1.6" to "gleam-1.9." Additionally, a new Dockerfile for Gleam 1.9.1 is introduced, defining build steps and caching instructions without modifying any exported entities. Changes
Sequence Diagram(s)sequenceDiagram
participant D as Developer
participant DR as Docker Runtime
participant GB as Gleam Build
participant CM as Cache Manager
D->>DR: Initiate build using gleam-1.9 Dockerfile
DR->>DR: Set environment & working directory\nCopy application files (excludes .git, README.md)
DR->>GB: Run `gleam build` (download dependencies)
GB-->>DR: Return build output
DR->>CM: Cache build artifacts to /app-cached
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
compiled_starters/gleam/README.md(1 hunks)compiled_starters/gleam/codecrafters.yml(1 hunks)dockerfiles/gleam-1.9.Dockerfile(1 hunks)solutions/gleam/01-cq2/code/README.md(1 hunks)solutions/gleam/01-cq2/code/codecrafters.yml(1 hunks)starter_templates/gleam/config.yml(1 hunks)
🧰 Additional context used
🪛 Hadolint (2.12.0)
dockerfiles/gleam-1.9.Dockerfile
[error] 10-10: invalid flag: --exclude
(DL1000)
🔇 Additional comments (5)
compiled_starters/gleam/README.md (1)
34-34: Updated Gleam Version Requirement
The installation instruction now specifiesgleam (1.9.1)instead of a permissive version. This change clarifies the minimum required version for users and aligns with the overall upgrade objective.compiled_starters/gleam/codecrafters.yml (1)
10-11: Language Pack Version Update
Thelanguage_packis updated togleam-1.9(with an accompanying comment update) to ensure consistency with the new Gleam version requirements across the project.solutions/gleam/01-cq2/code/README.md (1)
34-34: Updated Gleam Version Specification
The installation instruction now mandatesgleam (1.9.1), ensuring that users install the precise version required for this challenge. This mirrors the changes made in other documentation files and maintains consistency.starter_templates/gleam/config.yml (1)
2-2: Executable Version Specification Update
Therequired_executablefield has been updated togleam (1.9.1), which explicitly defines the required version and avoids ambiguity. This update is crucial for ensuring the correct toolchain is used.solutions/gleam/01-cq2/code/codecrafters.yml (1)
10-11: Consistent Language Pack Update
Thelanguage_packversion is updated togleam-1.9, with an updated comment to accurately reflect the available version. This change harmonizes the configuration across the project with the new Gleam upgrade.
| WORKDIR /app | ||
|
|
||
| # .git & README.md are unique per-repository. We ignore them on first copy to prevent cache misses | ||
| COPY --exclude=.git --exclude=README.md . /app |
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.
🛠️ Refactor suggestion
Invalid COPY Command Flags
The COPY command on line 10 uses unsupported --exclude flags. Docker's COPY does not recognize these flags, which is why Hadolint reported an error. Instead, you can exclude files by adding them to a .dockerignore file and then using a simple COPY . /app command.
Diff suggestion:
- COPY --exclude=.git --exclude=README.md . /app
+ COPY . /appAdditionally, create a .dockerignore file at the root of your project with the following entries:
.git
README.md
This approach will ensure that the excluded files are not sent to the Docker build context, preventing unnecessary cache misses.
🧰 Tools
🪛 Hadolint (2.12.0)
[error] 10-10: invalid flag: --exclude
(DL1000)
Summary by CodeRabbit
Documentation
New Features
Chores