Skip to content

Commit 93588f6

Browse files
authored
Merge pull request #126 from codecrafters-io/andy/upgrade
[HTTP] CC-1745: Upgrade Bun to v1.2, Rust to v1.86, and Elixir to v1.18
2 parents 44add3b + 8b2f977 commit 93588f6

File tree

18 files changed

+77
-21
lines changed

18 files changed

+77
-21
lines changed

compiled_starters/elixir/codecrafters.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ debug: false
77
# Use this to change the Elixir version used to run your code
88
# on Codecrafters.
99
#
10-
# Available versions: elixir-1.17
11-
language_pack: elixir-1.17
10+
# Available versions: elixir-1.18
11+
language_pack: elixir-1.18

compiled_starters/elixir/mix.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule App.MixProject do
66
[
77
app: :codecrafters_http_server,
88
version: "1.0.0",
9-
elixir: "~> 1.17",
9+
elixir: "~> 1.18",
1010
start_permanent: Mix.env() == :prod,
1111
deps: deps(),
1212
escript: [main_module: CLI]

compiled_starters/rust/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Time to move on to the next stage!
3030

3131
Note: This section is for stages 2 and beyond.
3232

33-
1. Ensure you have `cargo (1.85)` installed locally
33+
1. Ensure you have `cargo (1.86)` installed locally
3434
1. Run `./your_program.sh` to run your program, which is implemented in
3535
`src/main.rs`. This command compiles your Rust project, so it might be slow
3636
the first time you run it. Subsequent runs will be fast.

compiled_starters/rust/codecrafters.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ debug: false
77
# Use this to change the Rust version used to run your code
88
# on Codecrafters.
99
#
10-
# Available versions: rust-1.85
11-
language_pack: rust-1.85
10+
# Available versions: rust-1.86
11+
language_pack: rust-1.86

compiled_starters/typescript/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Time to move on to the next stage!
3030

3131
Note: This section is for stages 2 and beyond.
3232

33-
1. Ensure you have `bun (1.1)` installed locally
33+
1. Ensure you have `bun (1.2)` installed locally
3434
1. Run `./your_program.sh` to run your program, which is implemented in
3535
`app/main.ts`.
3636
1. Commit your changes and run `git push origin master` to submit your solution

compiled_starters/typescript/codecrafters.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ debug: false
77
# Use this to change the TypeScript version used to run your code
88
# on Codecrafters.
99
#
10-
# Available versions: bun-1.1
11-
language_pack: bun-1.1
10+
# Available versions: bun-1.2
11+
language_pack: bun-1.2

dockerfiles/bun-1.2.Dockerfile

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# syntax=docker/dockerfile:1.7-labs
2+
FROM oven/bun:1.2-alpine
3+
4+
ENV CODECRAFTERS_DEPENDENCY_FILE_PATHS="package.json,bun.lockb"
5+
6+
WORKDIR /app
7+
8+
# .git & README.md are unique per-repository. We ignore them on first copy to prevent cache misses
9+
COPY --exclude=.git --exclude=README.md . /app
10+
11+
# For reproducible builds.
12+
# This will install the exact versions of each package specified in the lockfile.
13+
# If package.json disagrees with bun.lockb, Bun will exit with an error. The lockfile will not be updated.
14+
RUN bun install --frozen-lockfile
15+
16+
# If the node_modules directory exists, move it to /app-cached
17+
RUN mkdir -p /app-cached
18+
RUN if [ -d "/app/node_modules" ]; then mv /app/node_modules /app-cached; fi

dockerfiles/elixir-1.18.Dockerfile

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# syntax=docker/dockerfile:1.7-labs
2+
FROM elixir:1.18.3-alpine
3+
4+
# Ensures the container is re-built if dependency files change
5+
ENV CODECRAFTERS_DEPENDENCY_FILE_PATHS="mix.exs"
6+
7+
WORKDIR /app
8+
9+
# .git & README.md are unique per-repository. We ignore them on first copy to prevent cache misses
10+
COPY --exclude=.git --exclude=README.md . /app
11+
12+
# install hex + rebar
13+
RUN mix local.hex --force && \
14+
mix local.rebar --force
15+
16+
# install and compile mix dependencies
17+
RUN mix deps.get && \
18+
mix deps.compile
19+
20+
# Install & cache deps
21+
RUN .codecrafters/compile.sh
22+
23+
RUN mkdir -p /app-cached
24+
RUN if [ -d "/app/_build" ]; then mv /app/_build /app-cached; fi
25+
RUN if [ -d "/app/deps" ]; then mv /app/deps /app-cached; fi

dockerfiles/rust-1.86.Dockerfile

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# syntax=docker/dockerfile:1.7-labs
2+
FROM rust:1.86-bookworm
3+
4+
# Rebuild the container if these files change
5+
ENV CODECRAFTERS_DEPENDENCY_FILE_PATHS="Cargo.toml,Cargo.lock"
6+
7+
WORKDIR /app
8+
9+
# .git & README.md are unique per-repository. We ignore them on first copy to prevent cache misses
10+
COPY --exclude=.git --exclude=README.md . /app
11+
12+
# This runs cargo build
13+
RUN .codecrafters/compile.sh

solutions/elixir/01-at4/code/codecrafters.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ debug: false
77
# Use this to change the Elixir version used to run your code
88
# on Codecrafters.
99
#
10-
# Available versions: elixir-1.17
11-
language_pack: elixir-1.17
10+
# Available versions: elixir-1.18
11+
language_pack: elixir-1.18

solutions/elixir/01-at4/code/mix.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule App.MixProject do
66
[
77
app: :codecrafters_http_server,
88
version: "1.0.0",
9-
elixir: "~> 1.17",
9+
elixir: "~> 1.18",
1010
start_permanent: Mix.env() == :prod,
1111
deps: deps(),
1212
escript: [main_module: CLI]

solutions/rust/01-at4/code/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Time to move on to the next stage!
3030

3131
Note: This section is for stages 2 and beyond.
3232

33-
1. Ensure you have `cargo (1.85)` installed locally
33+
1. Ensure you have `cargo (1.86)` installed locally
3434
1. Run `./your_program.sh` to run your program, which is implemented in
3535
`src/main.rs`. This command compiles your Rust project, so it might be slow
3636
the first time you run it. Subsequent runs will be fast.

solutions/rust/01-at4/code/codecrafters.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ debug: false
77
# Use this to change the Rust version used to run your code
88
# on Codecrafters.
99
#
10-
# Available versions: rust-1.85
11-
language_pack: rust-1.85
10+
# Available versions: rust-1.86
11+
language_pack: rust-1.86

solutions/typescript/01-at4/code/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Time to move on to the next stage!
3030

3131
Note: This section is for stages 2 and beyond.
3232

33-
1. Ensure you have `bun (1.1)` installed locally
33+
1. Ensure you have `bun (1.2)` installed locally
3434
1. Run `./your_program.sh` to run your program, which is implemented in
3535
`app/main.ts`.
3636
1. Commit your changes and run `git push origin master` to submit your solution

solutions/typescript/01-at4/code/codecrafters.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ debug: false
77
# Use this to change the TypeScript version used to run your code
88
# on Codecrafters.
99
#
10-
# Available versions: bun-1.1
11-
language_pack: bun-1.1
10+
# Available versions: bun-1.2
11+
language_pack: bun-1.2

starter_templates/elixir/code/mix.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule App.MixProject do
66
[
77
app: :codecrafters_http_server,
88
version: "1.0.0",
9-
elixir: "~> 1.17",
9+
elixir: "~> 1.18",
1010
start_permanent: Mix.env() == :prod,
1111
deps: deps(),
1212
escript: [main_module: CLI]

starter_templates/rust/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
attributes:
2-
required_executable: cargo (1.85)
2+
required_executable: cargo (1.86)
33
user_editable_file: src/main.rs
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
attributes:
2-
required_executable: bun (1.1)
2+
required_executable: bun (1.2)
33
user_editable_file: app/main.ts

0 commit comments

Comments
 (0)