From 302b1d2b7101a779dd80b8f1b98ea3babe578504 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:08:04 -0400 Subject: [PATCH 01/22] Added code to get tag info --- src/lib.rs | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index b93cf3f..42df240 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,6 +2,52 @@ pub fn add(left: u64, right: u64) -> u64 { left + right } +mod meta_type { + pub enum Type { + Title, + Artist, + Album, + Genre, + Year, + Track, + } +} + +mod meta { + use super::*; + use taglib; + + pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { + match t { + meta_type::Type::Title => { + match get_file(filepath) { + Ok(file) => { + match get_tag(&file) { + Ok(tag) => { + match tag.title() { + Some(title) => Ok(title), + None => Err(taglib::FileError::NoAvailableTag) + } + } + Err(err) => Err(err) + } + } + Err(err) => Err(err) + } + } + _ => Err(taglib::FileError::InvalidFile), + } + } + + fn get_file(filepath: &String) -> Result { + taglib::File::new(filepath) + } + + fn get_tag(tag: &taglib::File) -> Result { + tag.tag() + } +} + #[cfg(test)] mod tests { use super::*; -- 2.43.0 From 50ada1d484ced44a5569535741d6ba91984e8db5 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:20:57 -0400 Subject: [PATCH 02/22] Added test --- src/lib.rs | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 42df240..8a02f36 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -19,22 +19,16 @@ mod meta { pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { match t { - meta_type::Type::Title => { - match get_file(filepath) { - Ok(file) => { - match get_tag(&file) { - Ok(tag) => { - match tag.title() { - Some(title) => Ok(title), - None => Err(taglib::FileError::NoAvailableTag) - } - } - Err(err) => Err(err) - } - } - Err(err) => Err(err) - } - } + meta_type::Type::Title => match get_file(filepath) { + Ok(file) => match get_tag(&file) { + Ok(tag) => match tag.title() { + Some(title) => Ok(title), + None => Err(taglib::FileError::NoAvailableTag), + }, + Err(err) => Err(err), + }, + Err(err) => Err(err), + }, _ => Err(taglib::FileError::InvalidFile), } } @@ -57,4 +51,16 @@ mod tests { let result = add(2, 2); assert_eq!(result, 4); } + + #[test] + fn test_get_title() { + let filename = String::from("track01.flac"); + let dir = String::from("tests"); + let dir_path = std::path::Path::new(&dir); + let full_path = dir_path.join(filename); + + println!("Path: {:?}", full_path); + + assert!(full_path.exists(), "Path does not exists {:?}", full_path); + } } -- 2.43.0 From 5e52839256d7279ff3835572895b035749eeeb57 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:21:42 -0400 Subject: [PATCH 03/22] Removed code --- src/lib.rs | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 8a02f36..b20dcaf 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,3 @@ -pub fn add(left: u64, right: u64) -> u64 { - left + right -} - mod meta_type { pub enum Type { Title, @@ -46,12 +42,6 @@ mod meta { mod tests { use super::*; - #[test] - fn it_works() { - let result = add(2, 2); - assert_eq!(result, 4); - } - #[test] fn test_get_title() { let filename = String::from("track01.flac"); -- 2.43.0 From faafbf52020632359cc02b863c7f860c960326ad Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:45:02 -0400 Subject: [PATCH 04/22] Added more code --- src/lib.rs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index b20dcaf..24dab37 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -38,6 +38,46 @@ mod meta { } } +mod meta_nouveaou { + use super::*; + + use metadata; + + pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { + match t { + meta_type::Type::Title => match new_meta(&filepath) { + Ok(metaa) => { + let mut result = String::new(); + + for item in metaa.tags { + result += &String::from(" "); + result += &item.0; + result += &item.1; + } + + Ok(result) + } + Err(err) => Err(err), + }, + /* + meta_type::Type::Title + meta_type::Type::Title + meta_type::Type::Title + meta_type::Type::Title + */ + _ => Err(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "Invalid", + )), + } + } + + fn new_meta(filepath: &String) -> Result { + let path = std::path::Path::new(&filepath); + metadata::MediaFileMetadata::new(&path) + } +} + #[cfg(test)] mod tests { use super::*; @@ -52,5 +92,16 @@ mod tests { println!("Path: {:?}", full_path); assert!(full_path.exists(), "Path does not exists {:?}", full_path); + let filepath = full_path.display().to_string(); + + match meta_nouveaou::get_meta(meta_type::Type::Title, &filepath) { + Ok(_title) => { + let found = _title.contains("Just"); + assert!(found, "Meta information was not found"); + } + Err(err) => { + assert!(false, "Error: {:?}", err); + } + } } } -- 2.43.0 From f424e8962cc7efa4fc3e4c10a615e896c3e2c7d9 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:45:50 -0400 Subject: [PATCH 05/22] Added metadata dependency --- Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.toml b/Cargo.toml index a18b9f7..a925774 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,4 +5,5 @@ edition = "2024" [dependencies] taglib = { version = "1.0.0" } +metadata = { version = "0.1.10" } icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.4.3" } -- 2.43.0 From 8555ca4ed28b16468ce4cec7342fb8e653866495 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:51:53 -0400 Subject: [PATCH 06/22] Passing test --- src/lib.rs | 50 +++++++++++--------------------------------------- 1 file changed, 11 insertions(+), 39 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 24dab37..e8b9ce9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,35 +9,6 @@ mod meta_type { } } -mod meta { - use super::*; - use taglib; - - pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { - match t { - meta_type::Type::Title => match get_file(filepath) { - Ok(file) => match get_tag(&file) { - Ok(tag) => match tag.title() { - Some(title) => Ok(title), - None => Err(taglib::FileError::NoAvailableTag), - }, - Err(err) => Err(err), - }, - Err(err) => Err(err), - }, - _ => Err(taglib::FileError::InvalidFile), - } - } - - fn get_file(filepath: &String) -> Result { - taglib::File::new(filepath) - } - - fn get_tag(tag: &taglib::File) -> Result { - tag.tag() - } -} - mod meta_nouveaou { use super::*; @@ -47,15 +18,16 @@ mod meta_nouveaou { match t { meta_type::Type::Title => match new_meta(&filepath) { Ok(metaa) => { - let mut result = String::new(); - for item in metaa.tags { - result += &String::from(" "); - result += &item.0; - result += &item.1; + if item.0 == "TITLE" { + return Ok(item.1); + } } - Ok(result) + Err(std::io::Error::new( + std::io::ErrorKind::InvalidData, + "Tag not found", + )) } Err(err) => Err(err), }, @@ -85,7 +57,7 @@ mod tests { #[test] fn test_get_title() { let filename = String::from("track01.flac"); - let dir = String::from("tests"); + let dir = String::from("tests/sample_tracks3"); let dir_path = std::path::Path::new(&dir); let full_path = dir_path.join(filename); @@ -95,9 +67,9 @@ mod tests { let filepath = full_path.display().to_string(); match meta_nouveaou::get_meta(meta_type::Type::Title, &filepath) { - Ok(_title) => { - let found = _title.contains("Just"); - assert!(found, "Meta information was not found"); + Ok(title) => { + let found = title == "Just roll it"; + assert!(found, "Meta information was not found {:?}", title); } Err(err) => { assert!(false, "Error: {:?}", err); -- 2.43.0 From 97808bbc1d2bd4d1072cfc87fa29d58bfbe86b9d Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 12:52:18 -0400 Subject: [PATCH 07/22] Remove taglib dependency --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index a925774..3bc3eb5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,6 +4,5 @@ version = "0.1.0" edition = "2024" [dependencies] -taglib = { version = "1.0.0" } metadata = { version = "0.1.10" } icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.4.3" } -- 2.43.0 From d012f88cb51c94d8c97420d8472efbef88a1fca6 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:08:34 -0400 Subject: [PATCH 08/22] Refactor --- src/lib.rs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index e8b9ce9..846f80e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -18,6 +18,15 @@ mod meta_nouveaou { match t { meta_type::Type::Title => match new_meta(&filepath) { Ok(metaa) => { + match get_val(t, metaa.tags) { + Ok(val) => { + return Ok(val); + } + Err(err) => { + return Err(err); + } + } + /* for item in metaa.tags { if item.0 == "TITLE" { return Ok(item.1); @@ -28,6 +37,7 @@ mod meta_nouveaou { std::io::ErrorKind::InvalidData, "Tag not found", )) + */ } Err(err) => Err(err), }, @@ -44,6 +54,34 @@ mod meta_nouveaou { } } + fn get_type(t: meta_type::Type) -> Result { + match t { + meta_type::Type::Title => Ok("TITLE".to_string()), + meta_type::Type::Artist => Ok("ARTIST".to_string()), + meta_type::Type::Album => Ok("".to_string()), + meta_type::Type::Genre => Ok("".to_string()), + meta_type::Type::Year => Ok("".to_string()), + meta_type::Type::Track => Ok("".to_string()), + } + } + + fn get_val( + t: meta_type::Type, + tags: Vec<((String, String))>, + ) -> Result { + let type_ma: String = get_type(t).unwrap(); + for tag in tags { + if tag.0 == type_ma { + return Ok(tag.1); + } + } + + return Err(std::io::Error::new( + std::io::ErrorKind::InvalidInput, + "Invalid", + )); + } + fn new_meta(filepath: &String) -> Result { let path = std::path::Path::new(&filepath); metadata::MediaFileMetadata::new(&path) -- 2.43.0 From 4c427e618af80c86e1a369e0bab82ed128bbfa2e Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:10:18 -0400 Subject: [PATCH 09/22] Cleanup --- src/lib.rs | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 846f80e..70cb004 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -26,18 +26,6 @@ mod meta_nouveaou { return Err(err); } } - /* - for item in metaa.tags { - if item.0 == "TITLE" { - return Ok(item.1); - } - } - - Err(std::io::Error::new( - std::io::ErrorKind::InvalidData, - "Tag not found", - )) - */ } Err(err) => Err(err), }, -- 2.43.0 From f2cd96c50c24016104b9117402434ae864d5ce16 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:14:10 -0400 Subject: [PATCH 10/22] Added other types --- src/lib.rs | 77 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 62 insertions(+), 15 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 70cb004..4aed55e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,24 +17,71 @@ mod meta_nouveaou { pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { match t { meta_type::Type::Title => match new_meta(&filepath) { - Ok(metaa) => { - match get_val(t, metaa.tags) { - Ok(val) => { - return Ok(val); - } - Err(err) => { - return Err(err); - } + Ok(metaa) => match get_val(t, metaa.tags) { + Ok(val) => { + return Ok(val); } - } + Err(err) => { + return Err(err); + } + }, + Err(err) => Err(err), + }, + meta_type::Type::Artist => match new_meta(&filepath) { + Ok(metaa) => match get_val(t, metaa.tags) { + Ok(val) => { + return Ok(val); + } + Err(err) => { + return Err(err); + } + }, + Err(err) => Err(err), + }, + meta_type::Type::Album => match new_meta(&filepath) { + Ok(metaa) => match get_val(t, metaa.tags) { + Ok(val) => { + return Ok(val); + } + Err(err) => { + return Err(err); + } + }, + Err(err) => Err(err), + }, + meta_type::Type::Genre => match new_meta(&filepath) { + Ok(metaa) => match get_val(t, metaa.tags) { + Ok(val) => { + return Ok(val); + } + Err(err) => { + return Err(err); + } + }, + Err(err) => Err(err), + }, + meta_type::Type::Year => match new_meta(&filepath) { + Ok(metaa) => match get_val(t, metaa.tags) { + Ok(val) => { + return Ok(val); + } + Err(err) => { + return Err(err); + } + }, + Err(err) => Err(err), + }, + meta_type::Type::Track => match new_meta(&filepath) { + Ok(metaa) => match get_val(t, metaa.tags) { + Ok(val) => { + return Ok(val); + } + Err(err) => { + return Err(err); + } + }, Err(err) => Err(err), }, - /* - meta_type::Type::Title - meta_type::Type::Title - meta_type::Type::Title - meta_type::Type::Title - */ _ => Err(std::io::Error::new( std::io::ErrorKind::InvalidInput, "Invalid", -- 2.43.0 From a1d250a049d6427b59d97d2b562d5ed077a4dc36 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:18:43 -0400 Subject: [PATCH 11/22] Refactor --- src/lib.rs | 75 +++++++++++++++--------------------------------------- 1 file changed, 21 insertions(+), 54 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 4aed55e..a006e31 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,80 +12,50 @@ mod meta_type { mod meta_nouveaou { use super::*; - use metadata; - pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { match t { - meta_type::Type::Title => match new_meta(&filepath) { + meta_type::Type::Title => match new_meta(filepath) { Ok(metaa) => match get_val(t, metaa.tags) { - Ok(val) => { - return Ok(val); - } - Err(err) => { - return Err(err); - } + Ok(val) => Ok(val), + Err(err) => Err(err), }, Err(err) => Err(err), }, - meta_type::Type::Artist => match new_meta(&filepath) { + meta_type::Type::Artist => match new_meta(filepath) { Ok(metaa) => match get_val(t, metaa.tags) { - Ok(val) => { - return Ok(val); - } - Err(err) => { - return Err(err); - } + Ok(val) => Ok(val), + Err(err) => Err(err), }, Err(err) => Err(err), }, - meta_type::Type::Album => match new_meta(&filepath) { + meta_type::Type::Album => match new_meta(filepath) { Ok(metaa) => match get_val(t, metaa.tags) { - Ok(val) => { - return Ok(val); - } - Err(err) => { - return Err(err); - } + Ok(val) => Ok(val), + Err(err) => Err(err), }, Err(err) => Err(err), }, - meta_type::Type::Genre => match new_meta(&filepath) { + meta_type::Type::Genre => match new_meta(filepath) { Ok(metaa) => match get_val(t, metaa.tags) { - Ok(val) => { - return Ok(val); - } - Err(err) => { - return Err(err); - } + Ok(val) => Ok(val), + Err(err) => Err(err), }, Err(err) => Err(err), }, - meta_type::Type::Year => match new_meta(&filepath) { + meta_type::Type::Year => match new_meta(filepath) { Ok(metaa) => match get_val(t, metaa.tags) { - Ok(val) => { - return Ok(val); - } - Err(err) => { - return Err(err); - } + Ok(val) => Ok(val), + Err(err) => Err(err), }, Err(err) => Err(err), }, - meta_type::Type::Track => match new_meta(&filepath) { + meta_type::Type::Track => match new_meta(filepath) { Ok(metaa) => match get_val(t, metaa.tags) { - Ok(val) => { - return Ok(val); - } - Err(err) => { - return Err(err); - } + Ok(val) => Ok(val), + Err(err) => Err(err), }, Err(err) => Err(err), }, - _ => Err(std::io::Error::new( - std::io::ErrorKind::InvalidInput, - "Invalid", - )), } } @@ -100,10 +70,7 @@ mod meta_nouveaou { } } - fn get_val( - t: meta_type::Type, - tags: Vec<((String, String))>, - ) -> Result { + fn get_val(t: meta_type::Type, tags: Vec<(String, String)>) -> Result { let type_ma: String = get_type(t).unwrap(); for tag in tags { if tag.0 == type_ma { @@ -111,10 +78,10 @@ mod meta_nouveaou { } } - return Err(std::io::Error::new( + Err(std::io::Error::new( std::io::ErrorKind::InvalidInput, "Invalid", - )); + )) } fn new_meta(filepath: &String) -> Result { -- 2.43.0 From 8ba11a60e7bf0baf137648ea3ee1919b15af3b8b Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:21:05 -0400 Subject: [PATCH 12/22] Warning fixes --- src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index a006e31..1a2d6e3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,4 @@ -mod meta_type { +pub mod meta_type { pub enum Type { Title, Artist, @@ -9,7 +9,7 @@ mod meta_type { } } -mod meta_nouveaou { +pub mod meta_nouveaou { use super::*; pub fn get_meta(t: meta_type::Type, filepath: &String) -> Result { -- 2.43.0 From ef7768d9c941153001446388d0d64834aaec6ec8 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:25:33 -0400 Subject: [PATCH 13/22] Added dependency install workflow step --- .gitea/workflows/workflow.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 21ec691..79b5074 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -11,6 +11,24 @@ on: - devel jobs: + install_dependencies: + # runs-on: ubuntu-latest # Or similar Debian/Ubuntu based runner + runs-on: ubuntu-24.04 + container: rust:1.86.0 # Example using the official Rust image (Debian based) + steps: + - uses: actions/checkout@v3 # Or the Gitea equivalent checkout action + + - name: Install FFmpeg development libraries + run: | + apt-get update -y + apt-get install -y --no-install-recommends \ + libavutil-dev \ + libavformat-dev \ + libavcodec-dev \ + libswscale-dev \ + # Add other ffmpeg dev packages if needed by your specific crate + rm -rf /var/lib/apt/lists/* # Clean up + check: name: Check runs-on: ubuntu-24.04 -- 2.43.0 From ddf69ffdeb192ff9c843aaf8f5cc438e3a546df1 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:29:57 -0400 Subject: [PATCH 14/22] Workflow fix --- .gitea/workflows/workflow.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 79b5074..90ee13e 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -16,8 +16,6 @@ jobs: runs-on: ubuntu-24.04 container: rust:1.86.0 # Example using the official Rust image (Debian based) steps: - - uses: actions/checkout@v3 # Or the Gitea equivalent checkout action - - name: Install FFmpeg development libraries run: | apt-get update -y -- 2.43.0 From 7b884b8eb381089982731219a484667e841bc8bf Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:46:58 -0400 Subject: [PATCH 15/22] Workflow refactor --- .gitea/workflows/workflow.yml | 78 ++++++++--------------------------- 1 file changed, 17 insertions(+), 61 deletions(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 90ee13e..f86adb4 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -11,12 +11,15 @@ on: - devel jobs: - install_dependencies: - # runs-on: ubuntu-latest # Or similar Debian/Ubuntu based runner + build_and_test: + name: Build and test runs-on: ubuntu-24.04 - container: rust:1.86.0 # Example using the official Rust image (Debian based) steps: - - name: Install FFmpeg development libraries + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + name: Install dependencies run: | apt-get update -y apt-get install -y --no-install-recommends \ @@ -26,15 +29,7 @@ jobs: libswscale-dev \ # Add other ffmpeg dev packages if needed by your specific crate rm -rf /var/lib/apt/lists/* # Clean up - - check: - name: Check - runs-on: ubuntu-24.04 - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 + name: Check - run: | mkdir -p ~/.ssh echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key @@ -43,17 +38,8 @@ jobs: eval $(ssh-agent -s) ssh-add -v ~/.ssh/gitlab_deploy_key cargo check - - test: - name: Test Suite - runs-on: ubuntu-24.04 - needs: setup_ssh - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 - - run: | + name: Test + run: | mkdir -p ~/.ssh echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key chmod 600 ~/.ssh/gitlab_deploy_key @@ -61,18 +47,8 @@ jobs: eval $(ssh-agent -s) ssh-add -v ~/.ssh/gitlab_deploy_key cargo test - - fmt: - name: Rustfmt - runs-on: ubuntu-24.04 - needs: setup_ssh - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 - - run: rustup component add rustfmt - - run: | + name: Formatting + run: | mkdir -p ~/.ssh echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key chmod 600 ~/.ssh/gitlab_deploy_key @@ -80,18 +56,8 @@ jobs: eval $(ssh-agent -s) ssh-add -v ~/.ssh/gitlab_deploy_key cargo fmt --all -- --check - - clippy: - name: Clippy - runs-on: ubuntu-24.04 - needs: setup_ssh - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 - - run: rustup component add clippy - - run: | + name: Clippy + run: | mkdir -p ~/.ssh echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key chmod 600 ~/.ssh/gitlab_deploy_key @@ -99,22 +65,12 @@ jobs: eval $(ssh-agent -s) ssh-add -v ~/.ssh/gitlab_deploy_key cargo clippy -- -D warnings - - build: - name: build - runs-on: ubuntu-24.04 - needs: setup_ssh - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 - - run: | + name: Build + run: | mkdir -p ~/.ssh echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key chmod 600 ~/.ssh/gitlab_deploy_key ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts eval $(ssh-agent -s) ssh-add -v ~/.ssh/gitlab_deploy_key - cargo build --release - + cargo build --release \ No newline at end of file -- 2.43.0 From 8b40b10bd7fb47dfabda8d1556b2121c259a4e23 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 13:50:02 -0400 Subject: [PATCH 16/22] Workflow fix --- .gitea/workflows/workflow.yml | 47 +---------------------------------- 1 file changed, 1 insertion(+), 46 deletions(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index f86adb4..8193606 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -28,49 +28,4 @@ jobs: libavcodec-dev \ libswscale-dev \ # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up - name: Check - - run: | - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo check - name: Test - run: | - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo test - name: Formatting - run: | - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo fmt --all -- --check - name: Clippy - run: | - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo clippy -- -D warnings - name: Build - run: | - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo build --release \ No newline at end of file + rm -rf /var/lib/apt/lists/* # Clean up \ No newline at end of file -- 2.43.0 From 9d5f3fb07d947f139216d11dd6309be476bf13cd Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 14:11:00 -0400 Subject: [PATCH 17/22] Adding ffmpeg library install in steps --- .gitea/workflows/workflow.yml | 133 +++++++++++++++++++++++++++++++--- 1 file changed, 121 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 727cdf7..7cc4fe4 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -14,18 +14,10 @@ jobs: install_dependencies: # runs-on: ubuntu-latest # Or similar Debian/Ubuntu based runner runs-on: ubuntu-24.04 - # container: rust:1.86.0 # Example using the official Rust image (Debian based) + container: rust:1.86.0 # Example using the official Rust image (Debian based) steps: - name: Install FFmpeg development libraries run: | - apt-get update -y - apt-get install -y --no-install-recommends \ - libavutil-dev \ - libavformat-dev \ - libavcodec-dev \ - libswscale-dev \ - # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up check: name: Check @@ -35,8 +27,8 @@ jobs: - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.86.0 - name: Install dependencies - run: | + - run: | + echo "Installing ffmpeg dev libraries" apt-get update -y apt-get install -y --no-install-recommends \ libavutil-dev \ @@ -44,4 +36,121 @@ jobs: libavcodec-dev \ libswscale-dev \ # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up \ No newline at end of file + rm -rf /var/lib/apt/lists/* # Clean up + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo check + + test: + name: Test Suite + runs-on: ubuntu-24.04 + needs: setup_ssh + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + - run: | + echo "Installing ffmpeg dev libraries" + apt-get update -y + apt-get install -y --no-install-recommends \ + libavutil-dev \ + libavformat-dev \ + libavcodec-dev \ + libswscale-dev \ + # Add other ffmpeg dev packages if needed by your specific crate + rm -rf /var/lib/apt/lists/* # Clean up + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo test + + fmt: + name: Rustfmt + runs-on: ubuntu-24.04 + needs: setup_ssh + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + - run: rustup component add rustfmt + - run: | + echo "Installing ffmpeg dev libraries" + apt-get update -y + apt-get install -y --no-install-recommends \ + libavutil-dev \ + libavformat-dev \ + libavcodec-dev \ + libswscale-dev \ + # Add other ffmpeg dev packages if needed by your specific crate + rm -rf /var/lib/apt/lists/* # Clean up + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo fmt --all -- --check + + clippy: + name: Clippy + runs-on: ubuntu-24.04 + needs: setup_ssh + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + - run: rustup component add clippy + - run: | + echo "Installing ffmpeg dev libraries" + apt-get update -y + apt-get install -y --no-install-recommends \ + libavutil-dev \ + libavformat-dev \ + libavcodec-dev \ + libswscale-dev \ + # Add other ffmpeg dev packages if needed by your specific crate + rm -rf /var/lib/apt/lists/* # Clean up + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo clippy -- -D warnings + + build: + name: build + runs-on: ubuntu-24.04 + needs: setup_ssh + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + - run: | + echo "Installing ffmpeg dev libraries" + apt-get update -y + apt-get install -y --no-install-recommends \ + libavutil-dev \ + libavformat-dev \ + libavcodec-dev \ + libswscale-dev \ + # Add other ffmpeg dev packages if needed by your specific crate + rm -rf /var/lib/apt/lists/* # Clean up + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo build --release \ No newline at end of file -- 2.43.0 From 92fdbaaafc3e9bcb02fdc12696a2f14d42cddecc Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 14:11:35 -0400 Subject: [PATCH 18/22] Removed workflow step --- .gitea/workflows/workflow.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 7cc4fe4..8ab6a42 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -11,14 +11,6 @@ on: - devel jobs: - install_dependencies: - # runs-on: ubuntu-latest # Or similar Debian/Ubuntu based runner - runs-on: ubuntu-24.04 - container: rust:1.86.0 # Example using the official Rust image (Debian based) - steps: - - name: Install FFmpeg development libraries - run: | - check: name: Check runs-on: ubuntu-24.04 -- 2.43.0 From b64a9501dc8ac79192ecef5859356e111a6ed79e Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 14:14:14 -0400 Subject: [PATCH 19/22] Temporarily removing workflow --- .gitea/workflows/workflow.yml | 87 ++--------------------------------- 1 file changed, 3 insertions(+), 84 deletions(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 8ab6a42..2af010e 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -19,11 +19,13 @@ jobs: - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.86.0 + name: Check - run: | echo "Installing ffmpeg dev libraries" apt-get update -y apt-get install -y --no-install-recommends \ libavutil-dev \ + libclang libavformat-dev \ libavcodec-dev \ libswscale-dev \ @@ -62,87 +64,4 @@ jobs: ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts eval $(ssh-agent -s) ssh-add -v ~/.ssh/gitlab_deploy_key - cargo test - - fmt: - name: Rustfmt - runs-on: ubuntu-24.04 - needs: setup_ssh - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 - - run: rustup component add rustfmt - - run: | - echo "Installing ffmpeg dev libraries" - apt-get update -y - apt-get install -y --no-install-recommends \ - libavutil-dev \ - libavformat-dev \ - libavcodec-dev \ - libswscale-dev \ - # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo fmt --all -- --check - - clippy: - name: Clippy - runs-on: ubuntu-24.04 - needs: setup_ssh - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 - - run: rustup component add clippy - - run: | - echo "Installing ffmpeg dev libraries" - apt-get update -y - apt-get install -y --no-install-recommends \ - libavutil-dev \ - libavformat-dev \ - libavcodec-dev \ - libswscale-dev \ - # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo clippy -- -D warnings - - build: - name: build - runs-on: ubuntu-24.04 - needs: setup_ssh - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: 1.86.0 - - run: | - echo "Installing ffmpeg dev libraries" - apt-get update -y - apt-get install -y --no-install-recommends \ - libavutil-dev \ - libavformat-dev \ - libavcodec-dev \ - libswscale-dev \ - # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up - mkdir -p ~/.ssh - echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key - chmod 600 ~/.ssh/gitlab_deploy_key - ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts - eval $(ssh-agent -s) - ssh-add -v ~/.ssh/gitlab_deploy_key - cargo build --release \ No newline at end of file + cargo test \ No newline at end of file -- 2.43.0 From 02bf3c10df1b19cca7c823373cacbef8c982c4c1 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 14:19:35 -0400 Subject: [PATCH 20/22] Package fix --- .gitea/workflows/workflow.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 2af010e..199964a 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -25,7 +25,7 @@ jobs: apt-get update -y apt-get install -y --no-install-recommends \ libavutil-dev \ - libclang + libclang-dev \ libavformat-dev \ libavcodec-dev \ libswscale-dev \ @@ -53,6 +53,7 @@ jobs: apt-get update -y apt-get install -y --no-install-recommends \ libavutil-dev \ + libclang-dev \ libavformat-dev \ libavcodec-dev \ libswscale-dev \ -- 2.43.0 From f9d34651a1989297799e007241a713b0a09c4fb2 Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 14:25:27 -0400 Subject: [PATCH 21/22] Refactor --- .gitea/workflows/workflow.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index 199964a..d742a17 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -16,10 +16,12 @@ jobs: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 + name: Checkout - uses: actions-rust-lang/setup-rust-toolchain@v1 + name: Checking out rust toolchain with: toolchain: 1.86.0 - name: Check + name: Code check - run: | echo "Installing ffmpeg dev libraries" apt-get update -y -- 2.43.0 From fc4a197dc30816bfdfe1b12ba176cf0558ddb46f Mon Sep 17 00:00:00 2001 From: phoenix Date: Sat, 12 Apr 2025 14:30:51 -0400 Subject: [PATCH 22/22] Reset --- .gitea/workflows/workflow.yml | 81 ++++++++++++++++++++++++----------- 1 file changed, 57 insertions(+), 24 deletions(-) diff --git a/.gitea/workflows/workflow.yml b/.gitea/workflows/workflow.yml index d742a17..28ad362 100644 --- a/.gitea/workflows/workflow.yml +++ b/.gitea/workflows/workflow.yml @@ -16,23 +16,10 @@ jobs: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Checkout - uses: actions-rust-lang/setup-rust-toolchain@v1 - name: Checking out rust toolchain with: toolchain: 1.86.0 - name: Code check - run: | - echo "Installing ffmpeg dev libraries" - apt-get update -y - apt-get install -y --no-install-recommends \ - libavutil-dev \ - libclang-dev \ - libavformat-dev \ - libavcodec-dev \ - libswscale-dev \ - # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up mkdir -p ~/.ssh echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key chmod 600 ~/.ssh/gitlab_deploy_key @@ -51,20 +38,66 @@ jobs: with: toolchain: 1.86.0 - run: | - echo "Installing ffmpeg dev libraries" - apt-get update -y - apt-get install -y --no-install-recommends \ - libavutil-dev \ - libclang-dev \ - libavformat-dev \ - libavcodec-dev \ - libswscale-dev \ - # Add other ffmpeg dev packages if needed by your specific crate - rm -rf /var/lib/apt/lists/* # Clean up mkdir -p ~/.ssh echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key chmod 600 ~/.ssh/gitlab_deploy_key ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts eval $(ssh-agent -s) ssh-add -v ~/.ssh/gitlab_deploy_key - cargo test \ No newline at end of file + cargo test + + fmt: + name: Rustfmt + runs-on: ubuntu-24.04 + needs: setup_ssh + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + - run: rustup component add rustfmt + - run: | + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo fmt --all -- --check + + clippy: + name: Clippy + runs-on: ubuntu-24.04 + needs: setup_ssh + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + - run: rustup component add clippy + - run: | + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo clippy -- -D warnings + + build: + name: build + runs-on: ubuntu-24.04 + needs: setup_ssh + steps: + - uses: actions/checkout@v4 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: 1.86.0 + - run: | + mkdir -p ~/.ssh + echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key + chmod 600 ~/.ssh/gitlab_deploy_key + ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts + eval $(ssh-agent -s) + ssh-add -v ~/.ssh/gitlab_deploy_key + cargo build --release \ No newline at end of file -- 2.43.0