Skip to content

Regression fixes and prepare 0.2.0#121

Merged
sjoerdsimons merged 8 commits into
mainfrom
wip/refi64/prep-0.2.0
Jun 24, 2026
Merged

Regression fixes and prepare 0.2.0#121
sjoerdsimons merged 8 commits into
mainfrom
wip/refi64/prep-0.2.0

Conversation

@refi64

@refi64 refi64 commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Contains the gitlab-runner upgrade to work with newer GitLab, plus three regression fixes for the runner:

  • Updates open-build-service to fix the hangs when reading the logs from OBS.
  • Fixes logs sent to GitLab sometimes disappearing.
  • Update to gitlab-runner 0.3.2:
    • improves artifact matching compatibility with the official gitlab-runner. This ensures compatibility with the artifact paths created by generate-pipeline
    • fixes log submission to newer versions of gitlab >= 18.10.8

The latter two should now be caught via the test suite

refi64 added 2 commits June 19, 2026 14:46
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.
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.
@refi64 refi64 force-pushed the wip/refi64/prep-0.2.0 branch 2 times, most recently from 3ee5231 to 6f6123e Compare June 19, 2026 22:39
Comment thread obs-gitlab-runner/src/logging.rs
Comment thread obo-tests/src/lib.rs
Comment thread obs-gitlab-runner/Cargo.toml Outdated
Comment thread Cargo.toml Outdated
Comment thread smoketest.sh Outdated
@refi64 refi64 force-pushed the wip/refi64/prep-0.2.0 branch from 6f6123e to 47aae60 Compare June 22, 2026 16:52
Comment thread obs-gitlab-runner/src/handler.rs Outdated
refi64 added 4 commits June 23, 2026 14:59
Otherwise, generated pipelines might end up with bad `artifacts` items
without it being caught during testing.
This contains fixes for logs being blank in some GitLab versions:

collabora/gitlab-runner-rs#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:

collabora/gitlab-runner-rs#126

Fixes #119.
This contains a fix for infinite looping when downloading the logs when
reqwest uses HTTP/2:

collabora/open-build-service-rs#64
This makes it easier to bump the version for the CLI + runner and
reduces duplication.
sjoerdsimons and others added 2 commits June 24, 2026 09:35
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
@sjoerdsimons sjoerdsimons force-pushed the wip/refi64/prep-0.2.0 branch from f83eafe to 0a548d6 Compare June 24, 2026 07:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares the 0.2.0 release by upgrading runner-related dependencies for compatibility with newer GitLab versions and by tightening test infrastructure to better catch log/artifact regressions.

Changes:

  • Upgrade dependencies (gitlab-runner/gitlab-runner-mock to 0.3.2, open-build-service-api to 0.1.1) and align crate metadata via [workspace.package].
  • Fix/regression-hardening in logging forwarding (GitLabForwarder) and expand tests to validate artifact path lists via a new RunBuilder::saves(...) hook.
  • Bump Helm chart/app versions toward 0.2.0 and adjust image tag behavior to default to chart appVersion.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
obs-gitlab-runner/src/logging.rs Adjusts event forwarding order to preserve Filtered state and bypass filters for special output events.
obs-gitlab-runner/src/handler.rs Updates GitLab-runner-backed tests to track saved artifact patterns and improves logging filter configuration in tests.
obs-gitlab-runner/chart/values.yaml Stops hardcoding the image tag (defaults to chart appVersion).
obs-gitlab-runner/chart/Chart.yaml Bumps chart version and appVersion for the 0.2.0 release.
obs-gitlab-runner/Cargo.toml Moves package metadata to workspace and bumps gitlab-runner deps to 0.3.2.
obo-tests/src/lib.rs Adds should_enable_trace_logging() and introduces RunBuilder::saves(...) so tests can validate artifact path lists.
obo-tests/Cargo.toml Uses workspace edition/license metadata.
obo-test-support/Cargo.toml Uses workspace edition/license metadata.
obo-core/Cargo.toml Uses workspace edition/license metadata.
obo-cli/tests/test_cli.rs Implements saves(...) no-op for CLI tests and adds opt-in trace logging env configuration.
obo-cli/Cargo.toml Moves package metadata to workspace.
Cargo.toml Introduces [workspace.package] and bumps open-build-service-api to 0.1.1.
Cargo.lock Updates lockfile for dependency/version bumps.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread obs-gitlab-runner/src/logging.rs
@sjoerdsimons sjoerdsimons added this pull request to the merge queue Jun 24, 2026
Merged via the queue into main with commit cbe5029 Jun 24, 2026
18 checks passed
@sjoerdsimons sjoerdsimons deleted the wip/refi64/prep-0.2.0 branch June 24, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants