From 093050ba0e9b4eece9e7b8703ab44474520b9da2 Mon Sep 17 00:00:00 2001 From: Andy Li <1450947+andy1li@users.noreply.github.com> Date: Wed, 14 May 2025 11:07:50 +0800 Subject: [PATCH] chore: update Rust and TypeScript versions to 1.86 and 1.2 respectively in configuration files and documentation --- compiled_starters/rust/README.md | 2 +- compiled_starters/rust/codecrafters.yml | 4 ++-- compiled_starters/typescript/README.md | 2 +- compiled_starters/typescript/codecrafters.yml | 4 ++-- dockerfiles/bun-1.2.Dockerfile | 18 ++++++++++++++++++ dockerfiles/rust-1.86.Dockerfile | 13 +++++++++++++ solutions/rust/01-gg4/code/README.md | 2 +- solutions/rust/01-gg4/code/codecrafters.yml | 4 ++-- solutions/typescript/01-gg4/code/README.md | 2 +- .../typescript/01-gg4/code/codecrafters.yml | 4 ++-- starter_templates/rust/config.yml | 2 +- starter_templates/typescript/config.yml | 2 +- 12 files changed, 45 insertions(+), 14 deletions(-) create mode 100644 dockerfiles/bun-1.2.Dockerfile create mode 100644 dockerfiles/rust-1.86.Dockerfile diff --git a/compiled_starters/rust/README.md b/compiled_starters/rust/README.md index 7b1725e9..35ffe0c1 100644 --- a/compiled_starters/rust/README.md +++ b/compiled_starters/rust/README.md @@ -27,7 +27,7 @@ That's all! Note: This section is for stages 2 and beyond. -1. Ensure you have `cargo (1.85)` installed locally +1. Ensure you have `cargo (1.86)` installed locally 1. Run `./your_program.sh` to run your Git implementation, which is implemented in `src/main.rs`. This command compiles your Rust project, so it might be slow the first time you run it. Subsequent runs will be fast. diff --git a/compiled_starters/rust/codecrafters.yml b/compiled_starters/rust/codecrafters.yml index 1085350f..91fd79f8 100644 --- a/compiled_starters/rust/codecrafters.yml +++ b/compiled_starters/rust/codecrafters.yml @@ -7,5 +7,5 @@ debug: false # Use this to change the Rust version used to run your code # on Codecrafters. # -# Available versions: rust-1.85 -language_pack: rust-1.85 +# Available versions: rust-1.86 +language_pack: rust-1.86 diff --git a/compiled_starters/typescript/README.md b/compiled_starters/typescript/README.md index 333a4c1a..fd245acb 100644 --- a/compiled_starters/typescript/README.md +++ b/compiled_starters/typescript/README.md @@ -27,7 +27,7 @@ That's all! Note: This section is for stages 2 and beyond. -1. Ensure you have `bun (1.1)` installed locally +1. Ensure you have `bun (1.2)` installed locally 1. Run `./your_program.sh` to run your Git implementation, which is implemented in `app/main.ts`. 1. Commit your changes and run `git push origin master` to submit your solution diff --git a/compiled_starters/typescript/codecrafters.yml b/compiled_starters/typescript/codecrafters.yml index a263216b..5baecf0e 100644 --- a/compiled_starters/typescript/codecrafters.yml +++ b/compiled_starters/typescript/codecrafters.yml @@ -7,5 +7,5 @@ debug: false # Use this to change the TypeScript version used to run your code # on Codecrafters. # -# Available versions: bun-1.1 -language_pack: bun-1.1 +# Available versions: bun-1.2 +language_pack: bun-1.2 diff --git a/dockerfiles/bun-1.2.Dockerfile b/dockerfiles/bun-1.2.Dockerfile new file mode 100644 index 00000000..9666e780 --- /dev/null +++ b/dockerfiles/bun-1.2.Dockerfile @@ -0,0 +1,18 @@ +# syntax=docker/dockerfile:1.7-labs +FROM oven/bun:1.2-alpine + +ENV CODECRAFTERS_DEPENDENCY_FILE_PATHS="package.json,bun.lockb" + +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 + +# For reproducible builds. +# This will install the exact versions of each package specified in the lockfile. +# If package.json disagrees with bun.lockb, Bun will exit with an error. The lockfile will not be updated. +RUN bun install --frozen-lockfile + +# If the node_modules directory exists, move it to /app-cached +RUN mkdir -p /app-cached +RUN if [ -d "/app/node_modules" ]; then mv /app/node_modules /app-cached; fi diff --git a/dockerfiles/rust-1.86.Dockerfile b/dockerfiles/rust-1.86.Dockerfile new file mode 100644 index 00000000..a330b5b6 --- /dev/null +++ b/dockerfiles/rust-1.86.Dockerfile @@ -0,0 +1,13 @@ +# syntax=docker/dockerfile:1.7-labs +FROM rust:1.86-bookworm + +# Rebuild the container if these files change +ENV CODECRAFTERS_DEPENDENCY_FILE_PATHS="Cargo.toml,Cargo.lock" + +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 + +# This runs cargo build +RUN .codecrafters/compile.sh diff --git a/solutions/rust/01-gg4/code/README.md b/solutions/rust/01-gg4/code/README.md index 7b1725e9..35ffe0c1 100644 --- a/solutions/rust/01-gg4/code/README.md +++ b/solutions/rust/01-gg4/code/README.md @@ -27,7 +27,7 @@ That's all! Note: This section is for stages 2 and beyond. -1. Ensure you have `cargo (1.85)` installed locally +1. Ensure you have `cargo (1.86)` installed locally 1. Run `./your_program.sh` to run your Git implementation, which is implemented in `src/main.rs`. This command compiles your Rust project, so it might be slow the first time you run it. Subsequent runs will be fast. diff --git a/solutions/rust/01-gg4/code/codecrafters.yml b/solutions/rust/01-gg4/code/codecrafters.yml index 1085350f..91fd79f8 100644 --- a/solutions/rust/01-gg4/code/codecrafters.yml +++ b/solutions/rust/01-gg4/code/codecrafters.yml @@ -7,5 +7,5 @@ debug: false # Use this to change the Rust version used to run your code # on Codecrafters. # -# Available versions: rust-1.85 -language_pack: rust-1.85 +# Available versions: rust-1.86 +language_pack: rust-1.86 diff --git a/solutions/typescript/01-gg4/code/README.md b/solutions/typescript/01-gg4/code/README.md index 333a4c1a..fd245acb 100644 --- a/solutions/typescript/01-gg4/code/README.md +++ b/solutions/typescript/01-gg4/code/README.md @@ -27,7 +27,7 @@ That's all! Note: This section is for stages 2 and beyond. -1. Ensure you have `bun (1.1)` installed locally +1. Ensure you have `bun (1.2)` installed locally 1. Run `./your_program.sh` to run your Git implementation, which is implemented in `app/main.ts`. 1. Commit your changes and run `git push origin master` to submit your solution diff --git a/solutions/typescript/01-gg4/code/codecrafters.yml b/solutions/typescript/01-gg4/code/codecrafters.yml index a263216b..5baecf0e 100644 --- a/solutions/typescript/01-gg4/code/codecrafters.yml +++ b/solutions/typescript/01-gg4/code/codecrafters.yml @@ -7,5 +7,5 @@ debug: false # Use this to change the TypeScript version used to run your code # on Codecrafters. # -# Available versions: bun-1.1 -language_pack: bun-1.1 +# Available versions: bun-1.2 +language_pack: bun-1.2 diff --git a/starter_templates/rust/config.yml b/starter_templates/rust/config.yml index d0f03e8d..db0c8a3c 100644 --- a/starter_templates/rust/config.yml +++ b/starter_templates/rust/config.yml @@ -1,3 +1,3 @@ attributes: - required_executable: cargo (1.85) + required_executable: cargo (1.86) user_editable_file: src/main.rs diff --git a/starter_templates/typescript/config.yml b/starter_templates/typescript/config.yml index 9abb3153..187d4309 100644 --- a/starter_templates/typescript/config.yml +++ b/starter_templates/typescript/config.yml @@ -1,3 +1,3 @@ attributes: - required_executable: bun (1.1) + required_executable: bun (1.2) user_editable_file: app/main.ts