From 1a87ab720e0917944e62ac7eacfa4bee6396bc2a Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Thu, 13 Mar 2025 19:08:14 +0000 Subject: [PATCH 01/17] ci: update of gitattributes file --- .editorconfig | 539 ++----------------------------- .gitattributes | 178 ++++++++-- .github/auto-labeler-config.yaml | 23 ++ 3 files changed, 197 insertions(+), 543 deletions(-) create mode 100644 .github/auto-labeler-config.yaml diff --git a/.editorconfig b/.editorconfig index d35f3c5..a57bbdc 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,534 +2,33 @@ root = true [*] charset = utf-8 -end_of_line = crlf -indent_size = 2 indent_style = space insert_final_newline = true -max_line_length = 200 -tab_width = 2 trim_trailing_whitespace = true -ij_continuation_indent_size = 2 -ij_formatter_off_tag = @formatter:off -ij_formatter_on_tag = @formatter:on -ij_formatter_tags_enabled = false -ij_smart_tabs = false -ij_visual_guides = none -ij_wrap_on_typing = false - -[*.css] -ij_css_align_closing_brace_with_properties = false -ij_css_blank_lines_around_nested_selector = 1 -ij_css_blank_lines_between_blocks = 1 -ij_css_block_comment_add_space = false -ij_css_brace_placement = end_of_line -ij_css_enforce_quotes_on_format = false -ij_css_hex_color_long_format = false -ij_css_hex_color_lower_case = false -ij_css_hex_color_short_format = false -ij_css_hex_color_upper_case = false -ij_css_keep_blank_lines_in_code = 2 -ij_css_keep_indents_on_empty_lines = false -ij_css_keep_single_line_blocks = false -ij_css_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow -ij_css_space_after_colon = true -ij_css_space_before_opening_brace = true -ij_css_use_double_quotes = true -ij_css_value_alignment = do_not_align - -[*.less] -indent_size = 2 -ij_less_align_closing_brace_with_properties = false -ij_less_blank_lines_around_nested_selector = 1 -ij_less_blank_lines_between_blocks = 1 -ij_less_block_comment_add_space = false -ij_less_brace_placement = 0 -ij_less_enforce_quotes_on_format = false -ij_less_hex_color_long_format = false -ij_less_hex_color_lower_case = false -ij_less_hex_color_short_format = false -ij_less_hex_color_upper_case = false -ij_less_keep_blank_lines_in_code = 2 -ij_less_keep_indents_on_empty_lines = false -ij_less_keep_single_line_blocks = false -ij_less_line_comment_add_space = false -ij_less_line_comment_at_first_column = false -ij_less_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow -ij_less_space_after_colon = true -ij_less_space_before_opening_brace = true -ij_less_use_double_quotes = true -ij_less_value_alignment = 0 -[*.sass] -indent_size = 2 -ij_sass_align_closing_brace_with_properties = false -ij_sass_blank_lines_around_nested_selector = 1 -ij_sass_blank_lines_between_blocks = 1 -ij_sass_brace_placement = 0 -ij_sass_enforce_quotes_on_format = false -ij_sass_hex_color_long_format = false -ij_sass_hex_color_lower_case = false -ij_sass_hex_color_short_format = false -ij_sass_hex_color_upper_case = false -ij_sass_keep_blank_lines_in_code = 2 -ij_sass_keep_indents_on_empty_lines = false -ij_sass_keep_single_line_blocks = false -ij_sass_line_comment_add_space = false -ij_sass_line_comment_at_first_column = false -ij_sass_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow -ij_sass_space_after_colon = true -ij_sass_space_before_opening_brace = true -ij_sass_use_double_quotes = true -ij_sass_value_alignment = 0 +[*.sh] +end_of_line = lf -[.editorconfig] -ij_editorconfig_align_group_field_declarations = false -ij_editorconfig_space_after_colon = false -ij_editorconfig_space_after_comma = true -ij_editorconfig_space_before_colon = false -ij_editorconfig_space_before_comma = false -ij_editorconfig_spaces_around_assignment_operators = true - -[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.pom,*.rng,*.tld,*.wadl,*.wsdd,*.wsdl,*.xjb,*.xml,*.xsd,*.xsl,*.xslt,*.xul}] -indent_size = 2 -tab_width = 2 -ij_continuation_indent_size = 2 -ij_xml_align_attributes = false -ij_xml_align_text = false -ij_xml_attribute_wrap = normal -ij_xml_block_comment_add_space = false -ij_xml_block_comment_at_first_column = true -ij_xml_keep_blank_lines = 2 -ij_xml_keep_indents_on_empty_lines = false -ij_xml_keep_line_breaks = true -ij_xml_keep_line_breaks_in_text = true -ij_xml_keep_whitespaces = false -ij_xml_keep_whitespaces_around_cdata = new_lines -ij_xml_keep_whitespaces_inside_cdata = false -ij_xml_line_comment_at_first_column = true -ij_xml_space_after_tag_name = false -ij_xml_space_around_equals_in_attribute = false -ij_xml_space_inside_empty_tag = false -ij_xml_text_wrap = normal - -[{*.ats,*.cts,*.mts,*.ts,*.tsx}] -indent_size = 2 -tab_width = 2 -ij_continuation_indent_size = 2 -ij_typescript_align_imports = false -ij_typescript_align_multiline_array_initializer_expression = false -ij_typescript_align_multiline_binary_operation = false -ij_typescript_align_multiline_chained_methods = false -ij_typescript_align_multiline_extends_list = false -ij_typescript_align_multiline_for = true -ij_typescript_align_multiline_parameters = true -ij_typescript_align_multiline_parameters_in_calls = false -ij_typescript_align_multiline_ternary_operation = false -ij_typescript_align_object_properties = 0 -ij_typescript_align_union_types = false -ij_typescript_align_var_statements = 0 -ij_typescript_array_initializer_new_line_after_left_brace = false -ij_typescript_array_initializer_right_brace_on_new_line = false -ij_typescript_array_initializer_wrap = off -ij_typescript_assignment_wrap = off -ij_typescript_binary_operation_sign_on_next_line = false -ij_typescript_binary_operation_wrap = off -ij_typescript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/** -ij_typescript_blank_lines_after_imports = 1 -ij_typescript_blank_lines_around_class = 1 -ij_typescript_blank_lines_around_field = 0 -ij_typescript_blank_lines_around_field_in_interface = 0 -ij_typescript_blank_lines_around_function = 1 -ij_typescript_blank_lines_around_method = 1 -ij_typescript_blank_lines_around_method_in_interface = 1 -ij_typescript_block_brace_style = end_of_line -ij_typescript_block_comment_add_space = false -ij_typescript_block_comment_at_first_column = true -ij_typescript_call_parameters_new_line_after_left_paren = false -ij_typescript_call_parameters_right_paren_on_new_line = false -ij_typescript_call_parameters_wrap = off -ij_typescript_catch_on_new_line = false -ij_typescript_chained_call_dot_on_new_line = true -ij_typescript_class_brace_style = end_of_line -ij_typescript_comma_on_new_line = false -ij_typescript_do_while_brace_force = always -ij_typescript_else_on_new_line = false -ij_typescript_enforce_trailing_comma = whenmultiline -ij_typescript_enum_constants_wrap = on_every_item -ij_typescript_extends_keyword_wrap = off -ij_typescript_extends_list_wrap = off -ij_typescript_field_prefix = _ -ij_typescript_file_name_style = relaxed -ij_typescript_finally_on_new_line = false -ij_typescript_for_brace_force = always -ij_typescript_for_statement_new_line_after_left_paren = false -ij_typescript_for_statement_right_paren_on_new_line = false -ij_typescript_for_statement_wrap = off -ij_typescript_force_quote_style = true -ij_typescript_force_semicolon_style = true -ij_typescript_function_expression_brace_style = end_of_line -ij_typescript_if_brace_force = always -ij_typescript_import_merge_members = global -ij_typescript_import_prefer_absolute_path = global -ij_typescript_import_sort_members = true -ij_typescript_import_sort_module_name = false -ij_typescript_import_use_node_resolution = true -ij_typescript_imports_wrap = on_every_item -ij_typescript_indent_case_from_switch = true -ij_typescript_indent_chained_calls = true -ij_typescript_indent_package_children = 0 -ij_typescript_jsdoc_include_types = false -ij_typescript_jsx_attribute_value = braces -ij_typescript_keep_blank_lines_in_code = 1 -ij_typescript_keep_first_column_comment = true -ij_typescript_keep_indents_on_empty_lines = false -ij_typescript_keep_line_breaks = true -ij_typescript_keep_simple_blocks_in_one_line = true -ij_typescript_keep_simple_methods_in_one_line = true -ij_typescript_line_comment_add_space = true -ij_typescript_line_comment_at_first_column = false -ij_typescript_method_brace_style = end_of_line -ij_typescript_method_call_chain_wrap = off -ij_typescript_method_parameters_new_line_after_left_paren = false -ij_typescript_method_parameters_right_paren_on_new_line = false -ij_typescript_method_parameters_wrap = off -ij_typescript_object_literal_wrap = on_every_item -ij_typescript_parentheses_expression_new_line_after_left_paren = false -ij_typescript_parentheses_expression_right_paren_on_new_line = false -ij_typescript_place_assignment_sign_on_next_line = false -ij_typescript_prefer_as_type_cast = false -ij_typescript_prefer_explicit_types_function_expression_returns = false -ij_typescript_prefer_explicit_types_function_returns = false -ij_typescript_prefer_explicit_types_vars_fields = false -ij_typescript_prefer_parameters_wrap = false -ij_typescript_reformat_c_style_comments = false -ij_typescript_space_after_colon = true -ij_typescript_space_after_comma = true -ij_typescript_space_after_dots_in_rest_parameter = false -ij_typescript_space_after_generator_mult = true -ij_typescript_space_after_property_colon = true -ij_typescript_space_after_quest = true -ij_typescript_space_after_type_colon = true -ij_typescript_space_after_unary_not = false -ij_typescript_space_before_async_arrow_lparen = true -ij_typescript_space_before_catch_keyword = true -ij_typescript_space_before_catch_left_brace = true -ij_typescript_space_before_catch_parentheses = true -ij_typescript_space_before_class_lbrace = true -ij_typescript_space_before_class_left_brace = true -ij_typescript_space_before_colon = true -ij_typescript_space_before_comma = false -ij_typescript_space_before_do_left_brace = true -ij_typescript_space_before_else_keyword = true -ij_typescript_space_before_else_left_brace = true -ij_typescript_space_before_finally_keyword = true -ij_typescript_space_before_finally_left_brace = true -ij_typescript_space_before_for_left_brace = true -ij_typescript_space_before_for_parentheses = true -ij_typescript_space_before_for_semicolon = false -ij_typescript_space_before_function_left_parenth = true -ij_typescript_space_before_generator_mult = false -ij_typescript_space_before_if_left_brace = true -ij_typescript_space_before_if_parentheses = true -ij_typescript_space_before_method_call_parentheses = false -ij_typescript_space_before_method_left_brace = true -ij_typescript_space_before_method_parentheses = false -ij_typescript_space_before_property_colon = false -ij_typescript_space_before_quest = true -ij_typescript_space_before_switch_left_brace = true -ij_typescript_space_before_switch_parentheses = true -ij_typescript_space_before_try_left_brace = true -ij_typescript_space_before_type_colon = false -ij_typescript_space_before_unary_not = false -ij_typescript_space_before_while_keyword = true -ij_typescript_space_before_while_left_brace = true -ij_typescript_space_before_while_parentheses = true -ij_typescript_spaces_around_additive_operators = true -ij_typescript_spaces_around_arrow_function_operator = true -ij_typescript_spaces_around_assignment_operators = true -ij_typescript_spaces_around_bitwise_operators = true -ij_typescript_spaces_around_equality_operators = true -ij_typescript_spaces_around_logical_operators = true -ij_typescript_spaces_around_multiplicative_operators = true -ij_typescript_spaces_around_relational_operators = true -ij_typescript_spaces_around_shift_operators = true -ij_typescript_spaces_around_unary_operator = false -ij_typescript_spaces_within_array_initializer_brackets = false -ij_typescript_spaces_within_brackets = false -ij_typescript_spaces_within_catch_parentheses = false -ij_typescript_spaces_within_for_parentheses = false -ij_typescript_spaces_within_if_parentheses = false -ij_typescript_spaces_within_imports = true -ij_typescript_spaces_within_interpolation_expressions = false -ij_typescript_spaces_within_method_call_parentheses = false -ij_typescript_spaces_within_method_parentheses = false -ij_typescript_spaces_within_object_literal_braces = false -ij_typescript_spaces_within_object_type_braces = false -ij_typescript_spaces_within_parentheses = false -ij_typescript_spaces_within_switch_parentheses = false -ij_typescript_spaces_within_type_assertion = false -ij_typescript_spaces_within_union_types = true -ij_typescript_spaces_within_while_parentheses = false -ij_typescript_special_else_if_treatment = true -ij_typescript_ternary_operation_signs_on_next_line = false -ij_typescript_ternary_operation_wrap = off -ij_typescript_union_types_wrap = on_every_item -ij_typescript_use_chained_calls_group_indents = false -ij_typescript_use_double_quotes = false -ij_typescript_use_explicit_js_extension = auto -ij_typescript_use_path_mapping = always -ij_typescript_use_public_modifier = false -ij_typescript_use_semicolon_after_statement = false -ij_typescript_var_declaration_wrap = normal -ij_typescript_while_brace_force = always -ij_typescript_while_on_new_line = false -ij_typescript_wrap_comments = false +[{*.bat,*.cmd}] +end_of_line = crlf -[{*.bash,*.sh,*.zsh}] -indent_size = 2 -tab_width = 2 -ij_shell_binary_ops_start_line = false -ij_shell_keep_column_alignment_padding = false -ij_shell_minify_program = false -ij_shell_redirect_followed_by_space = false -ij_shell_switch_cases_indented = false -ij_shell_use_unix_line_separator = true +[*.md] +# Trailing whitespace is important in Markdown (they distinguish a new line from a new paragraph) +eclint_indent_style = unset +trim_trailing_whitespace = false -[{*.cjs,*.js,*.jsx}] -indent_size = 2 -tab_width = 2 -ij_continuation_indent_size = 2 -ij_javascript_align_imports = false -ij_javascript_align_multiline_array_initializer_expression = false -ij_javascript_align_multiline_binary_operation = false -ij_javascript_align_multiline_chained_methods = false -ij_javascript_align_multiline_extends_list = false -ij_javascript_align_multiline_for = true -ij_javascript_align_multiline_parameters = true -ij_javascript_align_multiline_parameters_in_calls = false -ij_javascript_align_multiline_ternary_operation = false -ij_javascript_align_object_properties = 0 -ij_javascript_align_union_types = false -ij_javascript_align_var_statements = 0 -ij_javascript_array_initializer_new_line_after_left_brace = false -ij_javascript_array_initializer_right_brace_on_new_line = false -ij_javascript_array_initializer_wrap = off -ij_javascript_assignment_wrap = off -ij_javascript_binary_operation_sign_on_next_line = false -ij_javascript_binary_operation_wrap = off -ij_javascript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/** -ij_javascript_blank_lines_after_imports = 1 -ij_javascript_blank_lines_around_class = 1 -ij_javascript_blank_lines_around_field = 0 -ij_javascript_blank_lines_around_function = 1 -ij_javascript_blank_lines_around_method = 1 -ij_javascript_block_brace_style = end_of_line -ij_javascript_block_comment_add_space = false -ij_javascript_block_comment_at_first_column = true -ij_javascript_call_parameters_new_line_after_left_paren = false -ij_javascript_call_parameters_right_paren_on_new_line = false -ij_javascript_call_parameters_wrap = off -ij_javascript_catch_on_new_line = false -ij_javascript_chained_call_dot_on_new_line = true -ij_javascript_class_brace_style = end_of_line -ij_javascript_comma_on_new_line = false -ij_javascript_do_while_brace_force = always -ij_javascript_else_on_new_line = false -ij_javascript_enforce_trailing_comma = whenmultiline -ij_javascript_extends_keyword_wrap = off -ij_javascript_extends_list_wrap = off -ij_javascript_field_prefix = _ -ij_javascript_file_name_style = relaxed -ij_javascript_finally_on_new_line = false -ij_javascript_for_brace_force = always -ij_javascript_for_statement_new_line_after_left_paren = false -ij_javascript_for_statement_right_paren_on_new_line = false -ij_javascript_for_statement_wrap = off -ij_javascript_force_quote_style = true -ij_javascript_force_semicolon_style = true -ij_javascript_function_expression_brace_style = end_of_line -ij_javascript_if_brace_force = always -ij_javascript_import_merge_members = global -ij_javascript_import_prefer_absolute_path = global -ij_javascript_import_sort_members = true -ij_javascript_import_sort_module_name = false -ij_javascript_import_use_node_resolution = true -ij_javascript_imports_wrap = on_every_item -ij_javascript_indent_case_from_switch = true -ij_javascript_indent_chained_calls = true -ij_javascript_indent_package_children = 0 -ij_javascript_jsx_attribute_value = braces -ij_javascript_keep_blank_lines_in_code = 1 -ij_javascript_keep_first_column_comment = true -ij_javascript_keep_indents_on_empty_lines = false -ij_javascript_keep_line_breaks = true -ij_javascript_keep_simple_blocks_in_one_line = true -ij_javascript_keep_simple_methods_in_one_line = true -ij_javascript_line_comment_add_space = true -ij_javascript_line_comment_at_first_column = false -ij_javascript_method_brace_style = end_of_line -ij_javascript_method_call_chain_wrap = off -ij_javascript_method_parameters_new_line_after_left_paren = false -ij_javascript_method_parameters_right_paren_on_new_line = false -ij_javascript_method_parameters_wrap = off -ij_javascript_object_literal_wrap = on_every_item -ij_javascript_parentheses_expression_new_line_after_left_paren = false -ij_javascript_parentheses_expression_right_paren_on_new_line = false -ij_javascript_place_assignment_sign_on_next_line = false -ij_javascript_prefer_as_type_cast = false -ij_javascript_prefer_explicit_types_function_expression_returns = false -ij_javascript_prefer_explicit_types_function_returns = false -ij_javascript_prefer_explicit_types_vars_fields = false -ij_javascript_prefer_parameters_wrap = false -ij_javascript_reformat_c_style_comments = false -ij_javascript_space_after_colon = true -ij_javascript_space_after_comma = true -ij_javascript_space_after_dots_in_rest_parameter = false -ij_javascript_space_after_generator_mult = true -ij_javascript_space_after_property_colon = true -ij_javascript_space_after_quest = true -ij_javascript_space_after_type_colon = true -ij_javascript_space_after_unary_not = false -ij_javascript_space_before_async_arrow_lparen = true -ij_javascript_space_before_catch_keyword = true -ij_javascript_space_before_catch_left_brace = true -ij_javascript_space_before_catch_parentheses = true -ij_javascript_space_before_class_lbrace = true -ij_javascript_space_before_class_left_brace = true -ij_javascript_space_before_colon = true -ij_javascript_space_before_comma = false -ij_javascript_space_before_do_left_brace = true -ij_javascript_space_before_else_keyword = true -ij_javascript_space_before_else_left_brace = true -ij_javascript_space_before_finally_keyword = true -ij_javascript_space_before_finally_left_brace = true -ij_javascript_space_before_for_left_brace = true -ij_javascript_space_before_for_parentheses = true -ij_javascript_space_before_for_semicolon = false -ij_javascript_space_before_function_left_parenth = true -ij_javascript_space_before_generator_mult = false -ij_javascript_space_before_if_left_brace = true -ij_javascript_space_before_if_parentheses = true -ij_javascript_space_before_method_call_parentheses = false -ij_javascript_space_before_method_left_brace = true -ij_javascript_space_before_method_parentheses = false -ij_javascript_space_before_property_colon = false -ij_javascript_space_before_quest = true -ij_javascript_space_before_switch_left_brace = true -ij_javascript_space_before_switch_parentheses = true -ij_javascript_space_before_try_left_brace = true -ij_javascript_space_before_type_colon = false -ij_javascript_space_before_unary_not = false -ij_javascript_space_before_while_keyword = true -ij_javascript_space_before_while_left_brace = true -ij_javascript_space_before_while_parentheses = true -ij_javascript_spaces_around_additive_operators = true -ij_javascript_spaces_around_arrow_function_operator = true -ij_javascript_spaces_around_assignment_operators = true -ij_javascript_spaces_around_bitwise_operators = true -ij_javascript_spaces_around_equality_operators = true -ij_javascript_spaces_around_logical_operators = true -ij_javascript_spaces_around_multiplicative_operators = true -ij_javascript_spaces_around_relational_operators = true -ij_javascript_spaces_around_shift_operators = true -ij_javascript_spaces_around_unary_operator = false -ij_javascript_spaces_within_array_initializer_brackets = false -ij_javascript_spaces_within_brackets = false -ij_javascript_spaces_within_catch_parentheses = false -ij_javascript_spaces_within_for_parentheses = false -ij_javascript_spaces_within_if_parentheses = false -ij_javascript_spaces_within_imports = true -ij_javascript_spaces_within_interpolation_expressions = false -ij_javascript_spaces_within_method_call_parentheses = false -ij_javascript_spaces_within_method_parentheses = false -ij_javascript_spaces_within_object_literal_braces = false -ij_javascript_spaces_within_object_type_braces = false -ij_javascript_spaces_within_parentheses = false -ij_javascript_spaces_within_switch_parentheses = false -ij_javascript_spaces_within_type_assertion = false -ij_javascript_spaces_within_union_types = true -ij_javascript_spaces_within_while_parentheses = false -ij_javascript_special_else_if_treatment = true -ij_javascript_ternary_operation_signs_on_next_line = false -ij_javascript_ternary_operation_wrap = off -ij_javascript_union_types_wrap = on_every_item -ij_javascript_use_chained_calls_group_indents = false -ij_javascript_use_double_quotes = false -ij_javascript_use_explicit_js_extension = auto -ij_javascript_use_path_mapping = always -ij_javascript_use_public_modifier = false -ij_javascript_use_semicolon_after_statement = false -ij_javascript_var_declaration_wrap = normal -ij_javascript_while_brace_force = always -ij_javascript_while_on_new_line = false -ij_javascript_wrap_comments = false +[*.json] +insert_final_newline = false -[{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.stylelintrc,bowerrc,jest.config}] -indent_size = 2 -ij_json_keep_blank_lines_in_code = 1 -ij_json_keep_indents_on_empty_lines = false -ij_json_keep_line_breaks = true -ij_json_space_after_colon = true -ij_json_space_after_comma = false -ij_json_space_before_colon = false -ij_json_space_before_comma = false -ij_json_spaces_within_braces = false -ij_json_spaces_within_brackets = false -ij_json_wrap_long_lines = false +[{go.mod,go.sum,*.go,.gitmodules}] +indent_size = 4 +indent_style = tab -[{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}] -indent_size = 2 -tab_width = 2 -ij_continuation_indent_size = 2 -ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3 -ij_html_align_attributes = true -ij_html_align_text = false -ij_html_attribute_wrap = normal -ij_html_block_comment_add_space = false -ij_html_block_comment_at_first_column = true -ij_html_do_not_align_children_of_min_lines = 0 -ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p -ij_html_do_not_indent_children_of_tags = none -ij_html_enforce_quotes = false -ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var -ij_html_keep_blank_lines = 2 -ij_html_keep_indents_on_empty_lines = false -ij_html_keep_line_breaks = true -ij_html_keep_line_breaks_in_text = true -ij_html_keep_whitespaces = false -ij_html_keep_whitespaces_inside = span, pre, textarea -ij_html_line_comment_at_first_column = true -ij_html_new_line_after_last_attribute = never -ij_html_new_line_before_first_attribute = never -ij_html_quote_style = double -ij_html_remove_new_line_before_tags = br -ij_html_space_after_tag_name = false -ij_html_space_around_equality_in_attribute = false -ij_html_space_inside_empty_tag = false -ij_html_text_wrap = normal +[Dockerfile] +indent_size = 4 -[{*.markdown,*.md}] -ij_markdown_force_one_space_after_blockquote_symbol = true -ij_markdown_force_one_space_after_header_symbol = true -ij_markdown_force_one_space_after_list_bullet = true -ij_markdown_force_one_space_between_words = true -ij_markdown_keep_indents_on_empty_lines = false -ij_markdown_max_lines_around_block_elements = 1 -ij_markdown_max_lines_around_header = 1 -ij_markdown_max_lines_between_paragraphs = 1 -ij_markdown_min_lines_around_block_elements = 1 -ij_markdown_min_lines_around_header = 1 -ij_markdown_min_lines_between_paragraphs = 1 +[*.py] +profile = black -[{*.yaml,*.yml}] -indent_size = 2 -ij_yaml_align_values_properties = do_not_align -ij_yaml_autoinsert_sequence_marker = true -ij_yaml_block_mapping_on_new_line = false -ij_yaml_indent_sequence_value = true -ij_yaml_keep_indents_on_empty_lines = false -ij_yaml_keep_line_breaks = true -ij_yaml_sequence_on_new_line = false -ij_yaml_space_before_colon = false -ij_yaml_spaces_within_braces = true -ij_yaml_spaces_within_brackets = true +[*.sh] +indent_size = 4 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 287a8c1..6319c83 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,24 +1,156 @@ -*.js text eol=lf -*.ts text eol=lf -*.md text eol=lf -*.yaml text eol=lf -*.html text eol=lf -*.json text eol=lf +############################### +# Qubership common # +############################### +.editorconfig text +.flake8 text +.gitattributes text +.gitignore text +.helmignore text +.prettierignore text + +*.env text eol=lf +*.json text +*.md text +*.mod text +*.robot text +*.sum text +*.tpl text +*.txt text +*.yaml text +*.yml text + +LICENSE text +Dockerfile text + +/CHANGELOG.md merge=union +/contributors.json merge=union +/CODE-OF-CONDUCT.md text +/CONTRIBUTING.md text +/README.md text +/SECURITY.md text + +############################### +# Git Line Endings # +############################### + +# Set default behaviour to automatically normalize line endings. +* text=auto + + +# Force batch scripts to always use CRLF line endings so that if a repo is accessed +# in Windows via a file share from Linux, the scripts will work. +*.{cmd,[cC][mM][dD]} text eol=crlf +*.{bat,[bB][aA][tT]} text eol=crlf + +# Force bash scripts to always use LF line endings so that if a repo is accessed +# in Unix via a file share from Windows, the scripts will work. *.sh text eol=lf -*.svg text eol=lf -*.cjs text eol=lf -.browserslistrc text eol=lf -*.mp4 binary -*.png binary -*.jpg binary -*.gif binary -*.vsdx binary -*.ttf binary -*.eot binary -*.woff binary -*.woff2 binary -.gitignore text eol=lf -.npmignore text eol=lf -.gitattributes text eol=lf -LICENSE eol=lf -NOTICE eol=lf \ No newline at end of file +*.go text eol=lf + +############################### +# Git Large File System (LFS) # +############################### + +# Archives +*.7z filter=lfs diff=lfs merge=lfs -text +*.br filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text + +# Documents +*.pdf filter=lfs diff=lfs merge=lfs -text + +# Images +*.gif filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.psd filter=lfs diff=lfs merge=lfs -text +*.webp filter=lfs diff=lfs merge=lfs -text + +# Fonts +*.woff2 filter=lfs diff=lfs merge=lfs -text + +# Other +*.exe filter=lfs diff=lfs merge=lfs -text + + + +########################################## +# Basic .gitattributes for a Java repo.# +########################################## + +# Java sources +*.java text diff=java +*.kt text diff=kotlin +*.groovy text diff=java +*.scala text diff=java +*.gradle text diff=java +*.gradle.kts text diff=kotlin + +# These files are text and should be normalized (Convert crlf => lf) +*.css text diff=css +*.scss text diff=css +*.sass text +*.df text +*.htm text diff=html +*.html text diff=html +*.js text +*.mjs text +*.cjs text +*.jsp text +*.jspf text +*.jspx text +*.properties text +*.tld text +*.tag text +*.tagx text +*.xml text + +# These files are binary and should be left untouched +# (binary is a macro for -text -diff) +*.class binary +*.dll binary +*.ear binary +*.jar binary +*.so binary +*.war binary +*.jks binary + +# Common build-tool wrapper scripts ('.cmd' versions are handled by 'Common.gitattributes') +mvnw text eol=lf +gradlew text eol= + +########################################## +# Basic .gitattributes for a python repo.# +########################################## + +# Source files +# ============ +*.pxd text diff=python +*.py text diff=python +*.py3 text diff=python +*.pyw text diff=python +*.pyx text diff=python +*.pyz text diff=python +*.pyi text diff=python + +# Binary files +# ============ +*.db binary +*.p binary +*.pkl binary +*.pickle binary +*.pyc binary export-ignore +*.pyo binary export-ignore +*.pyd binary + +# Jupyter notebook +*.ipynb text eol=lf + +# Note: .db, .p, and .pkl files are associated +# with the python modules ``pickle``, ``dbm.*``, +# ``shelve``, ``marshal``, ``anydbm``, & ``bsddb`` +# (among others). \ No newline at end of file diff --git a/.github/auto-labeler-config.yaml b/.github/auto-labeler-config.yaml new file mode 100644 index 0000000..f1a64b5 --- /dev/null +++ b/.github/auto-labeler-config.yaml @@ -0,0 +1,23 @@ +--- +conventional-commits: +- type: "fix" + nouns: ["FIX", "Fix", "fix", "FIXED", "Fixed", "fixed"] + labels: ["bug"] +- type: "feature" + nouns: ["FEATURE", "Feature", "feature", "FEAT", "Feat", "feat"] + labels: ["enhancement"] +- type: "breaking_change" + nouns: ["BREAKING CHANGE", "BREAKING", "MAJOR"] + labels: ["breaking-change"] +- type: "refactor" + nouns: ["refactor", "Refactor"] + labels: ["refactor"] +- type: "documentation" + nouns: ["doc", "document", "documentation"] + labels: ["documentation"] +- type: "build" + nouns: ["build", "rebuild"] + labels: ["build"] +- type: "config" + nouns: ["config", "conf", "cofiguration", "configure"] + labels: ["config"] \ No newline at end of file From 1ed084561f02e42ca8368fbbc62bece1a08b3431 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 13:38:42 +0000 Subject: [PATCH 02/17] ci: update of superlinter config files --- .github/linters/.checkov.yaml | 22 ++++++++++++ .github/linters/.eslintrc.yml | 17 +++++++++ .github/linters/.flake8 | 2 ++ .github/linters/.golangci.yml | 2 ++ .github/linters/.jscpd.json | 9 +++++ .github/linters/.yaml-lint.yml | 65 ++++++++++++++++++++++++++++++++++ .github/linters/actionlint.yml | 5 +++ .github/super-linter.env | 19 ++++++++++ 8 files changed, 141 insertions(+) create mode 100644 .github/linters/.checkov.yaml create mode 100644 .github/linters/.eslintrc.yml create mode 100644 .github/linters/.flake8 create mode 100644 .github/linters/.golangci.yml create mode 100644 .github/linters/.jscpd.json create mode 100644 .github/linters/.yaml-lint.yml create mode 100644 .github/linters/actionlint.yml create mode 100644 .github/super-linter.env diff --git a/.github/linters/.checkov.yaml b/.github/linters/.checkov.yaml new file mode 100644 index 0000000..0b86e0d --- /dev/null +++ b/.github/linters/.checkov.yaml @@ -0,0 +1,22 @@ +--- + +quiet: true + +skip-check: +# https://www.checkov.io/5.Policy%20Index/kubernetes.html +- CKV_K8S_15 # Image Pull Policy should be Always +- CKV_K8S_21 # The default namespace should not be used +- CKV_K8S_22 # Use read-only filesystem for containers where possible +- CKV_K8S_35 # Prefer using secrets as files over secrets as environment variables +- CKV_K8S_38 # Ensure that Service Account Tokens are only mounted where necessary +- CKV_K8S_40 # Containers should run as a high UID to avoid host conflict +- CKV_K8S_43 # Image should use digest +- CKV2_K8S_5 # No ServiceAccount/Node should be able to read all secrets +- CKV2_K8S_6 # Minimize the admission of pods which lack an associated NetworkPolicy +# https://www.checkov.io/5.Policy%20Index/dockerfile.html +- CKV_DOCKER_2 # Ensure that HEALTHCHECK instructions have been added to container images +# https://www.checkov.io/5.Policy%20Index/secrets.html +- CKV_SECRET_6 # Base64 High Entropy String +# https://www.checkov.io/5.Policy%20Index/github_actions.html +- CKV2_GHA_1 # Ensure top-level permissions are not set to write-all +- CKV_GHA_7 # The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. diff --git a/.github/linters/.eslintrc.yml b/.github/linters/.eslintrc.yml new file mode 100644 index 0000000..6f2987b --- /dev/null +++ b/.github/linters/.eslintrc.yml @@ -0,0 +1,17 @@ +--- +env: + es6: true + +extends: +- "eslint:recommended" + +parser: "@typescript-eslint/parser" + +plugins: +- "@typescript-eslint" + +rules: + no-undef: 'warn' + +globals: + module: "writable" diff --git a/.github/linters/.flake8 b/.github/linters/.flake8 new file mode 100644 index 0000000..6deafc2 --- /dev/null +++ b/.github/linters/.flake8 @@ -0,0 +1,2 @@ +[flake8] +max-line-length = 120 diff --git a/.github/linters/.golangci.yml b/.github/linters/.golangci.yml new file mode 100644 index 0000000..32c844b --- /dev/null +++ b/.github/linters/.golangci.yml @@ -0,0 +1,2 @@ +run: + timeout: 10m diff --git a/.github/linters/.jscpd.json b/.github/linters/.jscpd.json new file mode 100644 index 0000000..8361df5 --- /dev/null +++ b/.github/linters/.jscpd.json @@ -0,0 +1,9 @@ +{ + "threshold": 2, + "ignore": [ + "**/.git/**", + "**/charts/*/templates/*/*.yaml", + "**/charts/*/templates/*/*/*.yaml", + "**/docs/examples/**" + ] +} \ No newline at end of file diff --git a/.github/linters/.yaml-lint.yml b/.github/linters/.yaml-lint.yml new file mode 100644 index 0000000..0b20446 --- /dev/null +++ b/.github/linters/.yaml-lint.yml @@ -0,0 +1,65 @@ +--- +#### Config file for yamllint +# Rules: https://yamllint.readthedocs.io/en/stable/rules.html + +# Exclude not required files +ignore-from-file: +- .gitignore +- .yamlignore + +rules: + braces: + min-spaces-inside: 1 + max-spaces-inside: 1 + min-spaces-inside-empty: 0 + max-spaces-inside-empty: 0 + brackets: + min-spaces-inside: 0 + max-spaces-inside: 1 + min-spaces-inside-empty: -1 + max-spaces-inside-empty: -1 + colons: + max-spaces-before: 0 + max-spaces-after: -1 + commas: + max-spaces-before: 0 + min-spaces-after: 1 + max-spaces-after: 1 + comments: + level: warning + require-starting-space: true + min-spaces-from-content: 1 + comments-indentation: + level: warning + document-end: disable + document-start: disable + # level: warning + # present: false + empty-lines: + level: warning + max: 2 + max-start: 0 + max-end: 2 + empty-values: + forbid-in-block-mappings: true + forbid-in-flow-mappings: true + hyphens: + max-spaces-after: 1 + indentation: + spaces: 2 + indent-sequences: false + check-multi-line-strings: false + key-duplicates: enable + key-ordering: disable + line-length: disable + # max: 100 + # allow-non-breakable-words: true + # allow-non-breakable-inline-mappings: true + new-line-at-end-of-file: disable + new-lines: + type: unix + octal-values: + forbid-implicit-octal: false + forbid-explicit-octal: false + trailing-spaces: enable + truthy: disable diff --git a/.github/linters/actionlint.yml b/.github/linters/actionlint.yml new file mode 100644 index 0000000..5e04acc --- /dev/null +++ b/.github/linters/actionlint.yml @@ -0,0 +1,5 @@ +paths: + .github/workflows/**/*.{yml,yaml}: + ignore: + - 'shellcheck reported issue in this script: SC2086:info.+' + - 'shellcheck reported issue in this script: SC2002:style.+' diff --git a/.github/super-linter.env b/.github/super-linter.env new file mode 100644 index 0000000..61d2866 --- /dev/null +++ b/.github/super-linter.env @@ -0,0 +1,19 @@ +# File will be loaded as environment variables +# It must contain strings like: +# name=value + +GITLEAKS_LOG_LEVEL=warn +VALIDATE_JAVASCRIPT_PRETTIER=false +VALIDATE_JAVASCRIPT_STANDARD=false +VALIDATE_JSCPD=false +VALIDATE_JSON_PRETTIER=false +VALIDATE_KUBERNETES_KUBECONFORM=false +VALIDATE_MARKDOWN_PRETTIER=false +VALIDATE_YAML_PRETTIER=false + +# TODO: fix python files and enable the check again +VALIDATE_PYTHON_BLACK=false +VALIDATE_PYTHON_FLAKE8=false +VALIDATE_PYTHON_MYPY=false +VALIDATE_PYTHON_PYINK=false +VALIDATE_PYTHON_PYLINT=false From 36ce31bcad4b855e8f68c149d10939aa87f20101 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 13:38:47 +0000 Subject: [PATCH 03/17] ci: update of editorconfig file. If changes needed please contribute to https://github.com/Netcracker/.github/blob/main/.editorconfig --- .editorconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index a57bbdc..fafbb8c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,6 +12,10 @@ end_of_line = lf [{*.bat,*.cmd}] end_of_line = crlf +[*.go] +# gofmt defaults to LF for all the platforms: https://github.com/golang/go/issues/16355 +end_of_line = lf + [*.md] # Trailing whitespace is important in Markdown (they distinguish a new line from a new paragraph) eclint_indent_style = unset @@ -31,4 +35,4 @@ indent_size = 4 profile = black [*.sh] -indent_size = 4 \ No newline at end of file +indent_size = 4 From 1a2c789cfef964c274d0d6679e32fa3c3c2f3921 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 13:38:52 +0000 Subject: [PATCH 04/17] ci: update of common workflows --- .github/workflows/automatic-pr-labeler.yaml | 29 +++++++++++++++ .github/workflows/cdxgen.yaml | 36 +++++++++++++++++++ .github/workflows/cla.yaml | 19 ++++++++++ .../workflows/pr-collect-commit-messages.yaml | 17 +++++++++ .../workflows/pr-conventional-commits.yaml | 21 +++++++++++ .github/workflows/pr-lint-title.yaml | 21 +++++++++++ .github/workflows/profanity-filter.yaml | 18 ++++++++++ 7 files changed, 161 insertions(+) create mode 100644 .github/workflows/automatic-pr-labeler.yaml create mode 100644 .github/workflows/cdxgen.yaml create mode 100644 .github/workflows/cla.yaml create mode 100644 .github/workflows/pr-collect-commit-messages.yaml create mode 100644 .github/workflows/pr-conventional-commits.yaml create mode 100644 .github/workflows/pr-lint-title.yaml create mode 100644 .github/workflows/profanity-filter.yaml diff --git a/.github/workflows/automatic-pr-labeler.yaml b/.github/workflows/automatic-pr-labeler.yaml new file mode 100644 index 0000000..f760448 --- /dev/null +++ b/.github/workflows/automatic-pr-labeler.yaml @@ -0,0 +1,29 @@ +--- + +# The workflow template for automatic PR labeler. +# It requires to have a configuration file with labels and conditions to apply them. +# The configuration file should be placed in the .github folder and named auto-labeler-config.yaml. +# Example file can be found there: +# https://github.com/Netcracker/qubership-workflow-hub/blob/main/docs/examples/auto-labeler-config.yaml + +name: Automatic PR Labeler + +on: + pull_request_target: + branches: [main] + types: + [opened, reopened, synchronize] + +permissions: + pull-requests: write + contents: read + issues: write + +jobs: + assign-labels: + uses: Netcracker/qubership-workflow-hub/.github/workflows/auto-labeler.yaml@main + name: Assign labels in pull request + if: github.event.pull_request.merged == false + with: + pull_request_number: ${{ github.event.pull_request.number }} + config_file: './.github/auto-labeler-config.yaml' diff --git a/.github/workflows/cdxgen.yaml b/.github/workflows/cdxgen.yaml new file mode 100644 index 0000000..dad19bb --- /dev/null +++ b/.github/workflows/cdxgen.yaml @@ -0,0 +1,36 @@ +--- + +# The workflow will generate the SBOM file for the repository +# and vulerability scan report for the SBOM file using CycloneDX +# The workflow will run on push to main branch and manually triggered workflows +# The results will be stored in the action artifacts + +name: 'CDXGen' +on: + workflow_dispatch: + push: + branches: + - 'main' + +jobs: + cdxgen: + runs-on: ubuntu-latest + steps: + - name: "cdxgen" + uses: netcracker/qubership-workflow-hub/actions/cdxgen@main + deploy-pages: + permissions: + id-token: write + pages: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: cdxgen + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 + - name: "Summary" + run: | + echo "${{ steps.deployment.outputs.page_url }}cyclondx-report" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml new file mode 100644 index 0000000..caaee26 --- /dev/null +++ b/.github/workflows/cla.yaml @@ -0,0 +1,19 @@ +--- +name: CLA Assistant +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened,closed,synchronize] + +permissions: + actions: write + contents: read + pull-requests: write + statuses: write + +jobs: + cla_assistant: + uses: Netcracker/qubership-workflow-hub/.github/workflows/cla.yaml@main + secrets: + personal_access_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} diff --git a/.github/workflows/pr-collect-commit-messages.yaml b/.github/workflows/pr-collect-commit-messages.yaml new file mode 100644 index 0000000..d41d3a5 --- /dev/null +++ b/.github/workflows/pr-collect-commit-messages.yaml @@ -0,0 +1,17 @@ +--- + +name: "Add commit messages to PR body" + +on: + pull_request: + types: [opened, synchronize] + +permissions: + pull-requests: write + +jobs: + update-pr-body: + runs-on: ubuntu-latest + steps: + - name: "Update PR body" + uses: netcracker/qubership-workflow-hub/actions/pr-add-messages@main diff --git a/.github/workflows/pr-conventional-commits.yaml b/.github/workflows/pr-conventional-commits.yaml new file mode 100644 index 0000000..cfdd7e0 --- /dev/null +++ b/.github/workflows/pr-conventional-commits.yaml @@ -0,0 +1,21 @@ +--- + +name: Conventional Commits PR Check + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + +permissions: + pull-requests: read +jobs: + build: + name: Conventional Commits + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: webiny/action-conventional-commits@v1.3.0 diff --git a/.github/workflows/pr-lint-title.yaml b/.github/workflows/pr-lint-title.yaml new file mode 100644 index 0000000..5529fa7 --- /dev/null +++ b/.github/workflows/pr-lint-title.yaml @@ -0,0 +1,21 @@ +--- + +name: "Lint PR Title" + +on: + pull_request_target: + types: + - opened + - edited + +permissions: + pull-requests: read + +jobs: + main: + name: Validate PR title + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/profanity-filter.yaml b/.github/workflows/profanity-filter.yaml new file mode 100644 index 0000000..fe4eb0e --- /dev/null +++ b/.github/workflows/profanity-filter.yaml @@ -0,0 +1,18 @@ +--- +name: Profanity filter + +on: + issue_comment: + types: [created, edited] + issues: + types: [opened, edited, reopened] + pull_request_target: + types: [opened, edited, reopened] + +permissions: + issues: write + pull-requests: write + +jobs: + call-apply-filter: + uses: Netcracker/qubership-workflow-hub/.github/workflows/profanityFilter.yaml@main From 69ed8a4dfe76785f444118f4161fa2bc16ece869 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 13:39:13 +0000 Subject: [PATCH 05/17] ci: update auto labeler config --- .github/auto-labeler-config.yaml | 42 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/auto-labeler-config.yaml b/.github/auto-labeler-config.yaml index f1a64b5..374d422 100644 --- a/.github/auto-labeler-config.yaml +++ b/.github/auto-labeler-config.yaml @@ -1,23 +1,23 @@ --- conventional-commits: -- type: "fix" - nouns: ["FIX", "Fix", "fix", "FIXED", "Fixed", "fixed"] - labels: ["bug"] -- type: "feature" - nouns: ["FEATURE", "Feature", "feature", "FEAT", "Feat", "feat"] - labels: ["enhancement"] -- type: "breaking_change" - nouns: ["BREAKING CHANGE", "BREAKING", "MAJOR"] - labels: ["breaking-change"] -- type: "refactor" - nouns: ["refactor", "Refactor"] - labels: ["refactor"] -- type: "documentation" - nouns: ["doc", "document", "documentation"] - labels: ["documentation"] -- type: "build" - nouns: ["build", "rebuild"] - labels: ["build"] -- type: "config" - nouns: ["config", "conf", "cofiguration", "configure"] - labels: ["config"] \ No newline at end of file + - type: "fix" + nouns: ["FIX", "Fix", "fix", "FIXED", "Fixed", "fixed"] + labels: ["bug"] + - type: "feature" + nouns: ["FEATURE", "Feature", "feature", "FEAT", "Feat", "feat"] + labels: ["enhancement"] + - type: "breaking_change" + nouns: ["BREAKING CHANGE", "BREAKING", "MAJOR"] + labels: ["breaking-change"] + - type: "refactor" + nouns: ["refactor", "Refactor"] + labels: ["refactor"] + - type: "documentation" + nouns: ["docs", "doc", "document", "documentation"] + labels: ["documentation"] + - type: "build" + nouns: ["build", "rebuild"] + labels: ["build"] + - type: "config" + nouns: ["config", "conf", "configuration", "configure"] + labels: ["config"] From 941c7dfbcbea8010e1e8a4a773e537420b010d78 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 13:41:38 +0000 Subject: [PATCH 06/17] ci: update of gitattributes file according to https://github.com/gitattributes/gitattributes templates --- .gitattributes | 36 +++--------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/.gitattributes b/.gitattributes index 6319c83..569df3f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -45,39 +45,9 @@ Dockerfile text # Force bash scripts to always use LF line endings so that if a repo is accessed # in Unix via a file share from Windows, the scripts will work. *.sh text eol=lf +# gofmt defaults to LF for all the platforms: https://github.com/golang/go/issues/16355 *.go text eol=lf -############################### -# Git Large File System (LFS) # -############################### - -# Archives -*.7z filter=lfs diff=lfs merge=lfs -text -*.br filter=lfs diff=lfs merge=lfs -text -*.gz filter=lfs diff=lfs merge=lfs -text -*.tar filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text - -# Documents -*.pdf filter=lfs diff=lfs merge=lfs -text - -# Images -*.gif filter=lfs diff=lfs merge=lfs -text -*.ico filter=lfs diff=lfs merge=lfs -text -*.jpg filter=lfs diff=lfs merge=lfs -text -*.pdf filter=lfs diff=lfs merge=lfs -text -*.png filter=lfs diff=lfs merge=lfs -text -*.psd filter=lfs diff=lfs merge=lfs -text -*.webp filter=lfs diff=lfs merge=lfs -text - -# Fonts -*.woff2 filter=lfs diff=lfs merge=lfs -text - -# Other -*.exe filter=lfs diff=lfs merge=lfs -text - - - ########################################## # Basic .gitattributes for a Java repo.# ########################################## @@ -121,7 +91,7 @@ Dockerfile text # Common build-tool wrapper scripts ('.cmd' versions are handled by 'Common.gitattributes') mvnw text eol=lf -gradlew text eol= +gradlew text eol=lf ########################################## # Basic .gitattributes for a python repo.# @@ -153,4 +123,4 @@ gradlew text eol= # Note: .db, .p, and .pkl files are associated # with the python modules ``pickle``, ``dbm.*``, # ``shelve``, ``marshal``, ``anydbm``, & ``bsddb`` -# (among others). \ No newline at end of file +# (among others). From 51fdb27a77fbbf5f7d60df32a69978bea79ce50e Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 13:50:23 +0000 Subject: [PATCH 07/17] ci: update release drafter config file --- .github/release-drafter-config.yml | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/release-drafter-config.yml diff --git a/.github/release-drafter-config.yml b/.github/release-drafter-config.yml new file mode 100644 index 0000000..274dc9b --- /dev/null +++ b/.github/release-drafter-config.yml @@ -0,0 +1,46 @@ +name-template: 'v$RESOLVED_VERSION' +tag-template: 'v$RESOLVED_VERSION' + + +categories: + - title: '💥 Breaking Changes' + labels: + - breaking-change + - title: '🚀 New Features' + labels: + - feature + - enhancement + - title: '🐞 Bug Fixes' + labels: + - bug + - fix + - bugfix + - title: '⚙️ Technical Debt' + labels: + - refactor + - title: '📝 Documentation' + labels: + - documentation + +change-template: '- $TITLE (#$NUMBER) by @$AUTHOR' +no-changes-template: 'No significant changes' + +template: | + ## 🚀 Release + + ### What's Changed + $CHANGES + + **Contributors:** $CONTRIBUTORS + +version-resolver: + major: + labels: + - major + minor: + labels: + - minor + patch: + labels: + - patch + default: patch \ No newline at end of file From fe83c267c04882f68ff602465d27da0d9b464852 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 14:24:19 +0000 Subject: [PATCH 08/17] ci: update release drafter config file --- .github/release-drafter-config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/release-drafter-config.yml b/.github/release-drafter-config.yml index 274dc9b..09388b3 100644 --- a/.github/release-drafter-config.yml +++ b/.github/release-drafter-config.yml @@ -43,4 +43,5 @@ version-resolver: patch: labels: - patch - default: patch \ No newline at end of file + default: patch + \ No newline at end of file From 02acaf470e9bac055befd6d172a157039189f783 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 18 Mar 2025 14:34:47 +0000 Subject: [PATCH 09/17] ci: update of common workflows --- .github/workflows/automatic-pr-labeler.yaml | 2 +- .github/workflows/cla.yaml | 2 +- .github/workflows/pr-conventional-commits.yaml | 2 +- .github/workflows/pr-lint-title.yaml | 2 +- .github/workflows/profanity-filter.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/automatic-pr-labeler.yaml b/.github/workflows/automatic-pr-labeler.yaml index f760448..543b8c2 100644 --- a/.github/workflows/automatic-pr-labeler.yaml +++ b/.github/workflows/automatic-pr-labeler.yaml @@ -9,7 +9,7 @@ name: Automatic PR Labeler on: - pull_request_target: + pull_request: branches: [main] types: [opened, reopened, synchronize] diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml index caaee26..5039189 100644 --- a/.github/workflows/cla.yaml +++ b/.github/workflows/cla.yaml @@ -3,7 +3,7 @@ name: CLA Assistant on: issue_comment: types: [created] - pull_request_target: + pull_request: types: [opened,closed,synchronize] permissions: diff --git a/.github/workflows/pr-conventional-commits.yaml b/.github/workflows/pr-conventional-commits.yaml index cfdd7e0..1177d01 100644 --- a/.github/workflows/pr-conventional-commits.yaml +++ b/.github/workflows/pr-conventional-commits.yaml @@ -3,7 +3,7 @@ name: Conventional Commits PR Check on: - pull_request_target: + pull_request: types: - opened - edited diff --git a/.github/workflows/pr-lint-title.yaml b/.github/workflows/pr-lint-title.yaml index 5529fa7..b5a54af 100644 --- a/.github/workflows/pr-lint-title.yaml +++ b/.github/workflows/pr-lint-title.yaml @@ -3,7 +3,7 @@ name: "Lint PR Title" on: - pull_request_target: + pull_request: types: - opened - edited diff --git a/.github/workflows/profanity-filter.yaml b/.github/workflows/profanity-filter.yaml index fe4eb0e..1ed41ba 100644 --- a/.github/workflows/profanity-filter.yaml +++ b/.github/workflows/profanity-filter.yaml @@ -6,7 +6,7 @@ on: types: [created, edited] issues: types: [opened, edited, reopened] - pull_request_target: + pull_request: types: [opened, edited, reopened] permissions: From af0857e4a814f07675e9a1fe00e6d44f2983fc3e Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Thu, 20 Mar 2025 11:12:06 +0000 Subject: [PATCH 10/17] ci: update of common workflows --- .github/workflows/cla.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml index 5039189..e494723 100644 --- a/.github/workflows/cla.yaml +++ b/.github/workflows/cla.yaml @@ -3,8 +3,8 @@ name: CLA Assistant on: issue_comment: types: [created] - pull_request: - types: [opened,closed,synchronize] + pull_request_target: + types: [opened, closed, synchronize] permissions: actions: write @@ -16,4 +16,4 @@ jobs: cla_assistant: uses: Netcracker/qubership-workflow-hub/.github/workflows/cla.yaml@main secrets: - personal_access_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + personal_access_token: ${{ secrets.CLA_ACCESS_TOKEN }} From 4f06cab59e3faec29764353b5e9196a29c8ca8bd Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Thu, 20 Mar 2025 11:21:11 +0000 Subject: [PATCH 11/17] ci: update of superlinter config files --- .github/linters/.yaml-lint.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/linters/.yaml-lint.yml b/.github/linters/.yaml-lint.yml index 0b20446..61b2738 100644 --- a/.github/linters/.yaml-lint.yml +++ b/.github/linters/.yaml-lint.yml @@ -3,9 +3,9 @@ # Rules: https://yamllint.readthedocs.io/en/stable/rules.html # Exclude not required files -ignore-from-file: -- .gitignore -- .yamlignore +# ignore-from-file: +# - .gitignore +# - .yamlignore rules: braces: From 29fbc95d9f5c2eb933aec7277d541283b7f1cca7 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Thu, 20 Mar 2025 14:31:28 +0000 Subject: [PATCH 12/17] ci: update of common workflows --- .github/workflows/super-linter.yaml | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/super-linter.yaml diff --git a/.github/workflows/super-linter.yaml b/.github/workflows/super-linter.yaml new file mode 100644 index 0000000..8023649 --- /dev/null +++ b/.github/workflows/super-linter.yaml @@ -0,0 +1,52 @@ +--- +# This workflow executes several linters on changed files based on languages used in your code base whenever +# you push a code or open a pull request. +# +# You can adjust the behavior by modifying this file. +# For more information, see: +# https://github.com/super-linter/super-linter +# Configuration file for super-linter example: +# .github/super-linter.env +# Configuration files for individual linters should be placed in .github/linters + +name: Lint Code Base + +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + workflow_dispatch: + inputs: + full_scan: + type: boolean + default: false + required: false + description: "Lint all codebase" +permissions: + contents: read + +jobs: + run-lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + # Full git history is needed to get a proper list of changed files within `super-linter` + fetch-depth: 0 + + - name: "Load super-linter environment file" + run: | + # shellcheck disable=2086 + if [ -f "./.github/super-linter.env" ]; then + grep "\S" ./.github/super-linter.env | grep -v "^#" + grep "\S" ./.github/super-linter.env | grep -v "^#" >> $GITHUB_ENV + fi + + - name: Lint Code Base + uses: super-linter/super-linter@v7 + env: + VALIDATE_ALL_CODEBASE: ${{ inputs.full_scan || false }} + DEFAULT_BRANCH: "main" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From d0db4cea40be4fa43013fd9c143ec05f400b8e13 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Fri, 21 Mar 2025 11:34:13 +0000 Subject: [PATCH 13/17] ci: update auto labeler config --- .github/auto-labeler-config.yaml | 42 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/auto-labeler-config.yaml b/.github/auto-labeler-config.yaml index 374d422..89be032 100644 --- a/.github/auto-labeler-config.yaml +++ b/.github/auto-labeler-config.yaml @@ -1,23 +1,23 @@ --- conventional-commits: - - type: "fix" - nouns: ["FIX", "Fix", "fix", "FIXED", "Fixed", "fixed"] - labels: ["bug"] - - type: "feature" - nouns: ["FEATURE", "Feature", "feature", "FEAT", "Feat", "feat"] - labels: ["enhancement"] - - type: "breaking_change" - nouns: ["BREAKING CHANGE", "BREAKING", "MAJOR"] - labels: ["breaking-change"] - - type: "refactor" - nouns: ["refactor", "Refactor"] - labels: ["refactor"] - - type: "documentation" - nouns: ["docs", "doc", "document", "documentation"] - labels: ["documentation"] - - type: "build" - nouns: ["build", "rebuild"] - labels: ["build"] - - type: "config" - nouns: ["config", "conf", "configuration", "configure"] - labels: ["config"] +- type: 'fix' + nouns: ['FIX', 'Fix', 'fix', 'FIXED', 'Fixed', 'fixed'] + labels: ['bug'] +- type: 'feature' + nouns: ['FEATURE', 'Feature', 'feature', 'FEAT', 'Feat', 'feat'] + labels: ['enhancement'] +- type: 'breaking_change' + nouns: ['BREAKING CHANGE', 'BREAKING', 'MAJOR'] + labels: ['breaking-change'] +- type: 'refactor' + nouns: ['refactor', 'Refactor'] + labels: ['refactor'] +- type: 'documentation' + nouns: ['docs', 'doc', 'document', 'documentation'] + labels: ['documentation'] +- type: 'build' + nouns: ['build', 'rebuild'] + labels: ['build'] +- type: 'config' + nouns: ['config', 'conf', 'configuration', 'configure'] + labels: ['config'] From 157bcea322a5dd42f356f438f02872046d82c176 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Fri, 21 Mar 2025 11:34:18 +0000 Subject: [PATCH 14/17] ci: update of editorconfig file. If changes needed please contribute to https://github.com/Netcracker/.github/blob/main/.editorconfig --- .editorconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index fafbb8c..6b313f8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,6 +1,6 @@ root = true -[*] +[{*,.*}] charset = utf-8 indent_style = space insert_final_newline = true From 4cab93e1e25c95ec66d5df08ea47fb6081eac9a5 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Fri, 21 Mar 2025 11:34:24 +0000 Subject: [PATCH 15/17] ci: update release drafter config file --- .github/release-drafter-config.yml | 43 +++++++++++++++--------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/release-drafter-config.yml b/.github/release-drafter-config.yml index 09388b3..51c3c56 100644 --- a/.github/release-drafter-config.yml +++ b/.github/release-drafter-config.yml @@ -3,24 +3,24 @@ tag-template: 'v$RESOLVED_VERSION' categories: - - title: '💥 Breaking Changes' - labels: - - breaking-change - - title: '🚀 New Features' - labels: - - feature - - enhancement - - title: '🐞 Bug Fixes' - labels: - - bug - - fix - - bugfix - - title: '⚙️ Technical Debt' - labels: - - refactor - - title: '📝 Documentation' - labels: - - documentation +- title: '💥 Breaking Changes' + labels: + - breaking-change +- title: '🚀 New Features' + labels: + - feature + - enhancement +- title: '🐞 Bug Fixes' + labels: + - bug + - fix + - bugfix +- title: '⚙️ Technical Debt' + labels: + - refactor +- title: '📝 Documentation' + labels: + - documentation change-template: '- $TITLE (#$NUMBER) by @$AUTHOR' no-changes-template: 'No significant changes' @@ -36,12 +36,11 @@ template: | version-resolver: major: labels: - - major + - major minor: labels: - - minor + - minor patch: labels: - - patch + - patch default: patch - \ No newline at end of file From 6198a908a6e90f326aa472e1f4050cef7e84a380 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Fri, 28 Mar 2025 07:55:11 +0000 Subject: [PATCH 16/17] ci: update of superlinter config files --- .github/linters/checkstyle.xml | 311 +++++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 .github/linters/checkstyle.xml diff --git a/.github/linters/checkstyle.xml b/.github/linters/checkstyle.xml new file mode 100644 index 0000000..a6f3b19 --- /dev/null +++ b/.github/linters/checkstyle.xml @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 25791006ce55fa7a914d14ec76f041b7e3bac6f6 Mon Sep 17 00:00:00 2001 From: NetcrackerCLPLCI Date: Tue, 1 Apr 2025 13:25:21 +0000 Subject: [PATCH 17/17] ci: update of common workflows --- .github/workflows/super-linter.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/super-linter.yaml b/.github/workflows/super-linter.yaml index 8023649..da308b2 100644 --- a/.github/workflows/super-linter.yaml +++ b/.github/workflows/super-linter.yaml @@ -13,9 +13,11 @@ name: Lint Code Base on: push: - branches: ["main"] + branches: + - '**' pull_request: - branches: ["main"] + branches: + - '**' workflow_dispatch: inputs: full_scan: @@ -48,5 +50,4 @@ jobs: uses: super-linter/super-linter@v7 env: VALIDATE_ALL_CODEBASE: ${{ inputs.full_scan || false }} - DEFAULT_BRANCH: "main" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}