From 9a18dd7e8fff74d37025756efe67f20ff856db6d Mon Sep 17 00:00:00 2001 From: Ryan Gonzalez Date: Wed, 20 May 2026 16:37:25 -0500 Subject: [PATCH 1/8] runner: Fix lines logged with gitlab-runner's outputln going missing Since our on_event was skipping the inner filter, the disabled bits would stay set for the next event, which coincidentally could end up being an event logged with `gitlab.output=true` directly. This seems to not have come up in testing because the events that got accidentally disabled were TRACE events that we didn't really care about anyway. The tests are also modified to only enable TRACE-level logging when OBO_TEST_TRACE is set, that way the tests are doing logging with a setup more similar to the runner proper. --- obo-tests/src/lib.rs | 4 ++++ obs-gitlab-runner/src/handler.rs | 18 ++++++++++++++---- obs-gitlab-runner/src/logging.rs | 27 ++++++++++++++++++++++++--- 3 files changed, 42 insertions(+), 7 deletions(-) diff --git a/obo-tests/src/lib.rs b/obo-tests/src/lib.rs index 7705212..fd878e4 100644 --- a/obo-tests/src/lib.rs +++ b/obo-tests/src/lib.rs @@ -17,6 +17,10 @@ use obo_test_support::*; use open_build_service_api as obs; use open_build_service_mock::*; +pub fn should_enable_trace_logging() -> bool { + std::env::var_os("OBO_TEST_TRACE").is_some() +} + #[derive(Clone)] pub struct ObsContext { pub client: obs::Client, diff --git a/obs-gitlab-runner/src/handler.rs b/obs-gitlab-runner/src/handler.rs index e8fb5d0..a388229 100644 --- a/obs-gitlab-runner/src/handler.rs +++ b/obs-gitlab-runner/src/handler.rs @@ -453,7 +453,7 @@ mod tests { use rstest::rstest; use tempfile::TempDir; use tracing::{Level, instrument::WithSubscriber}; - use tracing_subscriber::{Layer, Registry, filter::Targets, prelude::*}; + use tracing_subscriber::{Registry, filter::Targets, prelude::*}; use zip::ZipArchive; use crate::logging::GitLabForwarder; @@ -816,9 +816,19 @@ mod tests { .with( tracing_subscriber::fmt::layer() .with_test_writer() - .with_filter( - Targets::new().with_target("obs_gitlab_runner", Level::TRACE), - ), + .with_filter(if should_enable_trace_logging() { + Targets::new() + .with_target("obo_core", Level::TRACE) + .with_target("obs_gitlab_runner", Level::TRACE) + } else { + // If trace-level logging isn't enabled, we want + // the global filter to match what the runner is + // typically run with as closely as possible. + // Since 'tracing' is very complex, this helps + // ensure we don't break something in a way that + // passes tests but fails in practice. + Targets::new().with_default(Level::INFO) + }), ) .with(tracing_error::ErrorLayer::default()) .with(GitLabForwarder::new(layer)), diff --git a/obs-gitlab-runner/src/logging.rs b/obs-gitlab-runner/src/logging.rs index 41e11b9..8b277a2 100644 --- a/obs-gitlab-runner/src/logging.rs +++ b/obs-gitlab-runner/src/logging.rs @@ -73,12 +73,32 @@ impl LookupSpan<'span>, F: Fi } fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>) { + // When Filtered's Layer implementation methods are invoked on an event + // *prior* to on_event() (e.g. enabled()), it will set thread-local + // state indicating whether or not the currently-processed event should + // be enabled. Then, within on_event(), if the event was in fact + // disabled, the thread-local state gets reset, to clear things out for + // the next event to be processed. In other words, Filtered holds hard + // assumptions about the order of methods called when processing an + // event, and it uses these assumptions to manage its state. + // + // This also means that, if we don't *always* call on_event here, those + // assumptions are *violated*, and an event being disabled can carry + // over to the processing of the next event. + self.0.on_event(event, ctx.clone()); + if !is_output_field_set_in_event(event) { - // No special behavior needed, so just forward it as-is. - self.0.on_event(event, ctx); + // No special behavior needed, so just leave things as-is. return; } + // If an event had both the obo *and* gitlab-runner output fields set, + // then it would get logged twice (once by the above on_event, and once + // by our bypass below). This is pretty obvious to avoid, but it's still + // worth making sure that in debug builds (e.g. tests) it doesn't + // happen. + debug_assert!(!self.0.filter().enabled(event.metadata(), &ctx)); + let Some(message) = get_event_message(event) else { return; }; @@ -107,7 +127,8 @@ impl LookupSpan<'span>, F: Fi }; // Bypass the filter completely, because the event was almost certainly - // filtered out in its `enabled` due to lacking `gitlab.output`. + // filtered out due to lacking `gitlab.output` (and we already called + // on_event() for the filter at the start of the function). self.0.inner().on_event(&event, ctx); } From 983b2adc88ad950c8650f10cb2b2fc985eb06275 Mon Sep 17 00:00:00 2001 From: Ryan Gonzalez Date: Wed, 20 May 2026 16:37:25 -0500 Subject: [PATCH 2/8] cli: Add support for OBO_TEST_TRACE Since the CLI trace logs end up in the same place as the output logs, we need a small hack to differentiate them in one test, but it's only enabled when test tracing is enabled and thus shouldn't cause problems elsewhere. --- obo-cli/tests/test_cli.rs | 8 ++++++++ obo-tests/src/lib.rs | 14 +++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/obo-cli/tests/test_cli.rs b/obo-cli/tests/test_cli.rs index e9a9e0f..5c878a2 100644 --- a/obo-cli/tests/test_cli.rs +++ b/obo-cli/tests/test_cli.rs @@ -102,6 +102,14 @@ impl RunBuilder<'_> for CliRunBuilder { .env("OBS_SERVER", self.obs_server) .env("OBS_USER", TEST_USER) .env("OBS_PASSWORD", TEST_PASS) + .env( + "OBO_LOG", + if should_enable_trace_logging() { + "obo_core=trace,obo_cli=trace" + } else { + "" + }, + ) .env("OBO_TEST_LOG_TAIL", MONITOR_TEST_LOG_TAIL.to_string()) .env("OBO_TEST_SLEEP_ON_BUILDING_MS", "0") .env( diff --git a/obo-tests/src/lib.rs b/obo-tests/src/lib.rs index fd878e4..c1f8d32 100644 --- a/obo-tests/src/lib.rs +++ b/obo-tests/src/lib.rs @@ -533,7 +533,19 @@ pub async fn test_monitoring( ); assert_eq!( - log.contains(&log_contents), + // If trace-level logging is enabled, and the implementation mixes + // together script output with the trace logs (i.e. the CLI), then our + // rather short test log *probably* ended up in the log output at some + // point. In that case, make sure to require a leading newline, so it + // should only match if the logs were explicitly printed on its own + // line(s) vs the debug/trace-level logs that have a header. (This is + // very janky, but it *only* applies in an explicitly opt-in case, so if + // anything actually breaks it's not a huge deal.) + if should_enable_trace_logging() { + log.contains(&format!("\n{log_contents}")) + } else { + log.contains(&log_contents) + }, !success && log_test == MonitorLogTest::Short ); From ed5d0d1ffb12c3076afb414fa456e9e166a02ddf Mon Sep 17 00:00:00 2001 From: Ryan Gonzalez Date: Wed, 20 May 2026 16:37:25 -0500 Subject: [PATCH 3/8] tests: Explicitly test that output artifact lists are correct Otherwise, generated pipelines might end up with bad `artifacts` items without it being caught during testing. --- obo-cli/tests/test_cli.rs | 9 ++++++++ obo-tests/src/lib.rs | 13 +++++++++++ obs-gitlab-runner/src/handler.rs | 38 ++++++++++++++++++++++++-------- 3 files changed, 51 insertions(+), 9 deletions(-) diff --git a/obo-cli/tests/test_cli.rs b/obo-cli/tests/test_cli.rs index 5c878a2..555cbf4 100644 --- a/obo-cli/tests/test_cli.rs +++ b/obo-cli/tests/test_cli.rs @@ -69,6 +69,13 @@ impl RunBuilder<'_> for CliRunBuilder { self } + fn saves(self, _patterns: I) -> Self + where + I::Item: AsRef, + { + self + } + fn artifacts(mut self, artifacts: Self::ArtifactsHandle) -> Self { self.dependencies.push(artifacts.0); self @@ -249,6 +256,7 @@ async fn test_monitor_table( let generate = context .run() .command(generate_command) + .saves(&[DEFAULT_MONITOR_TABLE]) .artifacts(dput.clone()) .go() .await; @@ -279,6 +287,7 @@ async fn test_monitor_table( build_info, &enabled.repo_arch, &script, + &[], success, dput_test, log_test, diff --git a/obo-tests/src/lib.rs b/obo-tests/src/lib.rs index c1f8d32..0c33dcf 100644 --- a/obo-tests/src/lib.rs +++ b/obo-tests/src/lib.rs @@ -55,6 +55,13 @@ pub trait RunBuilder<'context>: Send + Sync + Sized { self.script(&[cmd.into()]) } + // Sets the patterns of files that will be saved by the given commands, so + // that implementations that need to list out saved artifacts like the + // gitlab runner can verify those lists are correct. + fn saves(self, _patterns: I) -> Self + where + I::Item: AsRef; + fn script(self, cmd: &[String]) -> Self; fn artifacts(self, artifacts: Self::ArtifactsHandle) -> Self; fn timeout(self, timeout: Duration) -> Self; @@ -183,6 +190,7 @@ pub async fn test_dput( let dput = context .run() .command(dput_command.replace(dsc1_file, dsc1_bad_file)) + .saves(&[DEFAULT_BUILD_INFO]) .artifacts(artifacts.clone()) .go() .await; @@ -201,6 +209,7 @@ pub async fn test_dput( let mut dput = context .run() .command(&dput_command) + .saves(&[DEFAULT_BUILD_INFO]) .artifacts(artifacts.clone()) .go() .await; @@ -277,6 +286,7 @@ pub async fn test_dput( dput = context .run() .command(&dput_command) + .saves(&[DEFAULT_BUILD_INFO]) .artifacts(artifacts.clone()) .go() .await; @@ -299,6 +309,7 @@ pub async fn test_dput( dput = context .run() .command(format!("{dput_command} --rebuild-if-unchanged")) + .saves(&[DEFAULT_BUILD_INFO]) .artifacts(artifacts.clone()) .go() .await; @@ -403,6 +414,7 @@ pub async fn test_monitoring( build_info: &ObsBuildInfo, repo: &RepoArch, script: &[String], + artifact_paths: &[String], success: bool, dput_test: DputTest, log_test: MonitorLogTest, @@ -508,6 +520,7 @@ pub async fn test_monitoring( let monitor = context .run() .script(script) + .saves(artifact_paths) .artifacts(dput.clone()) .timeout(MONITOR_TEST_OLD_STATUS_SLEEP_DURATION * 20) .go() diff --git a/obs-gitlab-runner/src/handler.rs b/obs-gitlab-runner/src/handler.rs index a388229..1505cd5 100644 --- a/obs-gitlab-runner/src/handler.rs +++ b/obs-gitlab-runner/src/handler.rs @@ -576,6 +576,7 @@ mod tests { variables: HashMap, handler: Box, timeout: Duration, + artifacts_patterns: Vec, } fn create_obs_job_handler_factory( @@ -629,6 +630,15 @@ mod tests { self } + fn saves(mut self, patterns: I) -> Self + where + I::Item: AsRef, + { + self.artifacts_patterns + .extend(patterns.into_iter().map(|x| x.as_ref().to_owned())); + self + } + fn artifacts(mut self, artifacts: Self::ArtifactsHandle) -> Self { self.dependencies.push(artifacts.0); self @@ -662,15 +672,17 @@ mod tests { ); } - builder.add_artifact( - None, - false, - vec!["*".to_owned()], - Some(MockJobArtifactWhen::Always), - "archive".to_owned(), - Some("zip".to_owned()), - None, - ); + if !self.artifacts_patterns.is_empty() { + builder.add_artifact( + None, + false, + self.artifacts_patterns, + Some(MockJobArtifactWhen::Always), + "archive".to_owned(), + Some("zip".to_owned()), + None, + ); + } for dependency in self.dependencies { builder.dependency(dependency); @@ -729,6 +741,7 @@ mod tests { artifacts: HashMap>, ) -> Self::ArtifactsHandle { self.run() + .saves(artifacts.keys()) .job_handler_factory(|_| PutArtifactsHandler { artifacts: Arc::new(artifacts), }) @@ -776,6 +789,7 @@ mod tests { _phantom: PhantomData, }), timeout: EXECUTION_DEFAULT_TIMEOUT, + artifacts_patterns: vec![], } } } @@ -861,6 +875,7 @@ mod tests { let generate = context .run() .command(generate_command) + .saves(&[DEFAULT_MONITOR_PIPELINE]) .artifacts(dput.clone()) .go() .await; @@ -953,6 +968,10 @@ mod tests { build_info, &enabled.repo_arch, &script, + &artifact_paths + .into_iter() + .map(ToOwned::to_owned) + .collect::>(), success, dput_test, log_test, @@ -1163,6 +1182,7 @@ mod tests { } else { context.run().command("generate-monitor tag") } + .saves(&[DEFAULT_MONITOR_PIPELINE]) .artifacts(build_info); let generate = if test == Some(GenerateMonitorTimeoutLocation::HandlerOption) { From 15df908d6fc6c60242e697a95a8f3fe6e0bb7716 Mon Sep 17 00:00:00 2001 From: Ryan Gonzalez Date: Wed, 20 May 2026 16:37:25 -0500 Subject: [PATCH 4/8] Update gitlab-runner to 0.3.2 This contains fixes for logs being blank in some GitLab versions: https://github.com/collabora/gitlab-runner-rs/pull/125 https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-0-2-released/ as well as improved support for artifact paths that now matches GitLab's usual semantics: https://github.com/collabora/gitlab-runner-rs/pull/126 Fixes #119. --- Cargo.lock | 46 +++++++++++++++++++++--------------- obs-gitlab-runner/Cargo.toml | 6 ++--- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 203cb89..a802c6b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -622,7 +622,6 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", "crypto-common 0.1.7", - "subtle", ] [[package]] @@ -928,9 +927,9 @@ checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "gitlab-runner" -version = "0.3.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f8bfd3287e403d83d657148efc607c1aa744d0ff7ac3a6dcb8797511d0fe59" +checksum = "35d5c4acce20dcf80e6570687372981c813d67262bd359d277b3d0c677b6515a" dependencies = [ "async-trait", "bytes", @@ -938,14 +937,15 @@ dependencies = [ "flate2", "futures", "glob", - "hmac 0.12.1", + "hmac", + "normalize-path", "parking_lot", "pin-project", "rand 0.10.1", "reqwest", "serde", "serde_json", - "sha2", + "sha2 0.11.0", "tempfile", "thiserror 2.0.18", "tokio", @@ -960,9 +960,9 @@ dependencies = [ [[package]] name = "gitlab-runner-mock" -version = "0.3.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b7089aed97831b12b9a80fe2f3767d0211d48bf539acc076654e2cdb00dff99" +checksum = "c83aac627f2dc4a11bb4074638275c3274851efa5c1f891305a7c22f1e9d5fdf" dependencies = [ "futures", "http", @@ -1026,15 +1026,6 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - [[package]] name = "hmac" version = "0.13.0" @@ -1497,7 +1488,7 @@ version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47bb1e988e6fb779cf720ad431242d3f03167c1b3f2b1aae7f1a94b2495b36ae" dependencies = [ - "sha2", + "sha2 0.10.9", ] [[package]] @@ -1570,6 +1561,12 @@ dependencies = [ "version_check", ] +[[package]] +name = "normalize-path" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5438dd2b2ff4c6df6e1ce22d825ed2fa93ee2922235cc45186991717f0a892d" + [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -1838,7 +1835,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112d82ceb8c5bf524d9af484d4e4970c9fd5a0cc15ba14ad93dccd28873b0629" dependencies = [ "digest 0.11.3", - "hmac 0.13.0", + "hmac", ] [[package]] @@ -2476,6 +2473,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.3", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -3805,7 +3813,7 @@ dependencies = [ "deflate64", "flate2", "getrandom 0.4.2", - "hmac 0.13.0", + "hmac", "indexmap", "lzma-rust2", "memchr", diff --git a/obs-gitlab-runner/Cargo.toml b/obs-gitlab-runner/Cargo.toml index 36dc964..14add4f 100644 --- a/obs-gitlab-runner/Cargo.toml +++ b/obs-gitlab-runner/Cargo.toml @@ -13,7 +13,7 @@ clap.workspace = true color-eyre.workspace = true derivative.workspace = true futures-util.workspace = true -gitlab-runner = "0.3.0" +gitlab-runner = "0.3.2" # gitlab-runner = { path = "../../gitlab-runner-rs/gitlab-runner" } obo-core = { path = "../obo-core" } obo-test-support = { path = "../obo-test-support" } @@ -35,8 +35,8 @@ url = "2.5" [dev-dependencies] claims.workspace = true -gitlab-runner-mock = "0.3.0" -# gitlab-runner-mock = { path = "../gitlab-runner-rs/gitlab-runner-mock" } +gitlab-runner-mock = "0.3.2" +# gitlab-runner-mock = { path = "../../gitlab-runner-rs/gitlab-runner-mock" } obo-tests = { path = "../obo-tests" } open-build-service-mock.workspace = true rstest.workspace = true From b14f542ff9597227367c79dbe13a4539598987c0 Mon Sep 17 00:00:00 2001 From: Ryan Gonzalez Date: Fri, 19 Jun 2026 14:46:46 -0500 Subject: [PATCH 5/8] Update open-build-service-rs 0.1.1 This contains a fix for infinite looping when downloading the logs when reqwest uses HTTP/2: https://github.com/collabora/open-build-service-rs/pull/64 --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a802c6b..9296ad5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1752,9 +1752,9 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "open-build-service-api" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b57803d6cf55358b48dfd66339f33ba936ce5c5c9a7c388889bad93c0c5a880" +checksum = "6c44d5a2ad7c7fc4219b1ceed31e58254ae5a292d344e8f9ab4b95f7828701ef" dependencies = [ "base16ct", "bytes", diff --git a/Cargo.toml b/Cargo.toml index 0e5c2d7..fc57d2d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ clap = { version = "4.6", features = ["default", "derive", "env"] } color-eyre = "0.6" derivative = "2.2" futures-util = "0.3" -open-build-service-api = "0.1.0" +open-build-service-api = "0.1.1" # open-build-service-api = { path = "../open-build-service-rs/open-build-service-api" } open-build-service-mock = "0.1.0" # open-build-service-mock = { path = "../open-build-service-rs/open-build-service-mock" } From 32b832cc0202e0bf63ac49a897727b3c4c12d4c8 Mon Sep 17 00:00:00 2001 From: Ryan Gonzalez Date: Fri, 19 Jun 2026 17:27:09 -0500 Subject: [PATCH 6/8] Centralize version/edition/license at the workspace level This makes it easier to bump the version for the CLI + runner and reduces duplication. --- Cargo.toml | 5 +++++ obo-cli/Cargo.toml | 6 +++--- obo-core/Cargo.toml | 4 ++-- obo-test-support/Cargo.toml | 4 ++-- obo-tests/Cargo.toml | 4 ++-- obs-gitlab-runner/Cargo.toml | 6 +++--- 6 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index fc57d2d..8d0c0f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,11 @@ members = [ "obs-gitlab-runner" ] +[workspace.package] +version = "0.1.8" +edition = "2024" +license = "MIT OR Apache-2.0" + [workspace.dependencies] async-trait = "0.1" camino = "1.2" diff --git a/obo-cli/Cargo.toml b/obo-cli/Cargo.toml index 4d1a7c8..6beec2b 100644 --- a/obo-cli/Cargo.toml +++ b/obo-cli/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "obo-cli" description = "OBS Build Orchestrator — command-line frontend" -version = "0.1.8" -edition = "2024" -license = "MIT OR Apache-2.0" +version.workspace = true +edition.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/obo-core/Cargo.toml b/obo-core/Cargo.toml index 6c0f2d1..3689a44 100644 --- a/obo-core/Cargo.toml +++ b/obo-core/Cargo.toml @@ -2,8 +2,8 @@ name = "obo-core" description = "OBS Build Orchestrator — core" version = "0.1.0" -edition = "2024" -license = "MIT OR Apache-2.0" +edition.workspace = true +license.workspace = true [dependencies] async-trait.workspace = true diff --git a/obo-test-support/Cargo.toml b/obo-test-support/Cargo.toml index e6c281c..0e1304d 100644 --- a/obo-test-support/Cargo.toml +++ b/obo-test-support/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "obo-test-support" version = "0.1.0" -edition = "2024" -license = "MIT OR Apache-2.0" +edition.workspace = true +license.workspace = true [dependencies] open-build-service-api.workspace = true diff --git a/obo-tests/Cargo.toml b/obo-tests/Cargo.toml index 4b938f7..443ce63 100644 --- a/obo-tests/Cargo.toml +++ b/obo-tests/Cargo.toml @@ -2,8 +2,8 @@ name = "obo-tests" description = "OBS Build Orchestrator — shared tests for different frontends" version = "0.1.0" -edition = "2024" -license = "MIT OR Apache-2.0" +edition.workspace = true +license.workspace = true [dependencies] async-trait.workspace = true diff --git a/obs-gitlab-runner/Cargo.toml b/obs-gitlab-runner/Cargo.toml index 14add4f..4755081 100644 --- a/obs-gitlab-runner/Cargo.toml +++ b/obs-gitlab-runner/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "obs-gitlab-runner" -version = "0.1.8" -edition = "2024" -license = "MIT OR Apache-2.0" +version.workspace = true +edition.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From 9b6cdf4d2f74cf97bb9b1850fdbe9398d8604aab Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Wed, 24 Jun 2026 09:29:54 +0200 Subject: [PATCH 7/8] Bump chart version to 0.2.0 Bump chart version and appVersion all to 0.2.0. Comment image.tag in values so it will default to the appVersion (which should match) The chart version isn't necesarilly expected to be in sync with the App version, however as it was seemingly never even bumped (and should be bumped on app changes), just sync them all up and we can see how it goes --- obs-gitlab-runner/chart/Chart.yaml | 4 ++-- obs-gitlab-runner/chart/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/obs-gitlab-runner/chart/Chart.yaml b/obs-gitlab-runner/chart/Chart.yaml index 37d7398..f8b2e89 100644 --- a/obs-gitlab-runner/chart/Chart.yaml +++ b/obs-gitlab-runner/chart/Chart.yaml @@ -15,10 +15,10 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.1 +version: 0.2.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "0.0.1" +appVersion: "v0.2.0" diff --git a/obs-gitlab-runner/chart/values.yaml b/obs-gitlab-runner/chart/values.yaml index c0882d2..1af847a 100644 --- a/obs-gitlab-runner/chart/values.yaml +++ b/obs-gitlab-runner/chart/values.yaml @@ -17,7 +17,7 @@ image: repository: ghcr.io/collabora/obs-gitlab-runner pullPolicy: Always # Overrides the image tag whose default is the chart appVersion. - tag: "0.1.8" + # tag: "v0.2.0" imagePullSecrets: [] nameOverride: "" From 0a548d69dfa8ba05da1b43274267cbb86069e4f5 Mon Sep 17 00:00:00 2001 From: Ryan Gonzalez Date: Fri, 19 Jun 2026 17:28:33 -0500 Subject: [PATCH 8/8] Bump version to 0.2.0 --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9296ad5..1a5b374 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1621,7 +1621,7 @@ dependencies = [ [[package]] name = "obo-cli" -version = "0.1.8" +version = "0.2.0" dependencies = [ "async-trait", "camino", @@ -1703,7 +1703,7 @@ dependencies = [ [[package]] name = "obs-gitlab-runner" -version = "0.1.8" +version = "0.2.0" dependencies = [ "async-trait", "camino", diff --git a/Cargo.toml b/Cargo.toml index 8d0c0f0..984fffc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ members = [ ] [workspace.package] -version = "0.1.8" +version = "0.2.0" edition = "2024" license = "MIT OR Apache-2.0"