From c6ab8387c988dbf21dd4c368d58a7b926ee39d15 Mon Sep 17 00:00:00 2001 From: KD Date: Sat, 29 Mar 2025 09:46:24 -0400 Subject: [PATCH 1/9] Adding dependencies --- Cargo.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index cc9a92b..d4b8fab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,3 +4,8 @@ version = "0.2.0" edition = "2024" [dependencies] +axum = { version = "0.8.3" } +serde = { version = "1.0.218", features = ["derive"] } +serde_json = { version = "1.0.139" } +tokio = { version = "1.44.1", features = ["rt-multi-thread"] } +tracing-subscriber = "0.3.19" -- 2.47.3 From 57ca0afdedb1c25f9f30ba016bcfbddd769119a1 Mon Sep 17 00:00:00 2001 From: KD Date: Sat, 29 Mar 2025 09:47:11 -0400 Subject: [PATCH 2/9] Added web api code --- src/main.rs | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index e7a11a9..4c1b3bf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,28 @@ -fn main() { - println!("Hello, world!"); +use axum::{ + routing::{get, post}, + http::StatusCode, + Json, Router, +}; +use serde::{Deserialize, Serialize}; + +#[tokio::main] +async fn main() { + // initialize tracing + tracing_subscriber::fmt::init(); + + // build our application with a route + let app = Router::new() + // `GET /` goes to `root` + .route("/", get(root)); + // `POST /users` goes to `create_user` + // .route("/users", post(create_user)); + + // run our app with hyper, listening globally on port 3000 + let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); + axum::serve(listener, app).await.unwrap(); +} + +// basic handler that responds with a static string +async fn root() -> &'static str { + "Hello, World!" } -- 2.47.3 From a57898cf5204b0f9effe5c0e6147ebafbea535ff Mon Sep 17 00:00:00 2001 From: KD Date: Sat, 29 Mar 2025 09:54:56 -0400 Subject: [PATCH 3/9] Some changes --- src/main.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 4c1b3bf..6ef3c50 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,10 +18,21 @@ async fn main() { // .route("/users", post(create_user)); // run our app with hyper, listening globally on port 3000 - let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); + let listener = tokio::net::TcpListener::bind(get_full()).await.unwrap(); axum::serve(listener, app).await.unwrap(); } +fn get_full() -> String { + get_address() + ":" + &get_port() +} +fn get_address() -> String { + String::from("0.0.0.0") +} + +fn get_port() -> String { + String::from("3000") +} + // basic handler that responds with a static string async fn root() -> &'static str { "Hello, World!" -- 2.47.3 From 811d368e9722a8c33c903c23cacdca457448b88e Mon Sep 17 00:00:00 2001 From: KD Date: Sat, 29 Mar 2025 09:55:17 -0400 Subject: [PATCH 4/9] Code formatting --- src/main.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6ef3c50..530b52d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use axum::{ - routing::{get, post}, - http::StatusCode, Json, Router, + http::StatusCode, + routing::{get, post}, }; use serde::{Deserialize, Serialize}; @@ -14,8 +14,8 @@ async fn main() { let app = Router::new() // `GET /` goes to `root` .route("/", get(root)); - // `POST /users` goes to `create_user` - // .route("/users", post(create_user)); + // `POST /users` goes to `create_user` + // .route("/users", post(create_user)); // run our app with hyper, listening globally on port 3000 let listener = tokio::net::TcpListener::bind(get_full()).await.unwrap(); -- 2.47.3 From 6f15817c9f1379008aa0e11e67877497edbeb7eb Mon Sep 17 00:00:00 2001 From: KD Date: Sun, 30 Mar 2025 14:40:45 -0400 Subject: [PATCH 5/9] Added dependencies * * --- Cargo.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index d4b8fab..9920c88 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,3 +9,5 @@ serde = { version = "1.0.218", features = ["derive"] } serde_json = { version = "1.0.139" } tokio = { version = "1.44.1", features = ["rt-multi-thread"] } tracing-subscriber = "0.3.19" +icarus_meta = { git = "ssh://git@git.kundeng.us/phoenix/icarus_meta.git", tag = "v0.1.0-main-0dc8c153d2-680" } +icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.2.0" } -- 2.47.3 From 6a90c770fcbd7010b5d48f99f8ae905e1b362a47 Mon Sep 17 00:00:00 2001 From: KD Date: Sun, 30 Mar 2025 14:44:23 -0400 Subject: [PATCH 6/9] Added workflow --- .github/workflows/workflow.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/workflow.yml diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..4b870e8 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,31 @@ +name: Rust CI + +on: + push: + branches: [ "master" ] # Changed from main to master + pull_request: + branches: [ "master" ] # Changed from main to master + +jobs: + build: + + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Install Rust 1.85.0 + uses: actions-rs/toolchain@v1 + with: + toolchain: 1.85.0 + components: clippy, rustfmt + override: true + - name: Cache dependencies + uses: Swatinem/rust-cache@v2 + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose + - name: Run clippy + run: cargo clippy -- -D warnings + - name: Run rustfmt + run: cargo fmt --all -- --check -- 2.47.3 From 53f60622d36c8f2c8cfc600a6a9c29b969842b9d Mon Sep 17 00:00:00 2001 From: KD Date: Sun, 30 Mar 2025 14:45:55 -0400 Subject: [PATCH 7/9] Changed branch to trigger workflows --- .github/workflows/workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 4b870e8..3e61dd2 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -2,9 +2,9 @@ name: Rust CI on: push: - branches: [ "master" ] # Changed from main to master + branches: [ "v0.2" ] # Changed from main to master pull_request: - branches: [ "master" ] # Changed from main to master + branches: [ "v0.2" ] # Changed from main to master jobs: build: -- 2.47.3 From b91faa0f69a6f2df2ea58dfda6b9850fa5cf6447 Mon Sep 17 00:00:00 2001 From: KD Date: Sun, 30 Mar 2025 14:50:45 -0400 Subject: [PATCH 8/9] Added ssh key import --- .github/workflows/workflow.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 3e61dd2..3bf0fae 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -22,7 +22,14 @@ jobs: - name: Cache dependencies uses: Swatinem/rust-cache@v2 - name: Build - run: cargo build --verbose + run: | + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitea_deploy_key + chmod 600 ~/.ssh/gitea_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitea_deploy_key + cargo build --verbose --release - name: Run tests run: cargo test --verbose - name: Run clippy -- 2.47.3 From 1777aca900407bf7ecc79db7dda8feda81243371 Mon Sep 17 00:00:00 2001 From: KD Date: Sun, 30 Mar 2025 14:57:37 -0400 Subject: [PATCH 9/9] Warning fixes --- src/main.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index 530b52d..2ec5576 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,11 @@ use axum::{ - Json, Router, - http::StatusCode, - routing::{get, post}, + // Json, + Router, + // http::StatusCode, + // routing::{get, post}, + routing::get, }; -use serde::{Deserialize, Serialize}; +// use serde::{Deserialize, Serialize}; #[tokio::main] async fn main() { -- 2.47.3