From 0f5016a636d22fe9ce85bff387bdccacf84d2d77 Mon Sep 17 00:00:00 2001 From: Michael Bruno <12646562+mbround18@users.noreply.github.com> Date: Sat, 8 May 2021 22:08:00 -0700 Subject: [PATCH 1/3] enforce label --- .autorc | 4 +- .github/workflows/enforce-labels.yml | 14 +++++++ Cargo.lock | 55 +++++++++++++++------------- docker-compose.yml | 1 + src/odin/mods/mod.rs | 13 +++++-- 5 files changed, 56 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/enforce-labels.yml diff --git a/.autorc b/.autorc index 4682614d..992b9196 100644 --- a/.autorc +++ b/.autorc @@ -7,5 +7,5 @@ "repo": "valheim-docker", "name": "mbround18", "email": "12646562+mbround18@users.noreply.github.com", - "onlyPublishWithReleaseLabel": true -} \ No newline at end of file + "onlyPublishWithReleaseLabel": false +} diff --git a/.github/workflows/enforce-labels.yml b/.github/workflows/enforce-labels.yml new file mode 100644 index 00000000..f9730154 --- /dev/null +++ b/.github/workflows/enforce-labels.yml @@ -0,0 +1,14 @@ +name: Enforce PR labels + +on: + pull_request: + types: [labeled, unlabeled, opened, edited, synchronize] +jobs: + enforce-label: + runs-on: ubuntu-latest + steps: + - uses: yogevbd/enforce-label-action@2.1.0 + with: + REQUIRED_LABELS_ANY: "major,minor,patch,internal,performance,question,release,tests,wontfix,documentation,bug,dependancies" + REQUIRED_LABELS_ANY_DESCRIPTION: "Select at least one label ['major','minr','patch', 'documentation']" + BANNED_LABELS: "banned" diff --git a/Cargo.lock b/Cargo.lock index ae363b3d..d44402c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -188,10 +188,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" [[package]] -name = "cpuid-bool" -version = "0.1.2" +name = "cpufeatures" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +checksum = "dec1028182c380cc45a2e2c5ec841134f2dfd0f8f5f0a5bcd68004f81b5efdf4" +dependencies = [ + "libc", +] [[package]] name = "crc" @@ -416,9 +419,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "h2" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc018e188373e2777d0ef2467ebff62a08e66c3f5857b23c8fbec3018210dc00" +checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726" dependencies = [ "bytes", "fnv", @@ -495,9 +498,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfb77c123b4e2f72a2069aeae0b4b4949cc7e966df277813fc16347e7549737" +checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" dependencies = [ "bytes", "http", @@ -652,9 +655,9 @@ checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" [[package]] name = "lock_api" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ "scopeguard", ] @@ -682,9 +685,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" [[package]] name = "mime" @@ -1053,9 +1056,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.6" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041" +checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc" dependencies = [ "bitflags", ] @@ -1234,13 +1237,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f" +checksum = "b659df5fc3ce22274daac600ffb845300bd2125bcfaec047823075afdab81c00" dependencies = [ "block-buffer", "cfg-if", - "cpuid-bool", + "cpufeatures", "digest", "opaque-debug", ] @@ -1290,9 +1293,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "syn" -version = "1.0.70" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9505f307c872bab8eb46f77ae357c8eba1fdacead58ee5a850116b1d7f82883" +checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82" dependencies = [ "proc-macro2", "quote", @@ -1490,9 +1493,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f" +checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" dependencies = [ "cfg-if", "log", @@ -1502,9 +1505,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f" +checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" dependencies = [ "lazy_static", ] @@ -1590,9 +1593,9 @@ checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" [[package]] name = "unicode-xid" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "untrusted" @@ -1602,9 +1605,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" dependencies = [ "form_urlencoded", "idna", diff --git a/docker-compose.yml b/docker-compose.yml index 977a3347..713ce4e1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,6 +18,7 @@ services: TZ: "America/Los_Angeles" AUTO_UPDATE: 1 AUTO_UPDATE_SCHEDULE: "0 1 * * *" + TYPE: Vanilla build: context: . dockerfile: ./Dockerfile.valheim diff --git a/src/odin/mods/mod.rs b/src/odin/mods/mod.rs index 11df0f2f..fafe8dde 100644 --- a/src/odin/mods/mod.rs +++ b/src/odin/mods/mod.rs @@ -36,6 +36,8 @@ impl ZipExt for ZipArchive { let mut outpath = dst_dir.as_ref().join(filepath); + debug!("Extracting file: {:?}", outpath); + if file.name().ends_with('/') { fs::create_dir_all(&outpath)?; } else { @@ -47,11 +49,13 @@ impl ZipExt for ZipArchive { // Don't overwrite old cfg files if outpath.extension().unwrap_or_default() == "cfg" && outpath.exists() { + debug!("File is config with already exiting destination! Adding '.new'"); outpath = outpath.with_extension("cfg.new"); } - let mut outfile = File::create(&outpath)?; + let mut outfile = File::create(&outpath)?; io::copy(&mut file, &mut outfile)?; + debug!("Extracted file {:?}", outpath); } // Get and Set permissions @@ -94,7 +98,7 @@ impl ValheimMod { } fn try_parse_manifest(&self, archive: &mut ZipArchive) -> Result { - debug!("Parsing manifest..."); + debug!("Parsing 'manifest.json' ..."); let manifest = archive.by_name("manifest.json")?; Ok(serde_json::from_reader(manifest).expect("Failed deserializing manifest")) } @@ -132,6 +136,7 @@ impl ValheimMod { // It's a mod framework based on a specific name and if it has a matching directory in the // archive + debug!("Validating if file is a framework"); mod_dir_exists && (name == "BepInExPack_Valheim" || name == "BepInEx_Valheim_Full") } None => archive @@ -147,6 +152,7 @@ impl ValheimMod { // thunderstore where a manifest is provided, or not. let (output_dir, archive_dir) = if self.is_mod_framework(archive) { info!("Installing Framework..."); + debug!("Zip file is a framework, processing it in parts."); let output_dir = PathBuf::from(&common_paths::game_directory()); // All frameworks from thunderstore just need the directory matching the name extracted @@ -199,12 +205,13 @@ impl ValheimMod { } if self.file_type.eq("dll") { + debug!("Copying downloaded dll to BepInEx plugin directory..."); self.copy_single_file( &self.staging_location, &common_paths::bepinex_plugin_directory(), ); } else if self.file_type.eq("cfg") { - info!("Copying single cfg into config directory"); + debug!("Copying single cfg into config directory"); let src_file_path = &self.staging_location; let cfg_file_name = self.staging_location.file_name().unwrap(); From 53042f9a207480af5bf7d2acb31ed859210fe4f4 Mon Sep 17 00:00:00 2001 From: Michael Bruno <12646562+mbround18@users.noreply.github.com> Date: Sat, 8 May 2021 22:08:29 -0700 Subject: [PATCH 2/3] release with label --- .autorc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.autorc b/.autorc index 992b9196..294f4408 100644 --- a/.autorc +++ b/.autorc @@ -7,5 +7,5 @@ "repo": "valheim-docker", "name": "mbround18", "email": "12646562+mbround18@users.noreply.github.com", - "onlyPublishWithReleaseLabel": false + "onlyPublishWithReleaseLabel": true } From 512bc8a46b85008720ad05d1be7a721b87be18db Mon Sep 17 00:00:00 2001 From: Michael Bruno <12646562+mbround18@users.noreply.github.com> Date: Sat, 8 May 2021 22:16:20 -0700 Subject: [PATCH 3/3] Updated gh pages index --- docs/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/index.md b/docs/index.md index db00c325..02073aa2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,7 +8,7 @@ world backup support, and a user-friendly cli interface. ## Links -- [Getting Started](../README.md) +- [Getting Started](https://github.com/mbround18/valheim-docker/blob/main/README.md) The repositories Readme contains all relevant information for running with Docker @@ -16,16 +16,16 @@ world backup support, and a user-friendly cli interface. Discussions are what we use for support as they are easily searchable. -- [Getting Started With & Using Odin](../src/odin/README.md) +- [Getting Started With & Using Odin](https://github.com/mbround18/valheim-docker/blob/main/src/odin/README.md) You can run your Valheim server without docker! Take a look at Odin's docs. -- [Getting Started With & Using Huginn](../src/huginn/README.md) +- [Getting Started With & Using Huginn](https://github.com/mbround18/valheim-docker/blob/main/src/huginn/README.md) Want to see the status of your server? Take a look at Huginn! It can run independently of Odin and this repo. ## Tutorials -- [Getting Started With Mods](tutorials/getting_started_with_mods.md) -- [How to transfer files](tutorials/how-to-transfer-files.md) +- [Getting Started With Mods](https://github.com/mbround18/valheim-docker/blob/main/docs/tutorials/getting_started_with_mods.md) +- [How to transfer files](https://github.com/mbround18/valheim-docker/blob/main/docs/tutorials/how-to-transfer-files.md)