[ 
https://issues.apache.org/jira/browse/THRIFT-5940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmytro Shteflyuk reassigned THRIFT-5940:
----------------------------------------

    Assignee: Dmytro Shteflyuk

> Ruby generator should emit RuboCop-compliant code and SCA should lint 
> generated Ruby
> ------------------------------------------------------------------------------------
>
>                 Key: THRIFT-5940
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5940
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Ruby - Compiler
>            Reporter: Dmytro Shteflyuk
>            Assignee: Dmytro Shteflyuk
>            Priority: Major
>
> h3. Problem
> The Ruby SCA workflow currently runs RuboCop without regenerating Ruby output 
> first, so CI does not reliably lint freshly generated {code}gen-rb{code} 
> files.
> As a result, changes in the Ruby generator can introduce RuboCop violations 
> without the RuboCop job in {code}.github/workflows/sca.yml{code} catching 
> them.
> h3. Reproduction
> # Rebuild {code}compiler/cpp{code}
> # Regenerate Ruby output for {code}test/rb{code}, {code}tutorial/rb{code}, 
> and {code}lib/rb{code}
> # Run RuboCop with the repository configuration
> After regeneration, RuboCop inspected more files and reported offenses in 
> generated Ruby output.
> h3. Actual Result
> Generated Ruby code can violate the current RuboCop rules, and the existing 
> SCA workflow does not always catch that because it does not first regenerate 
> the Ruby artifacts that should be linted.
> Observed generator issues included:
> * extra blank lines around top-level generated blocks
> * {code}message=nil{code} instead of {code}message = nil{code}
> * trailing whitespace in generated service inheritance lines
> * enum constant rendering with incorrect indentation
> * blank RDoc lines emitted as {code}# {code} instead of {code}#{code}
> h3. Expected Result
> Generated Ruby code should be RuboCop-compliant as emitted by the generator 
> itself, and the SCA workflow should lint freshly generated Ruby output rather 
> than stale checked-in artifacts alone.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to