schema: Generate Go and Typescript from Thema coremodels (#49193)
* Add go code generator for coremodels * Just generate the entire coremodel for now Maybe we'll need more flexibility as more coremodels are added, but for now this is fine. * Add note on type comment about stability, grodkit * Remove local replace directive for thema * Generate typescript from coremodel * Update pkg/coremodel/dashboard/addenda.go Co-authored-by: Ryan McKinley <ryantxu@gmail.com> * Update cuetsy to new release * Update thema to latest * Fix enum generation for FieldColorModeId * Put main generated object at the end of the file * Tweaks to generated Go output * Retweak back to var * Add generated coremodel test * Remove local replace statement again * Add Make target and call into cuetsy cmd from gen * Rename and comment linsrc for readability * Move key codegen bits into reusable package * Move body of cuetsifier into codegen pkg Also genericize the diffing output into reusable WriteDiffer. * Refactor coremodel generator to use WriteDiffer * Add gen-cue step to CI * Whip all the codegen automation into shape * Add simplistic coremodel canonicality controls * Remove erroneously committed test * Bump thema version * Remove dead code * Improve wording of non-canonicality comment Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
This commit is contained in:
co-authored by
Ryan McKinley
parent
a641949a05
commit
be06d37a20
@@ -1167,6 +1167,16 @@ def ensure_cuetsified_step():
|
||||
],
|
||||
}
|
||||
|
||||
def verify_gen_cue_step():
|
||||
return {
|
||||
'name': 'verify-gen-cue',
|
||||
'image': build_image,
|
||||
'commands': [
|
||||
'# It is required that code generated from Thema/CUE be committed and in sync with its inputs.',
|
||||
'# The following command will fail if running code generators produces any diff in output.',
|
||||
'CODEGEN_VERIFY=1 make gen-cue',
|
||||
],
|
||||
}
|
||||
|
||||
def end_to_end_tests_deps(edition):
|
||||
if disable_tests:
|
||||
|
||||
Reference in New Issue
Block a user