Update rust (#249)

* Updated rust version

* Updated rust in workflow

* Updating rust version in docker file

* Updating postgresql

* Updated crates

* cargo update

* Updated readme

* Version bump

* Warning fix
This commit was merged in pull request #249.
This commit is contained in:
KD
2026-04-05 18:13:49 -04:00
committed by GitHub
parent bcd960d9a1
commit d273c801bf
8 changed files with 506 additions and 408 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.90.0
toolchain: 1.94
components: cargo
- name: Extract Version from Cargo.toml
+3 -3
View File
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-24.04
services:
postgres:
image: postgres:18.0
image: postgres:18.3-alpine
env:
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
@@ -27,10 +27,10 @@ jobs:
steps:
- uses: actions/checkout@v5
- name: Install Rust 1.90.0
- name: Install Rust 1.94
uses: actions-rs/toolchain@v1
with:
toolchain: 1.90.0
toolchain: 1.94
components: clippy, rustfmt
override: true
Generated
+472 -376
View File
File diff suppressed because it is too large Load Diff
+20 -20
View File
@@ -1,35 +1,35 @@
[package]
name = "icarus"
version = "0.3.28"
version = "0.4.0"
edition = "2024"
rust-version = "1.90"
rust-version = "1.94"
[dependencies]
axum = { version = "0.8.6", features = ["multipart"] }
axum-extra = { version = "0.10.3", features = ["cookie"] }
axum = { version = "0.8.8", features = ["multipart"] }
axum-extra = { version = "0.12.5", features = ["cookie"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = { version = "1.0.145" }
tower = { version = "0.5.2", features = ["full"] }
tokio = { version = "1.47.1", features = ["full"] }
tokio-util = { version = "0.7.16", features = ["io"] }
tower-http = { version = "0.6.6", features = ["cors", "timeout"] }
tracing-subscriber = "0.3.20"
futures = { version = "0.3.31" }
serde_json = { version = "1.0.149" }
tower = { version = "0.5.3", features = ["full"] }
tokio = { version = "1.51", features = ["full"] }
tokio-util = { version = "0.7.18", features = ["io"] }
tower-http = { version = "0.6.8", features = ["cors", "timeout"] }
tracing-subscriber = "0.3.23"
futures = { version = "0.3.32" }
mime_guess = { version = "2.0.5" }
uuid = { version = "1.18.1", features = ["v4", "serde"] }
uuid = { version = "1.23", features = ["v4", "serde"] }
sqlx = { version = "0.8.6", features = ["postgres", "runtime-tokio-native-tls", "time", "uuid"] }
time = { version = "0.3.44", features = ["formatting", "macros", "parsing", "serde"] }
thiserror = "2.0.17"
time = { version = "0.3.47", features = ["formatting", "macros", "parsing", "serde"] }
thiserror = "2.0.18"
base64 = "0.22.1"
jsonwebtoken = { version = "10.1.0", features = ["rust_crypto"] }
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto"] }
josekit = { version = "0.10.3" }
utoipa = { version = "5.4.0", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
icarus_meta = { git = "ssh://git@git.kundeng.us/phoenix/icarus_meta.git", tag = "v0.4.3" }
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.9.2" }
icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.5.0" }
icarus_meta = { git = "ssh://git@git.kundeng.us/phoenix/icarus_meta.git", tag = "v0.5.0" }
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.10.0" }
icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.6.0" }
[dev-dependencies]
common-multipart-rfc7578 = { version = "0.7.0" }
url = { version = "2.5.7" }
tempfile = { version = "3.23.0" }
url = { version = "2.5.8" }
tempfile = { version = "3.27.0" }
+1 -1
View File
@@ -1,5 +1,5 @@
# Stage 1: Build the application
FROM rust:1.90 as builder
FROM rust:1.94 as builder
# Set the working directory inside the container
WORKDIR /usr/src/app
+3 -3
View File
@@ -3,11 +3,11 @@ Web API for the Icarus project.
### Requires
`icarus_auth` v0.6.x
`songparser` v0.4.x
`icarus_auth` v0.7.x
`songparser` v0.5.x
### Compatible with
`icarus-dm` v0.8.x
`icarus-dm` v0.9.x
## Getting Started
+2 -3
View File
@@ -9,7 +9,6 @@ services:
container_name: icarus # Optional: Give the container a specific name
ports:
# Map host port 8000 to container port 3000 (adjust as needed)
# Format: "HOST_PORT:CONTAINER_PORT"
- "8000:8000"
env_file:
- .env
@@ -66,7 +65,7 @@ services:
# PostgreSQL Database Service
# --- icarus web api db ---
main_db:
image: postgres:18.0-alpine # Use an official Postgres image (Alpine variant is smaller)
image: postgres:18.3-alpine # Use an official Postgres image (Alpine variant is smaller)
container_name: icarus_db # Optional: Give the container a specific name
environment:
# These MUST match the user, password, and database name in the DATABASE_URL above
@@ -92,7 +91,7 @@ services:
# --- icarus web auth api db ---
auth_db:
image: postgres:18.0-alpine # Use an official Postgres image (Alpine variant is smaller)
image: postgres:18.3-alpine # Use an official Postgres image (Alpine variant is smaller)
container_name: icarus_auth_db # Optional: Give the container a specific name
environment:
# These MUST match the user, password, and database name in the DATABASE_URL above
+4 -1
View File
@@ -249,6 +249,9 @@ pub async fn app() -> axum::Router {
)
.layer(axum::Extension(pool))
.layer(axum::extract::DefaultBodyLimit::max(1024 * 1024 * 1024))
.layer(TimeoutLayer::new(Duration::from_secs(300)))
.layer(TimeoutLayer::with_status_code(
axum::http::StatusCode::OK,
Duration::from_secs(300),
))
.layer(cors)
}