Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No Pipeline Block #3

Draft
wants to merge 41 commits into
base: main
Choose a base branch
from
Draft

No Pipeline Block #3

wants to merge 41 commits into from

Conversation

gastrodon
Copy link
Owner

The single-pipeline branch refactors the language to remove the pipeline block, instead composing all of the mover descriptions into a single pipeline. Mover descriptions can be at the root level ( which can be excluded with -no-root ), or in a group "name" block ( which be included with the -group <name> ).

The parse ( renamed from configure ) has been refactored along with this. A File interface impl exists for single files and groups of files, which provides a way to parse groups. Groups can be monified into a single pipeline

Split parsing code into more specific files

Get rid of unused code

Get rid of defaultCtx, just use an empty one insteads
Pass library.Ctx to pipeline parsing so that we can use the functions
that return mover descriptions

SpecMap replaced with a []*Spec, specs are now only named by themselves
Since we get the mover options as cty values that are already decoded,
the hcl body decoding was pretty redundant. In the future, we'll no
longer make a parser, we'll just decode with regular `cty:` tags

Building pipelines no longer need an evalctx. The one responsible for
meta-producers needs the library context
Drop support for `psy:` struct tags, no longer use the fork providing
FromCtyValueTagged
Remove pipeline blocks from the spec, replacing it with implicit
decleration - that is, all of the movers of a particular group of files
are implied to be of the same, single pipeline.
Since the functions kinda morphed into the same thing
Pipelines now live in `group {}` blocks. IDK if this is better than the
`pipeline {}` blocks we started with, but I think so?

When we want to build an executable pipeline, we monify the group. Still
need to make the groups filterable with the cli
Move some more specific code for transforming pipeline and file groups
into main

Split out code that parses values + pipelines into full, final name TBD

Move MonifyGroup into main
Create a file type in parse that has all the parsing stuff for files
attached to it. Move the file group parsing stuff to its own type that
implements file
The "root group" is inserted at the front of the groups list
@codecov-commenter
Copy link

codecov-commenter commented Oct 9, 2024

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 31.04575% with 211 lines in your changes missing coverage. Please review.

Project coverage is 44.10%. Comparing base (e210106) to head (f2025f1).
Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
main.go 0.00% 72 Missing ⚠️
parse/file.go 26.00% 35 Missing and 2 partials ⚠️
core/library.go 24.39% 29 Missing and 2 partials ⚠️
parse/pipeline.go 57.97% 25 Missing and 4 partials ⚠️
core/build.go 0.00% 15 Missing ⚠️
parse/plugin.go 31.81% 13 Missing and 2 partials ⚠️
stdlib/plugin.go 72.72% 5 Missing and 1 partial ⚠️
parse/values.go 69.23% 3 Missing and 1 partial ⚠️
stdlib/produce/increment.go 0.00% 1 Missing ⚠️
stdlib/transform/wait.go 0.00% 1 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@             Coverage Diff             @@
##             main       #3       +/-   ##
===========================================
+ Coverage   33.95%   44.10%   +10.14%     
===========================================
  Files          23       19        -4     
  Lines        1013      959       -54     
===========================================
+ Hits          344      423       +79     
+ Misses        617      503      -114     
+ Partials       52       33       -19     

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

@gastrodon gastrodon mentioned this pull request Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants