From cce3338dc9a84dd7da381602d4c2275b12c90368 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Wed, 15 Nov 2023 23:53:16 +0100 Subject: [PATCH 01/72] Updated Tauri Config to accomodate needed APIs and change default size --- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 584ec19..3b65978 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -13,7 +13,7 @@ edition = "2021" tauri-build = { version = "1.4", features = [] } [dependencies] -tauri = { version = "1.4", features = ["shell-open"] } +tauri = { version = "1.4", features = [ "os-all", "path-all", "dialog-open", "shell-open"] } quick-xml = { version = "0.29.0", features = ["serde", "serialize"] } serde = { version = "1.0", features = ["derive"] } serde-xml-rs = "0.6.0" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 686dc01..3a5e3fe 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -16,6 +16,15 @@ "shell": { "all": false, "open": true + }, + "dialog": { + "open": true + }, + "path": { + "all": true + }, + "os": { + "all": true } }, "bundle": { @@ -38,8 +47,8 @@ "fullscreen": false, "resizable": true, "title": "comicinfo-editor-v2", - "width": 800, - "height": 600 + "width": 1280, + "height": 720 } ] } From 87d703abe40cdac9c56c6e0709697aefa2b19e41 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Wed, 15 Nov 2023 23:54:06 +0100 Subject: [PATCH 02/72] Auto-Focus New Elements in List Input (Tags) --- src/lib/ListTextInput/ListTextInputElement.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ListTextInput/ListTextInputElement.svelte b/src/lib/ListTextInput/ListTextInputElement.svelte index 42f22e1..c4ff428 100644 --- a/src/lib/ListTextInput/ListTextInputElement.svelte +++ b/src/lib/ListTextInput/ListTextInputElement.svelte @@ -15,7 +15,7 @@ } </script> -<input id="tag-{id}" type="text" class="letterInput" style="--valuelen: {width}ch" bind:value={value}> +<input id="tag-{id}" type="text" class="letterInput" style="--valuelen: {width}ch" bind:value={value} autofocus> <button on:click|preventDefault={handleClick}>X</button> <style> From b5812fa32c129190e7a4eb522e42d237451800ce Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Wed, 15 Nov 2023 23:59:09 +0100 Subject: [PATCH 03/72] Added: Path Selection (ComicInfo + Bundle Source), Bundle Checkbox --- src-tauri/src/main.rs | 16 ++++++++--- src/App.svelte | 8 ++++++ src/lib/MetadataInput.svelte | 56 ++++++++++++++++++++++++++++++++++-- src/lib/PathInput.svelte | 35 ++++++++++++++++++++++ 4 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 src/lib/PathInput.svelte diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 602d3c8..21dfc9d 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -2,6 +2,7 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] use serde::{Deserialize, Serialize}; +use std::path::MAIN_SEPARATOR_STR; use crate::metadata::{*}; mod metadata; @@ -14,13 +15,20 @@ fn greet(name: &str) -> String { fn main() { tauri::Builder::default() - .invoke_handler(tauri::generate_handler![greet, test]) + .invoke_handler(tauri::generate_handler![greet, save]) .run(tauri::generate_context!()) .expect("error while running tauri application"); } #[tauri::command] -fn test(message: metadata::Metadata) -> String { - message.save_to_xml("/home/neshura/Repositories/comicinfo-editor-v2/ComicInfo.xml"); - format!("Series: '{}' | Title: '{}'", message.series_title, message.title) +fn save(metadata: Metadata, path: String) -> String { + let file_path: String; + if path.ends_with(MAIN_SEPARATOR_STR) { + file_path = path + "ComicInfo.xml"; + } + else { + file_path = path + MAIN_SEPARATOR_STR + "ComicInfo.xml"; + } + metadata.save_to_xml(&file_path); + file_path } diff --git a/src/App.svelte b/src/App.svelte index d97f7cd..a79addc 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -21,6 +21,14 @@ <p> Settings go here </p> + + <p> + Default ComicInfo.xml save location + </p> + + <p> + Default Metadata Settings (genre, age rating) + </p> {/if} </div> diff --git a/src/lib/MetadataInput.svelte b/src/lib/MetadataInput.svelte index 08c75b9..310420e 100644 --- a/src/lib/MetadataInput.svelte +++ b/src/lib/MetadataInput.svelte @@ -6,6 +6,13 @@ import {invoke} from "@tauri-apps/api/tauri"; import {AgeRating, LanguageISO, type Metadata} from "./metadata"; import Dropdown from "./Dropdown/Dropdown.svelte"; + import PathInput from "./PathInput.svelte"; + import {tempdir} from "@tauri-apps/api/os"; + import {downloadDir} from "@tauri-apps/api/path"; + let tauriInitDone = false; + + let downloadDirPath: string; + let tempDirPath: string; let returnMessage = ""; @@ -47,6 +54,11 @@ age_rating: AgeRating.Unknown }; + let saveDirectory = ""; + + let bundleDirectory = ""; + let doBundle = false; + $: { if (metadata.release_date.year < 0) { metadata.release_date.month = -1; @@ -56,15 +68,43 @@ } } + $: { + if (tauriInitDone) { + if (saveDirectory == "") { + saveDirectory = downloadDirPath; + } + + if (bundleDirectory == "") { + bundleDirectory = downloadDirPath; + } + } + } + + async function init() { + downloadDirPath = await downloadDir(); + tempDirPath = await tempdir(); + tauriInitDone = true; + } + function deleteTag(event: any) { metadata.tags.splice(event.detail.tagId, 1); metadata.tags = metadata.tags; } async function saveMetadata() { + while (!tauriInitDone) { + await new Promise( resolve => setTimeout(resolve, 100) ); + } console.log(metadata); - returnMessage = await invoke("test", { message: metadata }) + if (bundleDirectory != "") { + } + else { + let comicInfoPath = await invoke("save", { message: metadata, path: saveDirectory }) + returnMessage = "Saved '" + metadata.title + "' to '" + comicInfoPath + "'"; + } } + + init(); </script> <div class="metadataInputContainer"> @@ -131,14 +171,24 @@ <TextInput id="genre" bind:value={metadata.genre} placeholder="Genre" /> <label for="language-select">Language:</label> - <Dropdown id="language-select" bind:activeElement={metadata.language} list={Object.values(LanguageISO)}></Dropdown> + <Dropdown id="language-select" bind:activeElement={metadata.language} list={Object.values(LanguageISO)} /> </div> <div class="row-left"> <label for="age-rating">Age Rating:</label> - <Dropdown id="" bind:activeElement={metadata.age_rating} list={Object.values(AgeRating)}></Dropdown> + <Dropdown id="" bind:activeElement={metadata.age_rating} list={Object.values(AgeRating)} /> </div> + <hr> + + <PathInput bind:path={saveDirectory}/> + <div class="row-left"> + <label for="bundle-check">Bundle:</label> + <input id="bundle-check" type="checkbox" bind:checked={doBundle}> + </div> + {#if doBundle} + <PathInput bind:path={bundleDirectory}/> + {/if} <input type="submit" value="Save"/> <p>{returnMessage}</p> </form> diff --git a/src/lib/PathInput.svelte b/src/lib/PathInput.svelte new file mode 100644 index 0000000..ed38668 --- /dev/null +++ b/src/lib/PathInput.svelte @@ -0,0 +1,35 @@ +<script lang="ts"> + import { open } from '@tauri-apps/api/dialog'; + + export let path: string; + + let buttonPrompt = "Select"; + + async function handleClick() { + const dirHandle = await open({ + multiple: false, + directory: true, + defaultPath: path + }); + if (Array.isArray(dirHandle)) { + path = dirHandle[0]; + } + else if (dirHandle !== null) { + path = dirHandle; + } + } + +</script> + +<div> + <button on:click|preventDefault={handleClick}>{buttonPrompt}</button> + {#if path != ""} + <p>{path}</p> + {:else} + <p>Select Save Location...</p> + {/if} +</div> + +<style> + +</style> \ No newline at end of file From 25ef82cf2d4bd4c04c3be271b83c29fbe9c6cd66 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Wed, 15 Nov 2023 23:59:50 +0100 Subject: [PATCH 04/72] Add functional bundling of ComicInfo File with static test name --- src-tauri/Cargo.lock | 332 ++++++++++++++++++++++++++++++++++- src-tauri/Cargo.toml | 1 + src-tauri/src/main.rs | 29 ++- src/lib/MetadataInput.svelte | 11 ++ 4 files changed, 368 insertions(+), 5 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index ff33e0b..5e7e179 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -17,6 +17,17 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aes" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + [[package]] name = "aho-corasick" version = "1.1.2" @@ -119,6 +130,12 @@ version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + [[package]] name = "bitflags" version = "1.3.2" @@ -201,6 +218,27 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "cairo-rs" version = "0.15.12" @@ -241,6 +279,7 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ + "jobserver", "libc", ] @@ -296,7 +335,17 @@ dependencies = [ "iana-time-zone", "num-traits", "serde", - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", ] [[package]] @@ -357,8 +406,15 @@ dependencies = [ "strum_macros", "tauri", "tauri-build", + "zip", ] +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + [[package]] name = "convert_case" version = "0.4.0" @@ -554,6 +610,7 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", "crypto-common", + "subtle", ] [[package]] @@ -1143,6 +1200,15 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + [[package]] name = "html5ever" version = "0.25.2" @@ -1298,6 +1364,15 @@ dependencies = [ "cfb", ] +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + [[package]] name = "instant" version = "0.1.12" @@ -1362,6 +1437,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" +[[package]] +name = "jobserver" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" version = "0.3.64" @@ -1670,6 +1754,17 @@ dependencies = [ "objc_exception", ] +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + [[package]] name = "objc_exception" version = "0.1.2" @@ -1713,6 +1808,17 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "os_info" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" +dependencies = [ + "log", + "serde", + "winapi", +] + [[package]] name = "overload" version = "0.1.1" @@ -1764,7 +1870,18 @@ dependencies = [ "libc", "redox_syscall 0.3.5", "smallvec", - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", ] [[package]] @@ -1773,6 +1890,18 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest", + "hmac", + "password-hash", + "sha2", +] + [[package]] name = "percent-encoding" version = "2.3.0" @@ -2172,6 +2301,30 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3cbb081b9784b07cceb8824c8583f86db4814d172ab043f3c23f7dc600bf83d" +[[package]] +name = "rfd" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea" +dependencies = [ + "block", + "dispatch", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "lazy_static", + "log", + "objc", + "objc-foundation", + "objc_id", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.37.0", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2392,6 +2545,17 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "sha2" version = "0.10.8" @@ -2533,6 +2697,12 @@ dependencies = [ "syn 2.0.38", ] +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + [[package]] name = "syn" version = "1.0.109" @@ -2555,6 +2725,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sys-locale" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a11bd9c338fdba09f7881ab41551932ad42e405f61d01e8406baea71c07aee" +dependencies = [ + "js-sys", + "libc", + "wasm-bindgen", + "web-sys", + "windows-sys 0.45.0", +] + [[package]] name = "system-deps" version = "5.0.0" @@ -2678,16 +2861,19 @@ dependencies = [ "objc", "once_cell", "open", + "os_info", "percent-encoding", "rand 0.8.5", "raw-window-handle", "regex", + "rfd", "semver", "serde", "serde_json", "serde_repr", "serialize-to-javascript", "state", + "sys-locale", "tar", "tauri-macros", "tauri-runtime", @@ -3248,6 +3434,18 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.87" @@ -3277,6 +3475,16 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webkit2gtk" version = "0.18.2" @@ -3393,6 +3601,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" +dependencies = [ + "windows_aarch64_msvc 0.37.0", + "windows_i686_gnu 0.37.0", + "windows_i686_msvc 0.37.0", + "windows_x86_64_gnu 0.37.0", + "windows_x86_64_msvc 0.37.0", +] + [[package]] name = "windows" version = "0.39.0" @@ -3413,7 +3634,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -3457,13 +3678,37 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -3499,6 +3744,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" + [[package]] name = "windows_aarch64_msvc" version = "0.39.0" @@ -3517,6 +3768,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_i686_gnu" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" + [[package]] name = "windows_i686_gnu" version = "0.39.0" @@ -3535,6 +3792,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" + [[package]] name = "windows_i686_msvc" version = "0.39.0" @@ -3553,6 +3816,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_x86_64_gnu" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" + [[package]] name = "windows_x86_64_gnu" version = "0.39.0" @@ -3583,6 +3852,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" + [[package]] name = "windows_x86_64_msvc" version = "0.39.0" @@ -3693,3 +3968,52 @@ name = "xml-rs" version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac", + "pbkdf2", + "sha1", + "time", + "zstd", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.9+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3b65978..e493a08 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -20,6 +20,7 @@ serde-xml-rs = "0.6.0" serde_json = "1.0" strum = "0.25.0" strum_macros = "0.25.0" +zip = { version = "0.6.6", features = [] } [features] # this feature is used for production builds or when `devPath` points to the filesystem diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 21dfc9d..c2b736a 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -1,6 +1,8 @@ // Prevents additional console window on Windows in release, DO NOT REMOVE!! #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] +use std::fs::File; +use std::io::{Read, Write}; use serde::{Deserialize, Serialize}; use std::path::MAIN_SEPARATOR_STR; @@ -15,7 +17,7 @@ fn greet(name: &str) -> String { fn main() { tauri::Builder::default() - .invoke_handler(tauri::generate_handler![greet, save]) + .invoke_handler(tauri::generate_handler![greet, save, save_bundle]) .run(tauri::generate_context!()) .expect("error while running tauri application"); } @@ -32,3 +34,28 @@ fn save(metadata: Metadata, path: String) -> String { metadata.save_to_xml(&file_path); file_path } + +#[tauri::command] +fn save_bundle(bundle_dir: String, metadata_file_path: String, save_path: String) -> String { + let comic_book_zip = File::create(&save_path).unwrap(); + let mut zip = zip::ZipWriter::new(comic_book_zip); + + let options = zip::write::FileOptions::default().compression_method(zip::CompressionMethod::Stored); + + let mut file_list: Vec<String> = Vec::new(); + + file_list.push(metadata_file_path); + + for file in file_list { + zip.start_file(file.clone().split(MAIN_SEPARATOR_STR).last().unwrap(), options).unwrap(); + let mut file = File::open(file).unwrap(); + let mut buffer = Vec::new(); + + file.read_to_end(&mut buffer).unwrap(); + + zip.write(&*buffer).unwrap(); + } + + zip.finish().unwrap(); + return bundle_dir +} diff --git a/src/lib/MetadataInput.svelte b/src/lib/MetadataInput.svelte index 310420e..96e4e85 100644 --- a/src/lib/MetadataInput.svelte +++ b/src/lib/MetadataInput.svelte @@ -97,6 +97,17 @@ } console.log(metadata); if (bundleDirectory != "") { + let savePath = saveDirectory; + if (saveDirectory.endsWith("/")) { + savePath += "test.cbz"; + } + else { + savePath += "/test.cbz"; + } + + let comicInfoPath = await invoke("save", { metadata: metadata, path: tempDirPath}); + let bundlePath = await invoke("save_bundle", { bundleDir: bundleDirectory, metadataFilePath: comicInfoPath, savePath: savePath }) + returnMessage = "Saved '" + metadata.title + "' bundled to '" + bundlePath + "'"; } else { let comicInfoPath = await invoke("save", { message: metadata, path: saveDirectory }) From 0064d0e1465ded1ad56434e03c7f1c8d6448baa5 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Thu, 16 Nov 2023 20:51:15 +0100 Subject: [PATCH 05/72] Include Bundle Path contents in bundle cbz Partially implements #2 --- src-tauri/src/main.rs | 16 ++++++++++------ src/lib/MetadataInput.svelte | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index c2b736a..fe8f4f7 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -1,9 +1,9 @@ // Prevents additional console window on Windows in release, DO NOT REMOVE!! #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] -use std::fs::File; +use std::fs; +use std::fs::{File}; use std::io::{Read, Write}; -use serde::{Deserialize, Serialize}; use std::path::MAIN_SEPARATOR_STR; use crate::metadata::{*}; @@ -38,7 +38,7 @@ fn save(metadata: Metadata, path: String) -> String { #[tauri::command] fn save_bundle(bundle_dir: String, metadata_file_path: String, save_path: String) -> String { let comic_book_zip = File::create(&save_path).unwrap(); - let mut zip = zip::ZipWriter::new(comic_book_zip); + let mut zip_writer = zip::ZipWriter::new(comic_book_zip); let options = zip::write::FileOptions::default().compression_method(zip::CompressionMethod::Stored); @@ -46,16 +46,20 @@ fn save_bundle(bundle_dir: String, metadata_file_path: String, save_path: String file_list.push(metadata_file_path); + let directory_contents = fs::read_dir(bundle_dir.clone()).unwrap(); + + directory_contents.for_each(|entry| file_list.push(entry.unwrap().path().to_str().unwrap().to_string())); + for file in file_list { - zip.start_file(file.clone().split(MAIN_SEPARATOR_STR).last().unwrap(), options).unwrap(); + zip_writer.start_file(file.clone().split(MAIN_SEPARATOR_STR).last().unwrap(), options).unwrap(); let mut file = File::open(file).unwrap(); let mut buffer = Vec::new(); file.read_to_end(&mut buffer).unwrap(); - zip.write(&*buffer).unwrap(); + zip_writer.write(&*buffer).unwrap(); } - zip.finish().unwrap(); + zip_writer.finish().unwrap(); return bundle_dir } diff --git a/src/lib/MetadataInput.svelte b/src/lib/MetadataInput.svelte index 96e4e85..d876940 100644 --- a/src/lib/MetadataInput.svelte +++ b/src/lib/MetadataInput.svelte @@ -74,7 +74,7 @@ saveDirectory = downloadDirPath; } - if (bundleDirectory == "") { + if (bundleDirectory == "" && doBundle) { bundleDirectory = downloadDirPath; } } From fb12cbfe10b0255b860f49e35fd7865460c61056 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 11:37:31 +0000 Subject: [PATCH 06/72] Add Test Workflow --- .forgejo/workflows/test.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .forgejo/workflows/test.yml diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml new file mode 100644 index 0000000..637f42a --- /dev/null +++ b/.forgejo/workflows/test.yml @@ -0,0 +1,16 @@ +name: 'Run Tests on Code' +author: 'Neshura' + +on: + push: + tags-ignore: + - '**' + branches: + - '**' +jobs: + run-tests: + runs-on: docker + steps: + - + name: Placeholder + run: echo Placeholder Job \ No newline at end of file From 4248bcd080387f6a4c6f293bcf2cb2b87bde3127 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:00:26 +0000 Subject: [PATCH 07/72] Add Build + Release Worklfow --- .forgejo/workflows/build+release.yml | 82 ++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .forgejo/workflows/build+release.yml diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml new file mode 100644 index 0000000..23ce7a3 --- /dev/null +++ b/.forgejo/workflows/build+release.yml @@ -0,0 +1,82 @@ +name: 'Build and Release Binary File' +author: 'Neshura' + +on: + push: + tags: + - '[0-9]+.[0-9]+.[0-9]+' + - '[0-9]+.[0-9]+.[0-9]+rc[0-9]+' +jobs: + run-tests: + runs-on: docker + steps: + - + name: Placeholder + run: echo Placeholder Job + + build: + needs: test + if: success() + runs-on: docker + container: rust:latest + steps: + - + name: Installing Node + run: apt update && apt install -y nodejs + - + name: Checking Out Repository Code + uses: https://code.forgejo.org/actions/checkout@v3 + - + name: Compiling To Linux Target + run: | + cargo tauri build + mv target/release/comicinfo-editor-v2.deb comicinfo-editor-v2-linux-amd64.deb + mv target/release/comicinfo-editor-v2.AppImage comicinfo-editor-v2-linux-amd64.AppImage + - + name: Uploading Build Artifact + uses: actions/upload-artifact@v3 + with: + name: comicinfo-editor-v2-linux-amd64 + path: | + comicinfo-editor-v2-linux-amd64.deb + comicinfo-editor-v2-linux-amd64.AppImage + if-no-files-found: error + + upload-release: + needs: build + if: success() + runs-on: docker + steps: + - + name: Downloading All Build Artifacts + uses: actions/download-artifact@v3 + - + name: Rearrange Artifact Paths + run: | + mkdir release + mv comicinfo-editor-v2-linux-amd64/comicinfo-editor-v2-linux-amd64/* release/ + - + name: Upload Artifacts As Generic Packages + run: | + echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-linux-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.deb' + curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-linux-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.deb + + echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-linux-amd64.AppImage \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.AppImage' + curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-linux-amd64.AppImage \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.AppImage + - + name: Release New Version + uses: actions/forgejo-release@v1 + with: + direction: upload + url: https://forgejo.neshweb.net + release-dir: release + token: ${{ secrets.FORGEJO_TOKEN }} + tag: ${{ github.ref_name }} From f43cbb5f7403cfec3a392a8d3110ea1a1f77703d Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:03:28 +0000 Subject: [PATCH 08/72] Add Tauri CLI to Workflow --- .forgejo/workflows/build+release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 23ce7a3..679aed9 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -26,6 +26,9 @@ jobs: - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 + - + name: Installing Tauri CLI + run: cargo install tauri-cli - name: Compiling To Linux Target run: | From 9b1ed09d46d120c898038fd0fd62e54e9a83f5c9 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:08:16 +0000 Subject: [PATCH 09/72] Add Yarn Install to Release Actions --- .forgejo/workflows/build+release.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 679aed9..2c769f7 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -21,14 +21,14 @@ jobs: container: rust:latest steps: - - name: Installing Node - run: apt update && apt install -y nodejs + name: Installing Node, Yarn, Tauri CLI + run: | + apt update && apt install -y nodejs + npm install --global yarn + cargo install tauri-cli - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 - - - name: Installing Tauri CLI - run: cargo install tauri-cli - name: Compiling To Linux Target run: | From cb61113ff81e055005d7844cc212239481e913a2 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:11:51 +0000 Subject: [PATCH 10/72] Update .forgejo/workflows/build+release.yml --- .forgejo/workflows/build+release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 2c769f7..deefd71 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -23,7 +23,7 @@ jobs: - name: Installing Node, Yarn, Tauri CLI run: | - apt update && apt install -y nodejs + apt update && apt install -y nodejs npm npm install --global yarn cargo install tauri-cli - From 647343fc120e597bd09d54b6df5eeb5a85e13327 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:19:10 +0000 Subject: [PATCH 11/72] Add Vite to Build Dependencies in Actions --- .forgejo/workflows/build+release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index deefd71..353d398 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -21,10 +21,10 @@ jobs: container: rust:latest steps: - - name: Installing Node, Yarn, Tauri CLI + name: Installing Node, Yarn, Vite, Tauri CLI run: | apt update && apt install -y nodejs npm - npm install --global yarn + npm install --global yarn vite cargo install tauri-cli - name: Checking Out Repository Code From 34ebbb1b725dde4503f955337843c0f71a16efa4 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:21:08 +0000 Subject: [PATCH 12/72] Split Up Dependency Installs in Release Actions --- .forgejo/workflows/build+release.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 353d398..53e0227 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -21,11 +21,14 @@ jobs: container: rust:latest steps: - - name: Installing Node, Yarn, Vite, Tauri CLI - run: | - apt update && apt install -y nodejs npm - npm install --global yarn vite - cargo install tauri-cli + name: Installing Node, NPM + run: apt update && apt install -y nodejs npm + - + name: Installing Yarn, Vite + run: npm install --global yarn vite + - + name: Installing Tauri CLI + run: cargo install tauri-cli - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 From 18f9250341b8710da0cc4c74c49d20f415ded39b Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:33:06 +0000 Subject: [PATCH 13/72] Add Yarn Project Install to Release Actions --- .forgejo/workflows/build+release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 53e0227..743cd40 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -32,6 +32,9 @@ jobs: - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 + - + name: Install Yarn Packages + run: yarn install - name: Compiling To Linux Target run: | From 3356b7e9c206507d05f060d5dc1e82985896c9cc Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Fri, 17 Nov 2023 12:40:05 +0000 Subject: [PATCH 14/72] Add Yarn Build Step to Release Actions --- .forgejo/workflows/build+release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 743cd40..72af8e9 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -35,6 +35,9 @@ jobs: - name: Install Yarn Packages run: yarn install + - + name: Build Svelte App + run: yarn tauri build - name: Compiling To Linux Target run: | From 92e30f8cf624b823b32a2af37d44c1326dcf00c0 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 13:56:09 +0100 Subject: [PATCH 15/72] Fix Svelte Build Directory --- src-tauri/tauri.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 3a5e3fe..ec153dc 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -3,7 +3,7 @@ "beforeDevCommand": "yarn dev", "beforeBuildCommand": "yarn build", "devPath": "http://localhost:1420", - "distDir": "../build", + "distDir": "../dist", "withGlobalTauri": false }, "package": { From 74230fdd2dd270dfb3b03b1f13e5307c07199ae3 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 13:57:21 +0100 Subject: [PATCH 16/72] 0.1.8 Release --- package.json | 2 +- src-tauri/tauri.conf.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2f1b588..3a5397d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "comicinfo-editor-v2", "private": true, - "version": "0.0.0", + "version": "0.1.8", "type": "module", "scripts": { "dev": "vite", diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index ec153dc..16f9f15 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -8,7 +8,7 @@ }, "package": { "productName": "comicinfo-editor-v2", - "version": "0.1.0" + "version": "0.1.8" }, "tauri": { "allowlist": { From 370dc45569ea6e5bbc72a82283f2733f068bd31a Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 14:01:56 +0100 Subject: [PATCH 17/72] Remove Yarn Compilation from Release Actions --- .forgejo/workflows/build+release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 72af8e9..743cd40 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -35,9 +35,6 @@ jobs: - name: Install Yarn Packages run: yarn install - - - name: Build Svelte App - run: yarn tauri build - name: Compiling To Linux Target run: | From 437af73be11b90ae8fdd212011dc0a8325287960 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 14:06:31 +0100 Subject: [PATCH 18/72] Several Release Action Fixes --- .forgejo/workflows/build+release.yml | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 743cd40..f5c157d 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -22,7 +22,17 @@ jobs: steps: - name: Installing Node, NPM - run: apt update && apt install -y nodejs npm + run: | + apt update + apt install -y \ + nodejs npm + libwebkit2gtk-4.0-dev \ + build-essential \ + file \ + libssl-dev \ + libgtk-3-dev \ + libayatana-appindicator3-dev \ + librsvg2-dev - name: Installing Yarn, Vite run: npm install --global yarn vite @@ -39,14 +49,16 @@ jobs: name: Compiling To Linux Target run: | cargo tauri build - mv target/release/comicinfo-editor-v2.deb comicinfo-editor-v2-linux-amd64.deb - mv target/release/comicinfo-editor-v2.AppImage comicinfo-editor-v2-linux-amd64.AppImage + mv src-tauri/target/release/comicinfo-editor-v2 comicinfo-editor-v2 + mv src-tauri/target/release/bundle/comicinfo-editor-v2.deb comicinfo-editor-v2-linux-amd64.deb + mv src-tauri/target/release/bundle/comicinfo-editor-v2.AppImage comicinfo-editor-v2-linux-amd64.AppImage - name: Uploading Build Artifact uses: actions/upload-artifact@v3 with: name: comicinfo-editor-v2-linux-amd64 path: | + comicinfo-editor-v2-linux-amd64 comicinfo-editor-v2-linux-amd64.deb comicinfo-editor-v2-linux-amd64.AppImage if-no-files-found: error @@ -67,6 +79,13 @@ jobs: - name: Upload Artifacts As Generic Packages run: | + echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-linux-amd64 \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64' + curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-linux-amd64 \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64 + echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-linux-amd64.deb \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.deb' From 6ad5a86f0b610cb71d9b8fa0673c54d812804d50 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 14:13:44 +0100 Subject: [PATCH 19/72] Fixed Syntax Error in Release Action Command --- .forgejo/workflows/build+release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index f5c157d..507937f 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -25,7 +25,7 @@ jobs: run: | apt update apt install -y \ - nodejs npm + nodejs npm \ libwebkit2gtk-4.0-dev \ build-essential \ file \ From 2d95ac45ae0f32fb85fe044105e8b0820671ec97 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 14:18:38 +0100 Subject: [PATCH 20/72] Remove packages already installed from Release Action --- .forgejo/workflows/build+release.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 507937f..63992dc 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -28,11 +28,8 @@ jobs: nodejs npm \ libwebkit2gtk-4.0-dev \ build-essential \ - file \ - libssl-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ - librsvg2-dev - name: Installing Yarn, Vite run: npm install --global yarn vite From 6a2b93b67d4a1daefa867fac964a8f76726c8691 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 14:26:37 +0100 Subject: [PATCH 21/72] Fix Bundle Paths in Release Action --- .forgejo/workflows/build+release.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 63992dc..db64714 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -46,18 +46,15 @@ jobs: name: Compiling To Linux Target run: | cargo tauri build - mv src-tauri/target/release/comicinfo-editor-v2 comicinfo-editor-v2 - mv src-tauri/target/release/bundle/comicinfo-editor-v2.deb comicinfo-editor-v2-linux-amd64.deb - mv src-tauri/target/release/bundle/comicinfo-editor-v2.AppImage comicinfo-editor-v2-linux-amd64.AppImage - name: Uploading Build Artifact uses: actions/upload-artifact@v3 with: name: comicinfo-editor-v2-linux-amd64 path: | - comicinfo-editor-v2-linux-amd64 - comicinfo-editor-v2-linux-amd64.deb - comicinfo-editor-v2-linux-amd64.AppImage + src-tauri/target/release/comicinfo-editor-v2 comicinfo-editor-v2 + src-tauri/target/release/bundle/deb/comicinfo-editor-v2.deb comicinfo-editor-v2-linux-amd64.deb + src-tauri/target/release/bundle/appimage/comicinfo-editor-v2.AppImage comicinfo-editor-v2-linux-amd64.AppImage if-no-files-found: error upload-release: From a63454d632b1ba12bb55b84cfce64c669d6a96d1 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 14:50:43 +0100 Subject: [PATCH 22/72] Bundle File Naming Fixes for Release Action --- .forgejo/workflows/build+release.yml | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index db64714..399c40e 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -46,15 +46,21 @@ jobs: name: Compiling To Linux Target run: | cargo tauri build + - + name: Renaming Binary + Bundles + run: | + echo Moving Build Artifacts to Root + mkdir artifacts + mv src-tauri/target/release/comicinfo-editor-v2 artifacts/comicinfo-editor-v2-linux-amd64 + mv src-tauri/target/release/bundle/deb/*.deb artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb + mv src-tauri/target/release/bundle/appimage/*.AppImage artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - name: Uploading Build Artifact uses: actions/upload-artifact@v3 with: name: comicinfo-editor-v2-linux-amd64 path: | - src-tauri/target/release/comicinfo-editor-v2 comicinfo-editor-v2 - src-tauri/target/release/bundle/deb/comicinfo-editor-v2.deb comicinfo-editor-v2-linux-amd64.deb - src-tauri/target/release/bundle/appimage/comicinfo-editor-v2.AppImage comicinfo-editor-v2-linux-amd64.AppImage + artifacts/* if-no-files-found: error upload-release: @@ -81,18 +87,18 @@ jobs: https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64 echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-linux-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.deb' + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-linux-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.deb + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-linux-amd64.AppImage \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.AppImage' + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-linux-amd64.AppImage \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64.AppImage + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - name: Release New Version uses: actions/forgejo-release@v1 From 818050e5c906a8b25340ad9817c703474f417415 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 15:13:29 +0100 Subject: [PATCH 23/72] Small Release Action Changes --- .forgejo/workflows/build+release.yml | 3 +-- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 399c40e..ebad2b0 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -59,8 +59,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: comicinfo-editor-v2-linux-amd64 - path: | - artifacts/* + path: artifacts/ if-no-files-found: error upload-release: diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 5e7e179..dc0b8dc 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -396,7 +396,7 @@ dependencies = [ [[package]] name = "comicinfo-editor-v2" -version = "0.1.0" +version = "0.1.8" dependencies = [ "quick-xml", "serde", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index e493a08..f481bae 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "comicinfo-editor-v2" -version = "0.1.0" +version = "0.1.8" description = "App for creating Comicinfo.xml files" authors = ["Neshura"] license = "" From 9fd3970f58a6f77a7aa0c3e97d6c83e9851b24c9 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 15:26:24 +0100 Subject: [PATCH 24/72] Verbose Moves in Release Action --- .forgejo/workflows/build+release.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index ebad2b0..fafdf4c 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -13,6 +13,13 @@ jobs: - name: Placeholder run: echo Placeholder Job + - + name: Check if Version in Cargo.toml matches Tag + run: | + VERSION=(cat src-tauri/Cargo.toml | grep -E "(^|\|)version =" | cut -f2- -d=) + if test $VERSION != ' "${{ github.ref_name }}"' + echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'" + end build: needs: test @@ -51,9 +58,9 @@ jobs: run: | echo Moving Build Artifacts to Root mkdir artifacts - mv src-tauri/target/release/comicinfo-editor-v2 artifacts/comicinfo-editor-v2-linux-amd64 - mv src-tauri/target/release/bundle/deb/*.deb artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb - mv src-tauri/target/release/bundle/appimage/*.AppImage artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage + mv -v src-tauri/target/release/comicinfo-editor-v2 artifacts/comicinfo-editor-v2-linux-amd64 + mv -v src-tauri/target/release/bundle/deb/*.deb artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb + mv -v src-tauri/target/release/bundle/appimage/*.AppImage artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - name: Uploading Build Artifact uses: actions/upload-artifact@v3 @@ -74,7 +81,7 @@ jobs: name: Rearrange Artifact Paths run: | mkdir release - mv comicinfo-editor-v2-linux-amd64/comicinfo-editor-v2-linux-amd64/* release/ + mv -v comicinfo-editor-v2-linux-amd64/comicinfo-editor-v2-linux-amd64/* release/ - name: Upload Artifacts As Generic Packages run: | From c71360c95987ef04631a91c90ae1ed2d24b37e94 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 15:31:42 +0100 Subject: [PATCH 25/72] Fix Release Action Test Syntax Error --- .forgejo/workflows/build+release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index fafdf4c..7abeca4 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -16,8 +16,8 @@ jobs: - name: Check if Version in Cargo.toml matches Tag run: | - VERSION=(cat src-tauri/Cargo.toml | grep -E "(^|\|)version =" | cut -f2- -d=) - if test $VERSION != ' "${{ github.ref_name }}"' + VERSION=$(cat src-tauri/Cargo.toml | grep -E "(^|\|)version =" | cut -f2- -d=) + if test $VERSION != "${{ github.ref_name }}" echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'" end From 29c4927b25ef3d08d3212452b0a45b72894a00ab Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 18:13:35 +0100 Subject: [PATCH 26/72] Release Action Adjustments + Debugging --- .forgejo/workflows/build+release.yml | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 7abeca4..e37e1e4 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -21,7 +21,7 @@ jobs: echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'" end - build: + build-linux: needs: test if: success() runs-on: docker @@ -62,21 +62,39 @@ jobs: mv -v src-tauri/target/release/bundle/deb/*.deb artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb mv -v src-tauri/target/release/bundle/appimage/*.AppImage artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - - name: Uploading Build Artifact + name: Uploading Linux Binary Artifact uses: actions/upload-artifact@v3 with: - name: comicinfo-editor-v2-linux-amd64 - path: artifacts/ + name: linux-amd64-binary + path: artifacts/comicinfo-editor-v2-linux-amd64 + if-no-files-found: error + - + name: Uploading Linux Debian Artifact + uses: actions/upload-artifact@v3 + with: + name: linux-amd64-debian + path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb + if-no-files-found: error + - + name: Uploading Linux AppImage Artifact + uses: actions/upload-artifact@v3 + with: + name: linux-amd64-appimage + path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage if-no-files-found: error upload-release: - needs: build + needs: [build-linux] if: success() runs-on: docker steps: - name: Downloading All Build Artifacts uses: actions/download-artifact@v3 + - + name: Debug Upload + run: | + ls -lap ./ - name: Rearrange Artifact Paths run: | From 1a25a86c8a3c1e473a58c6732bc012f89e747f66 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 18:15:00 +0100 Subject: [PATCH 27/72] Add Checkout to Release Test Action --- .forgejo/workflows/build+release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index e37e1e4..7ce49e2 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -10,6 +10,9 @@ jobs: run-tests: runs-on: docker steps: + - + name: Checking Out Repository Code + uses: https://code.forgejo.org/actions/checkout@v3 - name: Placeholder run: echo Placeholder Job From fb16fc18566a34a41867a471797cd57ca8bf9c85 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 18:29:21 +0100 Subject: [PATCH 28/72] Adjust Artifact Moving Due to Nesting --- .forgejo/workflows/build+release.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 7ce49e2..4ac96eb 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -94,15 +94,19 @@ jobs: - name: Downloading All Build Artifacts uses: actions/download-artifact@v3 + with: + path: artifacts - name: Debug Upload run: | - ls -lap ./ + ls -lap artifacts + ls -lap artifacts/linux-amd64-appimage + ls -lap artifacts/linux-amd64-appimage/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - name: Rearrange Artifact Paths run: | mkdir release - mv -v comicinfo-editor-v2-linux-amd64/comicinfo-editor-v2-linux-amd64/* release/ + find artifacts/ -type f -print0 | xargs -0 mv -t release - name: Upload Artifacts As Generic Packages run: | From 71ed7454496b6481a6b89f565b4ed2c4a5f2a4be Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 18:44:02 +0100 Subject: [PATCH 29/72] Fix Upload of Wrong File Type to AppImage Registry --- .forgejo/workflows/build+release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 4ac96eb..75b860d 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -125,10 +125,10 @@ jobs: https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - name: Release New Version From f903bc0754288f95bd09a35c7379e5190bfc4630 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 18:44:20 +0100 Subject: [PATCH 30/72] Utilize Debian Registry for .deb bundle instead of Generic --- .forgejo/workflows/build+release.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 75b860d..c39ee57 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -78,6 +78,10 @@ jobs: name: linux-amd64-debian path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb if-no-files-found: error + - + name: Storing Debian Version for Upload Job + id: store_deb_ver + run: echo $VERSION_CODENAME >> $GITHUB_OUTPUT - name: Uploading Linux AppImage Artifact uses: actions/upload-artifact@v3 @@ -85,6 +89,8 @@ jobs: name: linux-amd64-appimage path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage if-no-files-found: error + outputs: + debian_version: ${{ steps.store_deb_ver.outputs.VERSION_CODENAME }} upload-release: needs: [build-linux] @@ -119,10 +125,10 @@ jobs: echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb' + https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_version }}/main/upload' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb + https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_version }}/main/upload echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage \ From c70ffecab67a52393377f9237e428eabc1d00f6f Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:07:33 +0100 Subject: [PATCH 31/72] Bash Fixes in Release Action --- .forgejo/workflows/build+release.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index c39ee57..7a3629b 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -19,10 +19,12 @@ jobs: - name: Check if Version in Cargo.toml matches Tag run: | - VERSION=$(cat src-tauri/Cargo.toml | grep -E "(^|\|)version =" | cut -f2- -d=) - if test $VERSION != "${{ github.ref_name }}" - echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'" - end + VERSION=$(cat src-tauri/Cargo.toml | grep -E "(^|\|)version =" | cut -f2- -d= | tr -d \" | tr -d " ") + if test $VERSION != "${{ github.ref_name }}"; then + echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'"; + else + echo "Version is: '$VERSION'"; + fi build-linux: needs: test @@ -81,7 +83,10 @@ jobs: - name: Storing Debian Version for Upload Job id: store_deb_ver - run: echo $VERSION_CODENAME >> $GITHUB_OUTPUT + run: | + env -i bash -c '. /etc/os-release; echo $VERSION_CODENAME' + echo Debian Version is: $VERSION_CODENAME + echo $VERSION_CODENAME >> $GITHUB_OUTPUT - name: Uploading Linux AppImage Artifact uses: actions/upload-artifact@v3 From 4b3eb9fbdf3f92884d580de02f5ef6b238706823 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:09:04 +0100 Subject: [PATCH 32/72] Add Fail if Version Mismatch in Release Action Test --- .forgejo/workflows/build+release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 7a3629b..bc026a9 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -22,6 +22,7 @@ jobs: VERSION=$(cat src-tauri/Cargo.toml | grep -E "(^|\|)version =" | cut -f2- -d= | tr -d \" | tr -d " ") if test $VERSION != "${{ github.ref_name }}"; then echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'"; + exit 1 else echo "Version is: '$VERSION'"; fi From 0b96e17cf9301f78ef57eaf02efa6a99bcb82c34 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:22:35 +0100 Subject: [PATCH 33/72] Move Debian Version Info to Top of Job --- .forgejo/workflows/build+release.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index bc026a9..56bbced 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -32,7 +32,14 @@ jobs: if: success() runs-on: docker container: rust:latest - steps: + steps: + - + name: Storing Debian Version for Package Upload Job + id: store_deb_ver + run: | + source /etc/os-release + echo Debian Version is: $VERSION_CODENAME + echo $VERSION_CODENAME >> $GITHUB_OUTPUT - name: Installing Node, NPM run: | @@ -81,13 +88,6 @@ jobs: name: linux-amd64-debian path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb if-no-files-found: error - - - name: Storing Debian Version for Upload Job - id: store_deb_ver - run: | - env -i bash -c '. /etc/os-release; echo $VERSION_CODENAME' - echo Debian Version is: $VERSION_CODENAME - echo $VERSION_CODENAME >> $GITHUB_OUTPUT - name: Uploading Linux AppImage Artifact uses: actions/upload-artifact@v3 From 18408c9eb010455744dbc79b14405540ba5cf51c Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:28:02 +0100 Subject: [PATCH 34/72] replace source with . in Release Action --- .forgejo/workflows/build+release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 56bbced..f622e4f 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -37,7 +37,7 @@ jobs: name: Storing Debian Version for Package Upload Job id: store_deb_ver run: | - source /etc/os-release + . /etc/os-release echo Debian Version is: $VERSION_CODENAME echo $VERSION_CODENAME >> $GITHUB_OUTPUT - From f9bac43630a5416d0287924020a58f6b3a4c5ed5 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:30:17 +0100 Subject: [PATCH 35/72] Correct 'Debian Version' to 'Debian Codename' in Actions --- .forgejo/workflows/build+release.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index f622e4f..34d43d3 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -34,11 +34,11 @@ jobs: container: rust:latest steps: - - name: Storing Debian Version for Package Upload Job + name: Storing Debian Codename for Package Upload Job id: store_deb_ver run: | . /etc/os-release - echo Debian Version is: $VERSION_CODENAME + echo Debian Codename is: $VERSION_CODENAME echo $VERSION_CODENAME >> $GITHUB_OUTPUT - name: Installing Node, NPM @@ -96,7 +96,7 @@ jobs: path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage if-no-files-found: error outputs: - debian_version: ${{ steps.store_deb_ver.outputs.VERSION_CODENAME }} + debian_codename: ${{ steps.store_deb_ver.outputs.VERSION_CODENAME }} upload-release: needs: [build-linux] @@ -131,10 +131,10 @@ jobs: echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_version }}/main/upload' + https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_version }}/main/upload + https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage \ From 7a6e6f519bd9604b9a3e32262c35a6db5899d0c9 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:44:20 +0100 Subject: [PATCH 36/72] Fix for storing Debian Codename Variable --- .forgejo/workflows/build+release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 34d43d3..469c5fd 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -39,10 +39,11 @@ jobs: run: | . /etc/os-release echo Debian Codename is: $VERSION_CODENAME - echo $VERSION_CODENAME >> $GITHUB_OUTPUT + echo "debian_codename=$VERSION_CODENAME" >> $env:GITHUB_OUTPUT - name: Installing Node, NPM run: | + echo ${{ steps.store_deb_ver.outputs.debian_codename }} apt update apt install -y \ nodejs npm \ @@ -96,7 +97,7 @@ jobs: path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage if-no-files-found: error outputs: - debian_codename: ${{ steps.store_deb_ver.outputs.VERSION_CODENAME }} + debian_codename: ${{ steps.store_deb_ver.outputs.DEBIAN_CODENAME }} upload-release: needs: [build-linux] From 15196baec148873a3264b3d9de924c5c3de1ea9a Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:48:06 +0100 Subject: [PATCH 37/72] More Env Fixes for Release Action --- .forgejo/workflows/build+release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 469c5fd..62a082c 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -39,11 +39,11 @@ jobs: run: | . /etc/os-release echo Debian Codename is: $VERSION_CODENAME - echo "debian_codename=$VERSION_CODENAME" >> $env:GITHUB_OUTPUT + echo "debian_codename=$VERSION_CODENAME" >> $GITHUB_OUTPUT - name: Installing Node, NPM run: | - echo ${{ steps.store_deb_ver.outputs.debian_codename }} + echo Stored Value is: ${{ steps.store_deb_ver.outputs.debian_codename }} apt update apt install -y \ nodejs npm \ From c5af3f10bf84015d540d7ba72012b4157d236f51 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 19:49:34 +0100 Subject: [PATCH 38/72] Remove Env Debug Output --- .forgejo/workflows/build+release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 62a082c..57a86e9 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -43,7 +43,6 @@ jobs: - name: Installing Node, NPM run: | - echo Stored Value is: ${{ steps.store_deb_ver.outputs.debian_codename }} apt update apt install -y \ nodejs npm \ From 6d66c5aa4ad43816536220fea6aa2a1d88a1b623 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 20:01:04 +0100 Subject: [PATCH 39/72] Adjust Release Debug Commands --- .forgejo/workflows/build+release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 57a86e9..8896ec4 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -113,7 +113,8 @@ jobs: run: | ls -lap artifacts ls -lap artifacts/linux-amd64-appimage - ls -lap artifacts/linux-amd64-appimage/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage + ls -lap artifacts/linux-amd64-appimage/linux-amd64-appimage + ls -lap artifacts/linux-amd64-appimage/linux-amd64-appimage/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - name: Rearrange Artifact Paths run: | From b30ff9f804e5ad4c5ce1185c37f78c10bfac4753 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 20:16:11 +0100 Subject: [PATCH 40/72] Fix Wrong URL in Debian Package Upload --- .forgejo/workflows/build+release.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 8896ec4..ba97aca 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -119,23 +119,16 @@ jobs: name: Rearrange Artifact Paths run: | mkdir release - find artifacts/ -type f -print0 | xargs -0 mv -t release + find artifacts/ -type f -print0 | xargs -0 mv -v -t release - - name: Upload Artifacts As Generic Packages + name: Upload Generic Packages run: | echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-linux-amd64 \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-linux-amd64 \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64 - - echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload' - curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ - --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.example.com/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-linux-amd64 echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage \ @@ -143,6 +136,15 @@ jobs: curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/generic/${{ github.event.repository.name }}/${{ github.ref_name }}/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage + - + name: Upload Debian Package + run: | + echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload' + curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload - name: Release New Version uses: actions/forgejo-release@v1 From 143ff0f4ad3557ef5d3342c4078b0f0a65cf125d Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 20:43:18 +0100 Subject: [PATCH 41/72] Debian Package Upload Correct Codename Variable --- .forgejo/workflows/build+release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index ba97aca..436ab63 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -141,10 +141,10 @@ jobs: run: | echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload' + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.build-linux.outputs.debian_codename }}/main/upload' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.store_deb_ver.outputs.debian_codename }}/main/upload + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.build-linux.outputs.debian_codename }}/main/upload - name: Release New Version uses: actions/forgejo-release@v1 From 72707a1147a13b357484dc8500d8680e07fe5ca3 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 20:49:21 +0100 Subject: [PATCH 42/72] Add Cargo Repository URL --- src-tauri/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index f481bae..f45a7db 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.8" description = "App for creating Comicinfo.xml files" authors = ["Neshura"] license = "" -repository = "" +repository = "https://forgejo.neshweb.net/Neshura/comicinfo-editor-v2" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From 7db9c7a244f232640e572170e820b46a2046c64f Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 20:58:28 +0100 Subject: [PATCH 43/72] Fix Casing for Debian Codename Variable --- .forgejo/workflows/build+release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 436ab63..756e4ae 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -96,7 +96,7 @@ jobs: path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage if-no-files-found: error outputs: - debian_codename: ${{ steps.store_deb_ver.outputs.DEBIAN_CODENAME }} + debian_codename: ${{ steps.store_deb_ver.outputs.debian_codename }} upload-release: needs: [build-linux] From 3674a2cf785cc8ff10f08884740d4eb8ab1f74bb Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 22:04:20 +0100 Subject: [PATCH 44/72] Artifact Usage Instead of Output for ENV Vars --- .forgejo/workflows/build+release.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 756e4ae..d431f93 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -39,7 +39,7 @@ jobs: run: | . /etc/os-release echo Debian Codename is: $VERSION_CODENAME - echo "debian_codename=$VERSION_CODENAME" >> $GITHUB_OUTPUT + echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> .env - name: Installing Node, NPM run: | @@ -95,8 +95,12 @@ jobs: name: linux-amd64-appimage path: artifacts/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage if-no-files-found: error - outputs: - debian_codename: ${{ steps.store_deb_ver.outputs.debian_codename }} + - + name: Upload .env as Artifact + uses: actions/upload-artifact@v3 + with: + name: build-env + path: .env upload-release: needs: [build-linux] @@ -115,6 +119,11 @@ jobs: ls -lap artifacts/linux-amd64-appimage ls -lap artifacts/linux-amd64-appimage/linux-amd64-appimage ls -lap artifacts/linux-amd64-appimage/linux-amd64-appimage/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage + - + name: Load .env from build job + run: | + mv artifacts/build-env/.env ./.env + export $(xargs <.env) - name: Rearrange Artifact Paths run: | @@ -141,10 +150,10 @@ jobs: run: | echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.build-linux.outputs.debian_codename }}/main/upload' + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/$DEBIAN_CODENAME/main/upload' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ needs.build-linux.outputs.debian_codename }}/main/upload + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/$DEBIAN_CODENAME/main/upload - name: Release New Version uses: actions/forgejo-release@v1 From ee446332574af00463a7bbe7746c57bbd03d6f79 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 22:35:07 +0100 Subject: [PATCH 45/72] Make Env file non-hidden --- .forgejo/workflows/build+release.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index d431f93..121a649 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -39,7 +39,7 @@ jobs: run: | . /etc/os-release echo Debian Codename is: $VERSION_CODENAME - echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> .env + echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> env - name: Installing Node, NPM run: | @@ -100,7 +100,8 @@ jobs: uses: actions/upload-artifact@v3 with: name: build-env - path: .env + path: env + if-no-files-found: error upload-release: needs: [build-linux] @@ -122,8 +123,8 @@ jobs: - name: Load .env from build job run: | - mv artifacts/build-env/.env ./.env - export $(xargs <.env) + mv artifacts/build-env/env ./env + export $(xargs <env) - name: Rearrange Artifact Paths run: | From e857a9ba04affecf1ea1013150a5bc95669ce2a6 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 22:49:39 +0100 Subject: [PATCH 46/72] .env upload path correction --- .forgejo/workflows/build+release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 121a649..beeae47 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -39,7 +39,7 @@ jobs: run: | . /etc/os-release echo Debian Codename is: $VERSION_CODENAME - echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> env + echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> .env - name: Installing Node, NPM run: | @@ -100,7 +100,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: build-env - path: env + path: ./.env if-no-files-found: error upload-release: @@ -123,7 +123,7 @@ jobs: - name: Load .env from build job run: | - mv artifacts/build-env/env ./env + mv artifacts/build-env/.env ./.env export $(xargs <env) - name: Rearrange Artifact Paths From 89e456bba1f5b86b0c8e7c83fc1e18279a6c70e8 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 23:10:22 +0100 Subject: [PATCH 47/72] change build .env to build.env --- .forgejo/workflows/build+release.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index beeae47..c52afa5 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -39,7 +39,7 @@ jobs: run: | . /etc/os-release echo Debian Codename is: $VERSION_CODENAME - echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> .env + echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> build.env - name: Installing Node, NPM run: | @@ -100,7 +100,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: build-env - path: ./.env + path: build.env if-no-files-found: error upload-release: @@ -123,8 +123,8 @@ jobs: - name: Load .env from build job run: | - mv artifacts/build-env/.env ./.env - export $(xargs <env) + mv artifacts/build-env/build.env build.env + export $(xargs <build.env) - name: Rearrange Artifact Paths run: | From 28e6901e095bbb2c73917433247d00090d84bdd2 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Fri, 17 Nov 2023 23:37:18 +0100 Subject: [PATCH 48/72] global path for build env --- .forgejo/workflows/build+release.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index c52afa5..1002993 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -35,11 +35,10 @@ jobs: steps: - name: Storing Debian Codename for Package Upload Job - id: store_deb_ver run: | . /etc/os-release echo Debian Codename is: $VERSION_CODENAME - echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> build.env + echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> /build.env - name: Installing Node, NPM run: | @@ -100,7 +99,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: build-env - path: build.env + path: /build.env if-no-files-found: error upload-release: From 09bed120e00a01a1bcb6cff937a2f7278826a763 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 00:15:14 +0100 Subject: [PATCH 49/72] Fix build env path --- .forgejo/workflows/build+release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 1002993..92eee10 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -122,7 +122,7 @@ jobs: - name: Load .env from build job run: | - mv artifacts/build-env/build.env build.env + mv artifacts/build-env/build-env/build.env build.env export $(xargs <build.env) - name: Rearrange Artifact Paths From 93cf0db1861bdc267f63efa5e96210dcdd1442e0 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 00:36:07 +0100 Subject: [PATCH 50/72] More Debugging --- .forgejo/workflows/build+release.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 92eee10..adbf935 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -122,7 +122,9 @@ jobs: - name: Load .env from build job run: | - mv artifacts/build-env/build-env/build.env build.env + ls -lap artifacts/build-env + ls -lap artifacts/build-env/build-env + mv -v artifacts/build-env/build-env/build.env build.env export $(xargs <build.env) - name: Rearrange Artifact Paths From 2f93ab0bedb1c3786dc28cb5b11425841112dd7d Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 01:02:15 +0100 Subject: [PATCH 51/72] Fix Var Usage in Debian Registry URL --- .forgejo/workflows/build+release.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index adbf935..3a83a7e 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -122,9 +122,6 @@ jobs: - name: Load .env from build job run: | - ls -lap artifacts/build-env - ls -lap artifacts/build-env/build-env - mv -v artifacts/build-env/build-env/build.env build.env export $(xargs <build.env) - name: Rearrange Artifact Paths @@ -152,10 +149,10 @@ jobs: run: | echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/$DEBIAN_CODENAME/main/upload' + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ DEBIAN_CODENAME }}/main/upload' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/$DEBIAN_CODENAME/main/upload + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ DEBIAN_CODENAME }}/main/upload - name: Release New Version uses: actions/forgejo-release@v1 From 053bc26185e6b89026591ad2b216d9bc75b60a52 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 01:19:12 +0100 Subject: [PATCH 52/72] remove debugging, restore build.env move --- .forgejo/workflows/build+release.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 3a83a7e..19ec4f3 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -112,16 +112,10 @@ jobs: uses: actions/download-artifact@v3 with: path: artifacts - - - name: Debug Upload - run: | - ls -lap artifacts - ls -lap artifacts/linux-amd64-appimage - ls -lap artifacts/linux-amd64-appimage/linux-amd64-appimage - ls -lap artifacts/linux-amd64-appimage/linux-amd64-appimage/comicinfo-editor-v2-${{ github.ref_name }}-amd64.AppImage - name: Load .env from build job run: | + mv -v artifacts/build-env/build-env/build.env build.env export $(xargs <build.env) - name: Rearrange Artifact Paths From 4a5edee8d6237b50b7b2a2d4869bb349a6e83bd8 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 01:49:15 +0100 Subject: [PATCH 53/72] more env fixes --- .forgejo/workflows/build+release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 19ec4f3..28c93ed 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -143,10 +143,10 @@ jobs: run: | echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ DEBIAN_CODENAME }}/main/upload' + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ env.DEBIAN_CODENAME }}/main/upload' curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ DEBIAN_CODENAME }}/main/upload + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ env.DEBIAN_CODENAME }}/main/upload - name: Release New Version uses: actions/forgejo-release@v1 From 20a5df07d5fc811ddeae7299437a42a74500349d Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 02:30:28 +0100 Subject: [PATCH 54/72] Correct VAR Usage in Deb URL --- .forgejo/workflows/build+release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 28c93ed..75f55e3 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -141,12 +141,12 @@ jobs: - name: Upload Debian Package run: | - echo 'curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ + echo "curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ env.DEBIAN_CODENAME }}/main/upload' + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/$DEBIAN_CODENAME/main/upload" curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ - https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/${{ env.DEBIAN_CODENAME }}/main/upload + https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/$DEBIAN_CODENAME/main/upload - name: Release New Version uses: actions/forgejo-release@v1 From ade1f4dc47acba18856c2298d10d0cf14b69aebf Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 02:45:10 +0100 Subject: [PATCH 55/72] Cat Output on build.env --- .forgejo/workflows/build+release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 75f55e3..6301c2d 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -117,6 +117,7 @@ jobs: run: | mv -v artifacts/build-env/build-env/build.env build.env export $(xargs <build.env) + cat build.env - name: Rearrange Artifact Paths run: | From a854d5039d15b7e482e1ac5114428d279a239806 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Sat, 18 Nov 2023 03:04:21 +0100 Subject: [PATCH 56/72] Fix exported Env being erased --- .forgejo/workflows/build+release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 6301c2d..e501178 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -142,6 +142,7 @@ jobs: - name: Upload Debian Package run: | + export $(xargs <build.env) echo "curl -v --user ${{ secrets.FORGEJO_USERNAME }}:${{ secrets.FORGEJO_TOKEN }} \ --upload-file release/comicinfo-editor-v2-${{ github.ref_name }}-amd64.deb \ https://forgejo.neshweb.net/api/packages/${{ secrets.FORGEJO_USERNAME }}/debian/pool/$DEBIAN_CODENAME/main/upload" From 805c84548126afbc8dd3a7721062267ed5ebd782 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Mon, 27 Nov 2023 08:15:56 +0000 Subject: [PATCH 57/72] Update Artifact Paths --- .forgejo/workflows/build+release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index e501178..e32d8cb 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -115,7 +115,7 @@ jobs: - name: Load .env from build job run: | - mv -v artifacts/build-env/build-env/build.env build.env + mv -v artifacts/build-env/build.env build.env export $(xargs <build.env) cat build.env - From 0a0dd33fb88e5f9c868ac92c84eecf9b39fc000e Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Mon, 27 Nov 2023 08:28:35 +0000 Subject: [PATCH 58/72] Update Version String --- src-tauri/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index f45a7db..f4e375a 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "comicinfo-editor-v2" -version = "0.1.8" +version = "0.1.9" description = "App for creating Comicinfo.xml files" authors = ["Neshura"] license = "" From b4bd65e04bd4e8aadce1de67087daebdad4680f2 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Mon, 18 Dec 2023 08:06:00 +0000 Subject: [PATCH 59/72] Update .forgejo/workflows/build+release.yml --- .forgejo/workflows/build+release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index e32d8cb..4461ae7 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -7,7 +7,7 @@ on: - '[0-9]+.[0-9]+.[0-9]+' - '[0-9]+.[0-9]+.[0-9]+rc[0-9]+' jobs: - run-tests: + tests: runs-on: docker steps: - From 61849f8aeef8cb54054ce0f35a77baa0018f5bb5 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@noreply.forgejo.neshweb.net> Date: Mon, 18 Dec 2023 08:06:44 +0000 Subject: [PATCH 60/72] Update .forgejo/workflows/build+release.yml --- .forgejo/workflows/build+release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 4461ae7..9d455dd 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -7,7 +7,7 @@ on: - '[0-9]+.[0-9]+.[0-9]+' - '[0-9]+.[0-9]+.[0-9]+rc[0-9]+' jobs: - tests: + run-tests: runs-on: docker steps: - @@ -28,7 +28,7 @@ jobs: fi build-linux: - needs: test + needs: run-tests if: success() runs-on: docker container: rust:latest From 1e688d4ea8ca676793c0afc42cd3d5691ad998e1 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:14:43 +0100 Subject: [PATCH 61/72] Rust linting using clippy --- .forgejo/workflows/build+release.yml | 10 ++++++++-- .forgejo/workflows/test.yml | 16 ++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 9d455dd..7191d6c 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -10,12 +10,18 @@ jobs: run-tests: runs-on: docker steps: + - + name: Add Clippy + run: rustup component add clippy - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 - - name: Placeholder - run: echo Placeholder Job + name: Change To Rust Root Dir + run: cd src-tauri + - + name: Run Clippy + run: cargo clippy - name: Check if Version in Cargo.toml matches Tag run: | diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index 637f42a..c6fc4d3 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -12,5 +12,17 @@ jobs: runs-on: docker steps: - - name: Placeholder - run: echo Placeholder Job \ No newline at end of file + name: Installing Node + run: apt update && apt install -y nodejs + - + name: Add Clippy + run: rustup component add clippy + - + name: Checking Out Repository Code + uses: https://code.forgejo.org/actions/checkout@v3 + - + name: Change To Rust Root Dir + run: cd src-tauri + - + name: Run Clippy + run: cargo clippy \ No newline at end of file From 80318dcbe58649ab00080750cdcb76a4dcadb456 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:16:38 +0100 Subject: [PATCH 62/72] Use caching + switch to rust image for tests --- .forgejo/workflows/build+release.yml | 38 ++++++++++++++++++++++++++++ .forgejo/workflows/test.yml | 12 +++++++++ 2 files changed, 50 insertions(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 7191d6c..c8943b4 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -10,6 +10,9 @@ jobs: run-tests: runs-on: docker steps: + - + name: Installing Node + run: apt update && apt install -y nodejs - name: Add Clippy run: rustup component add clippy @@ -19,6 +22,17 @@ jobs: - name: Change To Rust Root Dir run: cd src-tauri + - + name: Set Up Cargo Cache + uses: actions/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Run Clippy run: cargo clippy @@ -64,6 +78,30 @@ jobs: - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 + - + name: Set Up Cargo Cache + uses: actions/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/**/Cargo.lock') }} + - + name: Get Yarn Cache Directory + id: yarn-cache-dir-path + run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT + - + name: Set Up Yarn Cache + uses: actions/cache@v3 + id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - name: Install Yarn Packages run: yarn install diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index c6fc4d3..0b11c5d 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -10,6 +10,7 @@ on: jobs: run-tests: runs-on: docker + container: rust:latest steps: - name: Installing Node @@ -23,6 +24,17 @@ jobs: - name: Change To Rust Root Dir run: cd src-tauri + - + name: Set Up Cargo Cache + uses: actions/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Run Clippy run: cargo clippy \ No newline at end of file From 04b4f60279a7810716f3a582a2a20eecbb5e78e5 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:18:42 +0100 Subject: [PATCH 63/72] Actions Debugging Time --- .forgejo/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index 0b11c5d..c037161 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -23,7 +23,7 @@ jobs: uses: https://code.forgejo.org/actions/checkout@v3 - name: Change To Rust Root Dir - run: cd src-tauri + run: ls -lap - name: Set Up Cargo Cache uses: actions/cache@v3 From f582b210d1fc317574d8a0b47c9b08590fcafcf3 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:20:02 +0100 Subject: [PATCH 64/72] Change cd syntax --- .forgejo/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index c037161..18d1fb1 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -23,7 +23,7 @@ jobs: uses: https://code.forgejo.org/actions/checkout@v3 - name: Change To Rust Root Dir - run: ls -lap + run: cd src-tauri/ - name: Set Up Cargo Cache uses: actions/cache@v3 From 0b804f5bed60dab5d541d40a42a5948b76b9ded2 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:24:15 +0100 Subject: [PATCH 65/72] Manually specify Cargo.toml path for clippy --- .forgejo/workflows/build+release.yml | 2 +- .forgejo/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index c8943b4..232e6b3 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -35,7 +35,7 @@ jobs: key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Run Clippy - run: cargo clippy + run: cargo clippy --manifest-path ./src/Cargo.toml - name: Check if Version in Cargo.toml matches Tag run: | diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index 18d1fb1..deeef16 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -37,4 +37,4 @@ jobs: key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Run Clippy - run: cargo clippy \ No newline at end of file + run: cargo clippy --manifest-path ./src/Cargo.toml \ No newline at end of file From 50cf8962e3ce94220ca99f8e97629b6d95a34ff8 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:26:11 +0100 Subject: [PATCH 66/72] Cargo.toml Action path change --- .forgejo/workflows/build+release.yml | 4 ++-- .forgejo/workflows/test.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 232e6b3..19ca5d9 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -21,7 +21,7 @@ jobs: uses: https://code.forgejo.org/actions/checkout@v3 - name: Change To Rust Root Dir - run: cd src-tauri + run: cd src-tauri/ - name: Set Up Cargo Cache uses: actions/cache@v3 @@ -35,7 +35,7 @@ jobs: key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Run Clippy - run: cargo clippy --manifest-path ./src/Cargo.toml + run: cargo clippy --manifest-path **/Cargo.toml - name: Check if Version in Cargo.toml matches Tag run: | diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index deeef16..1237570 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -37,4 +37,4 @@ jobs: key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Run Clippy - run: cargo clippy --manifest-path ./src/Cargo.toml \ No newline at end of file + run: cargo clippy --manifest-path **/Cargo.toml \ No newline at end of file From 00099f8950306e77e88730c5acb24612c79a01af Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:28:14 +0100 Subject: [PATCH 67/72] Add rust dependencies to test jobs --- .forgejo/workflows/build+release.yml | 11 +++++++++-- .forgejo/workflows/test.yml | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 19ca5d9..2b86c3b 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -11,8 +11,15 @@ jobs: runs-on: docker steps: - - name: Installing Node - run: apt update && apt install -y nodejs + name: Installing Node and dependencies + run: | + apt update + apt install -y \ + nodejs \ + libwebkit2gtk-4.0-dev \ + build-essential \ + libgtk-3-dev \ + libayatana-appindicator3-dev \ - name: Add Clippy run: rustup component add clippy diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index 1237570..df32621 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -13,8 +13,15 @@ jobs: container: rust:latest steps: - - name: Installing Node - run: apt update && apt install -y nodejs + name: Installing Node and dependencies + run: | + apt update + apt install -y \ + nodejs \ + libwebkit2gtk-4.0-dev \ + build-essential \ + libgtk-3-dev \ + libayatana-appindicator3-dev \ - name: Add Clippy run: rustup component add clippy From ccab3c247b0ebb0d7d6e2ac0919ebb0850bff59d Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:31:22 +0100 Subject: [PATCH 68/72] Add container image to release action test job --- .forgejo/workflows/build+release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 2b86c3b..55f10c3 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -9,6 +9,7 @@ on: jobs: run-tests: runs-on: docker + container: rust:latest steps: - name: Installing Node and dependencies From 4abf3f239f0205aaecd60c75eab8ca87eee5308f Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:37:40 +0100 Subject: [PATCH 69/72] Fix linting errors --- src-tauri/src/main.rs | 2 +- src-tauri/src/metadata/mod.rs | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index fe8f4f7..0b1aae3 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -57,7 +57,7 @@ fn save_bundle(bundle_dir: String, metadata_file_path: String, save_path: String file.read_to_end(&mut buffer).unwrap(); - zip_writer.write(&*buffer).unwrap(); + zip_writer.write_all(&*buffer).unwrap(); } zip_writer.finish().unwrap(); diff --git a/src-tauri/src/metadata/mod.rs b/src-tauri/src/metadata/mod.rs index b3d87e0..63203bd 100644 --- a/src-tauri/src/metadata/mod.rs +++ b/src-tauri/src/metadata/mod.rs @@ -1,10 +1,8 @@ -use std::{fs::File, io::{Write, Cursor}}; -use quick_xml::{se::Serializer, events::BytesStart}; +use std::{fs::File, io::{Write}}; +use quick_xml::{se::Serializer}; use serde::{Serialize, Deserialize}; use serde::ser::{SerializeSeq, SerializeStruct}; -use serde_xml_rs::{to_string, to_writer}; - #[derive(Debug, Deserialize, PartialEq, Clone)] pub(crate) struct Metadata { pub(crate) title: String, @@ -139,7 +137,7 @@ impl Metadata { ser.indent(' ', 4); self.serialize(ser).unwrap(); - file.write(buffer.as_bytes()).unwrap(); + file.write_all(buffer.as_bytes()).unwrap(); } } From 1eaafac30d47b4266b6b2382c6a78ba84b3ac88a Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Tue, 19 Dec 2023 23:38:13 +0100 Subject: [PATCH 70/72] Release 0.1.10 --- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index dc0b8dc..b43597e 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -396,7 +396,7 @@ dependencies = [ [[package]] name = "comicinfo-editor-v2" -version = "0.1.8" +version = "0.1.10" dependencies = [ "quick-xml", "serde", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index f4e375a..4003a83 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "comicinfo-editor-v2" -version = "0.1.9" +version = "0.1.10" description = "App for creating Comicinfo.xml files" authors = ["Neshura"] license = "" From 42978587e37350ce24c725b3b55fb84fdfc7273c Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Wed, 20 Dec 2023 00:13:50 +0100 Subject: [PATCH 71/72] Use rust-tauri docker image --- .forgejo/workflows/build+release.yml | 30 ++-------------------------- .forgejo/workflows/test.yml | 12 +---------- 2 files changed, 3 insertions(+), 39 deletions(-) diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml index 55f10c3..4b71f6c 100644 --- a/.forgejo/workflows/build+release.yml +++ b/.forgejo/workflows/build+release.yml @@ -9,18 +9,8 @@ on: jobs: run-tests: runs-on: docker - container: rust:latest + container: forgejo.neshweb.net/ci-docker-images/rust-tauri:latest steps: - - - name: Installing Node and dependencies - run: | - apt update - apt install -y \ - nodejs \ - libwebkit2gtk-4.0-dev \ - build-essential \ - libgtk-3-dev \ - libayatana-appindicator3-dev \ - name: Add Clippy run: rustup component add clippy @@ -59,7 +49,7 @@ jobs: needs: run-tests if: success() runs-on: docker - container: rust:latest + container: forgejo.neshweb.net/ci-docker-images/rust-tauri:latest steps: - name: Storing Debian Codename for Package Upload Job @@ -67,22 +57,6 @@ jobs: . /etc/os-release echo Debian Codename is: $VERSION_CODENAME echo "DEBIAN_CODENAME=$VERSION_CODENAME" >> /build.env - - - name: Installing Node, NPM - run: | - apt update - apt install -y \ - nodejs npm \ - libwebkit2gtk-4.0-dev \ - build-essential \ - libgtk-3-dev \ - libayatana-appindicator3-dev \ - - - name: Installing Yarn, Vite - run: npm install --global yarn vite - - - name: Installing Tauri CLI - run: cargo install tauri-cli - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index df32621..c18ba73 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -10,18 +10,8 @@ on: jobs: run-tests: runs-on: docker - container: rust:latest + container: forgejo.neshweb.net/ci-docker-images/rust-tauri:latest steps: - - - name: Installing Node and dependencies - run: | - apt update - apt install -y \ - nodejs \ - libwebkit2gtk-4.0-dev \ - build-essential \ - libgtk-3-dev \ - libayatana-appindicator3-dev \ - name: Add Clippy run: rustup component add clippy From eae08d44a66f479216e276b0762762c2bc130086 Mon Sep 17 00:00:00 2001 From: Neshura <neshura@neshweb.net> Date: Wed, 20 Dec 2023 00:17:40 +0100 Subject: [PATCH 72/72] Release 0.1.12 --- src-tauri/Cargo.lock | 2 +- src-tauri/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index b43597e..0624fa5 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -396,7 +396,7 @@ dependencies = [ [[package]] name = "comicinfo-editor-v2" -version = "0.1.10" +version = "0.1.12" dependencies = [ "quick-xml", "serde", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 4003a83..6c0c66a 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "comicinfo-editor-v2" -version = "0.1.10" +version = "0.1.12" description = "App for creating Comicinfo.xml files" authors = ["Neshura"] license = ""