Skip to content

Commit

Permalink
Merge pull request #96 from codecrafters-io/upgrade-rust
Browse files Browse the repository at this point in the history
Upgrade Rust
  • Loading branch information
rohitpaulk authored Aug 22, 2024
2 parents 6a53818 + a869ecb commit 2b679a0
Show file tree
Hide file tree
Showing 20 changed files with 40 additions and 72 deletions.
2 changes: 1 addition & 1 deletion compiled_starters/rust/.codecrafters/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@

set -e # Exit on failure

cargo build --release --target-dir=/tmp/codecrafters-grep-target --manifest-path Cargo.toml
cargo build --release --target-dir=/tmp/codecrafters-build-grep-rust --manifest-path Cargo.toml
4 changes: 1 addition & 3 deletions compiled_starters/rust/.codecrafters/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@
#
# Learn more: https://codecrafters.io/program-interface

set -e # Exit on failure

exec /tmp/codecrafters-grep-target/release/grep-starter-rust "$@"
exec /tmp/codecrafters-build-grep-rust/release/codecrafters-grep "$@"
2 changes: 1 addition & 1 deletion compiled_starters/rust/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 2 additions & 15 deletions compiled_starters/rust/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,23 +1,10 @@
# DON'T EDIT THIS!
#
# Codecrafters relies on this file being intact to run tests successfully. Any changes
# here will not reflect when CodeCrafters tests your code, and might even cause build
# failures.
#
# DON'T EDIT THIS!
[package]
name = "grep-starter-rust"
name = "codecrafters-grep"
version = "0.1.0"
authors = ["Codecrafters <hello@codecrafters.io>"]
edition = "2021"
rust-version = "1.80"

# DON'T EDIT THIS!
#
# Codecrafters relies on this file being intact to run tests successfully. Any changes
# here will not reflect when CodeCrafters tests your code, and might even cause build
# failures.
#
# DON'T EDIT THIS!
[dependencies]
anyhow = "1.0.68" # error handling
bytes = "1.3.0" # helps manage buffers
Expand Down
2 changes: 1 addition & 1 deletion compiled_starters/rust/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Time to move on to the next stage!

Note: This section is for stages 2 and beyond.

1. Ensure you have `cargo (1.62)` installed locally
1. Ensure you have `cargo (1.80)` installed locally
1. Run `./your_program.sh` to run your program, 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.
Expand Down
4 changes: 2 additions & 2 deletions compiled_starters/rust/codecrafters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ debug: false
# Use this to change the Rust version used to run your code
# on Codecrafters.
#
# Available versions: rust-1.77
language_pack: rust-1.77
# Available versions: rust-1.80
language_pack: rust-1.80
4 changes: 2 additions & 2 deletions compiled_starters/rust/your_program.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ set -e # Exit early if any commands fail
# - Edit .codecrafters/compile.sh to change how your program compiles remotely
(
cd "$(dirname "$0")" # Ensure compile steps are run within the repository directory
cargo build --release --target-dir=/tmp/codecrafters-grep-target --manifest-path Cargo.toml
cargo build --release --target-dir=/tmp/codecrafters-build-grep-rust --manifest-path Cargo.toml
)

# Copied from .codecrafters/run.sh
#
# - Edit this to change how your program runs locally
# - Edit .codecrafters/run.sh to change how your program runs remotely
exec /tmp/codecrafters-grep-target/release/grep-starter-rust "$@"
exec /tmp/codecrafters-build-grep-rust/release/codecrafters-grep "$@"
13 changes: 13 additions & 0 deletions dockerfiles/rust-1.80.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# syntax=docker/dockerfile:1.7-labs
FROM rust:1.80-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
2 changes: 1 addition & 1 deletion solutions/rust/01-cq2/code/.codecrafters/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@

set -e # Exit on failure

cargo build --release --target-dir=/tmp/codecrafters-grep-target --manifest-path Cargo.toml
cargo build --release --target-dir=/tmp/codecrafters-build-grep-rust --manifest-path Cargo.toml
4 changes: 1 addition & 3 deletions solutions/rust/01-cq2/code/.codecrafters/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@
#
# Learn more: https://codecrafters.io/program-interface

set -e # Exit on failure

exec /tmp/codecrafters-grep-target/release/grep-starter-rust "$@"
exec /tmp/codecrafters-build-grep-rust/release/codecrafters-grep "$@"
2 changes: 1 addition & 1 deletion solutions/rust/01-cq2/code/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 2 additions & 15 deletions solutions/rust/01-cq2/code/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,23 +1,10 @@
# DON'T EDIT THIS!
#
# Codecrafters relies on this file being intact to run tests successfully. Any changes
# here will not reflect when CodeCrafters tests your code, and might even cause build
# failures.
#
# DON'T EDIT THIS!
[package]
name = "grep-starter-rust"
name = "codecrafters-grep"
version = "0.1.0"
authors = ["Codecrafters <hello@codecrafters.io>"]
edition = "2021"
rust-version = "1.80"

# DON'T EDIT THIS!
#
# Codecrafters relies on this file being intact to run tests successfully. Any changes
# here will not reflect when CodeCrafters tests your code, and might even cause build
# failures.
#
# DON'T EDIT THIS!
[dependencies]
anyhow = "1.0.68" # error handling
bytes = "1.3.0" # helps manage buffers
Expand Down
2 changes: 1 addition & 1 deletion solutions/rust/01-cq2/code/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Time to move on to the next stage!

Note: This section is for stages 2 and beyond.

1. Ensure you have `cargo (1.62)` installed locally
1. Ensure you have `cargo (1.80)` installed locally
1. Run `./your_program.sh` to run your program, 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.
Expand Down
4 changes: 2 additions & 2 deletions solutions/rust/01-cq2/code/codecrafters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ debug: false
# Use this to change the Rust version used to run your code
# on Codecrafters.
#
# Available versions: rust-1.77
language_pack: rust-1.77
# Available versions: rust-1.80
language_pack: rust-1.80
4 changes: 2 additions & 2 deletions solutions/rust/01-cq2/code/your_program.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ set -e # Exit early if any commands fail
# - Edit .codecrafters/compile.sh to change how your program compiles remotely
(
cd "$(dirname "$0")" # Ensure compile steps are run within the repository directory
cargo build --release --target-dir=/tmp/codecrafters-grep-target --manifest-path Cargo.toml
cargo build --release --target-dir=/tmp/codecrafters-build-grep-rust --manifest-path Cargo.toml
)

# Copied from .codecrafters/run.sh
#
# - Edit this to change how your program runs locally
# - Edit .codecrafters/run.sh to change how your program runs remotely
exec /tmp/codecrafters-grep-target/release/grep-starter-rust "$@"
exec /tmp/codecrafters-build-grep-rust/release/codecrafters-grep "$@"
2 changes: 1 addition & 1 deletion starter_templates/rust/code/.codecrafters/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@

set -e # Exit on failure

cargo build --release --target-dir=/tmp/codecrafters-grep-target --manifest-path Cargo.toml
cargo build --release --target-dir=/tmp/codecrafters-build-grep-rust --manifest-path Cargo.toml
4 changes: 1 addition & 3 deletions starter_templates/rust/code/.codecrafters/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,4 @@
#
# Learn more: https://codecrafters.io/program-interface

set -e # Exit on failure

exec /tmp/codecrafters-grep-target/release/grep-starter-rust "$@"
exec /tmp/codecrafters-build-grep-rust/release/codecrafters-grep "$@"
2 changes: 1 addition & 1 deletion starter_templates/rust/code/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 2 additions & 15 deletions starter_templates/rust/code/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,23 +1,10 @@
# DON'T EDIT THIS!
#
# Codecrafters relies on this file being intact to run tests successfully. Any changes
# here will not reflect when CodeCrafters tests your code, and might even cause build
# failures.
#
# DON'T EDIT THIS!
[package]
name = "grep-starter-rust"
name = "codecrafters-grep"
version = "0.1.0"
authors = ["Codecrafters <hello@codecrafters.io>"]
edition = "2021"
rust-version = "1.80"

# DON'T EDIT THIS!
#
# Codecrafters relies on this file being intact to run tests successfully. Any changes
# here will not reflect when CodeCrafters tests your code, and might even cause build
# failures.
#
# DON'T EDIT THIS!
[dependencies]
anyhow = "1.0.68" # error handling
bytes = "1.3.0" # helps manage buffers
Expand Down
4 changes: 2 additions & 2 deletions starter_templates/rust/config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
attributes:
required_executable: cargo (1.62)
user_editable_file: src/main.rs
required_executable: cargo (1.80)
user_editable_file: src/main.rs

0 comments on commit 2b679a0

Please sign in to comment.