Skip to content

Refactor pipeline engine#6073

Merged
6543 merged 31 commits into
woodpecker-ci:mainfrom
6543-forks:refatcor-pipeline-engine
Feb 13, 2026
Merged

Refactor pipeline engine#6073
6543 merged 31 commits into
woodpecker-ci:mainfrom
6543-forks:refatcor-pipeline-engine

Conversation

@6543

@6543 6543 commented Feb 6, 2026

Copy link
Copy Markdown
Member

restructure pipeline/*.go to use submodules

  • pipeline/error.go -> pipeline/errors/...
  • pipeline/pipeline.go#Runtime -> pipeline/runtime/runtime.go
  • pipeline/pipeline.go#execAll -> pipeline/runtime/executor.go
  • pipeline/shutdown.go -> pipeline/runtime/shutdown.go
  • pipeline/logger.go ->pipeline/logging
  • pipeline/tracer.go -> pipeline/tracing
  • pipeline/pipeline.go#State -> state/state.go

Originally posted by @6543 in #6039 (comment)

@6543 6543 added refactor delete or replace old code engine change how the pipeline engine works labels Feb 6, 2026
@anbraten

anbraten commented Feb 6, 2026

Copy link
Copy Markdown
Member

Before starting those updates we should migrate the step-builder to not loose more control #3967

@6543

6543 commented Feb 6, 2026

Copy link
Copy Markdown
Member Author

Before starting those updates we should migrate the step-builder to not loose more control #3967

sure ... this refactoring will also help the step builder to move into the right places ...

@anbraten after #6056 was merged I will look into moving the bussines logic out of server/queue into server/scheduler ... and have a simple queue interface that supports locking

that way we can get the server more and more cluster ready without needing a master/slave selection etc

@6543 6543 marked this pull request as ready for review February 6, 2026 12:15
@6543 6543 changed the title Refatcor pipeline engine [Blocked] Refatcor pipeline engine Feb 6, 2026
@qwerty287 qwerty287 changed the title [Blocked] Refatcor pipeline engine [Blocked] Refactor pipeline engine Feb 6, 2026
@qwerty287 qwerty287 added the blocked something external is blocking it label Feb 6, 2026
@codecov

codecov Bot commented Feb 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 33.33333% with 62 lines in your changes missing coverage. Please review.
✅ Project coverage is 31.65%. Comparing base (2ca6f58) to head (b314df1).
⚠️ Report is 8 commits behind head on main.

Files with missing lines Patch % Lines
pipeline/runtime/runtime.go 0.00% 16 Missing ⚠️
agent/runner.go 0.00% 11 Missing ⚠️
pipeline/runtime/executor.go 0.00% 9 Missing ⚠️
pipeline/errors/linter.go 75.00% 8 Missing ⚠️
cli/exec/exec.go 0.00% 7 Missing ⚠️
agent/tracer.go 0.00% 3 Missing ⚠️
pipeline/frontend/yaml/matrix/matrix.go 0.00% 2 Missing ⚠️
pipeline/runtime/option.go 0.00% 2 Missing ⚠️
pipeline/tracing/tracer.go 0.00% 2 Missing ⚠️
agent/logger.go 0.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6073      +/-   ##
==========================================
- Coverage   31.66%   31.65%   -0.01%     
==========================================
  Files         420      421       +1     
  Lines       28413    28430      +17     
==========================================
+ Hits         8996     8999       +3     
- Misses      18596    18609      +13     
- Partials      821      822       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread pipeline/errors/linter_test.go Outdated
Comment thread pipeline/errors/runtime.go Outdated
Comment thread pipeline/errors/linter.go Outdated
Comment thread pipeline/errors/linter_test.go Outdated
Comment thread pipeline/errors/pipeline.go Outdated
Comment thread pipeline/errors/runtime.go Outdated
Comment thread pipeline/runtime/executor.go Outdated
Comment thread pipeline/runtime/runtime.go Outdated
Comment thread pipeline/state/state.go Outdated
Comment thread pipeline/errors/runtime.go Outdated
@6543

6543 commented Feb 13, 2026

Copy link
Copy Markdown
Member Author

I first created the new files with copiright headers and then moved single func/types over to it manually.

git after the fact marked some files as renamed and thats how copiright got marked as changed.

i now use the year of tje sourcefile where the func/type is comming from

@6543 6543 requested a review from qwerty287 February 13, 2026 00:19

@qwerty287 qwerty287 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm, untested from me

@6543

6543 commented Feb 13, 2026

Copy link
Copy Markdown
Member Author

no real functunal change just moves code around ;)

@6543

6543 commented Feb 13, 2026

Copy link
Copy Markdown
Member Author

functional change will be in a followup

@6543 6543 enabled auto-merge (squash) February 13, 2026 10:51
@6543 6543 merged commit a63b93f into woodpecker-ci:main Feb 13, 2026
7 of 8 checks passed
@woodpecker-bot woodpecker-bot mentioned this pull request Feb 13, 2026
1 task
@6543 6543 deleted the refatcor-pipeline-engine branch February 13, 2026 11:45
@woodpecker-bot woodpecker-bot mentioned this pull request Apr 1, 2026
1 task
@woodpecker-bot woodpecker-bot mentioned this pull request Apr 15, 2026
1 task
@woodpecker-bot woodpecker-bot mentioned this pull request Apr 27, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine change how the pipeline engine works refactor delete or replace old code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants