Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
srinivas-kujala committed Feb 20, 2024
0 parents commit c018a71
Show file tree
Hide file tree
Showing 11 changed files with 707 additions and 0 deletions.
170 changes: 170 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
# top-most EditorConfig file for ServerEPS
root = true

[*.{cs,js,config,xml,json,html,htm,aspx,asmx,ascx,css,token,xaml,sql,cshtml,saxml,wxs}]
indent_style = tab
tab_width = 4
trim_trailing_whitespace = true
indent_size = tab

# Dotnet code style settings:
[*.{cs,vb}]
# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true : suggestion

# Avoid "this." and "Me." if not necessary
dotnet_style_qualification_for_field = false : suggestion
dotnet_style_qualification_for_property = false : suggestion
dotnet_style_qualification_for_method = false : suggestion
dotnet_style_qualification_for_event = false : suggestion

# Use language keywords instead of framework type names for type references
dotnet_style_predefined_type_for_locals_parameters_members = true : suggestion
dotnet_style_predefined_type_for_member_access = true : suggestion

# Suggest more modern language features when available
dotnet_style_object_initializer = true : suggestion
dotnet_style_collection_initializer = true : suggestion
dotnet_style_coalesce_expression = true : suggestion
dotnet_style_null_propagation = true : suggestion
dotnet_style_explicit_tuple_names = true : suggestion
dotnet_style_prefer_inferred_tuple_names = true : suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true : suggestion
dotnet_style_prefer_auto_properties = true : suggestion
dotnet_style_prefer_compound_assignment = true : suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true : suggestion
dotnet_style_prefer_conditional_expression_over_return = true : suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true : suggestion

# Field preferences
dotnet_style_readonly_field = true : suggestion

# Require accessibility modifiers
dotnet_style_require_accessibility_modifiers = for_non_interface_members : suggestion

# Name all constant fields using PascalCase
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style

dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.required_modifiers = const

dotnet_naming_style.pascal_case_style.capitalization = pascal_case

# static fields should be s_PascalCase
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style

dotnet_naming_symbols.static_fields.applicable_kinds = field
dotnet_naming_symbols.static_fields.required_modifiers = static

dotnet_naming_style.static_prefix_style.required_prefix = s_
dotnet_naming_style.static_prefix_style.capitalization = pascal_case

# private fields should be _PascalCase
dotnet_naming_rule.pascal_case_for_private_fields.severity = suggestion
dotnet_naming_rule.pascal_case_for_private_fields.symbols = private_fields
dotnet_naming_rule.pascal_case_for_private_fields.style = pascal_case_underscore_style

dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private

dotnet_naming_style.pascal_case_underscore_style.required_prefix = _
dotnet_naming_style.pascal_case_underscore_style.capitalization = pascal_case

# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity : suggestion
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity : suggestion
dotnet_style_parentheses_in_other_operators = never_if_unnecessary : suggestion
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity : suggestion

# Parameter preferences
dotnet_code_quality_unused_parameters = all : suggestion

# CSharp code style settings:
[*.cs]
# Prefer "var" everywhere
csharp_style_var_for_built_in_types = false : suggestion
csharp_style_var_when_type_is_apparent = false : suggestion
csharp_style_var_elsewhere = false : suggestion

# Prefer method-like constructs to have a block body
csharp_style_expression_bodied_methods = when_on_single_line : suggestion
csharp_style_expression_bodied_constructors = false : suggestion
csharp_style_expression_bodied_operators = when_on_single_line : suggestion

# Prefer property-like constructs to have an expression-body
csharp_style_expression_bodied_properties = true : suggestion
csharp_style_expression_bodied_indexers = true : suggestion
csharp_style_expression_bodied_accessors = true : suggestion
csharp_style_expression_bodied_lambdas = true : suggestion
csharp_style_expression_bodied_local_functions = true : suggestion

# Suggest more modern language features when available
csharp_style_deconstructed_variable_declaration = true : suggestion
csharp_style_pattern_matching_over_is_with_cast_check = true : suggestion
csharp_style_pattern_matching_over_as_with_null_check = true : suggestion
csharp_style_inlined_variable_declaration = true : suggestion
csharp_style_throw_expression = true : suggestion
csharp_style_conditional_delegate_call = true : suggestion

# Code block preferences
csharp_prefer_braces = when_multiline : suggestion

# Expression-level preferences
csharp_prefer_simple_default_expression = true : suggestion
csharp_style_pattern_local_over_anonymous_function = true : suggestion
csharp_style_prefer_index_operator = true : suggestion
csharp_style_prefer_range_operator = true : suggestion
csharp_style_unused_value_assignment_preference = discard_variable : silent
csharp_style_unused_value_expression_statement_preference = discard_variable : silent

# Newline settings
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true

# Modifier order
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async

# Editor settings
csharp_preserve_single_line_statements = false
csharp_preserve_single_line_blocks = true

# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = true

# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
15 changes: 15 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Changes details

-

## Jira ticket info

Tickets: [PROJECT-](https://jira.com/browse/PROJECT-)

## Missed anything?

- [ ] Branch naming convention is correct.
- [ ] Explained the purpose of this PR.
- [ ] Added reviewers to the PR.
- [ ] Jira ticket is mentioned in the PR.
- [ ] Added or updated test cases.
33 changes: 33 additions & 0 deletions .github/workflows/continuousdeployment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Continuous Deployment

on:
push:
branches:
- 'main'
- 'develop'

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true

jobs:

publish:
uses: srinivas-kujala/.github/workflows/publish-docker-image.yml@main
with:
branch-name: ${{ github.ref_name }}
image-name: ${{ VARS.IMAGE_NAME }}
image-path: ${{ VARS.IMAGE_PATH }}
project-path: ${{ vars.PROJECT_PATH }}
nuget-path: 'src\NuGet.config'
secrets:
jfrog-password: ${{ secrets.JFROG_PASSWORD }}
acr-password: ${{ secrets.ACR_PASSWORD }}

update-helm:
needs: publish
uses: srinivas-kujala/.github/workflows/update-helm-charts.yml@main
with:
environment: ${{ VARS.ENVIRONMENT }}
tag-value: ${{ needs.publish.outputs.version }}
application-value-path: 'application\values_${{ github.ref_name }}.yaml'
35 changes: 35 additions & 0 deletions .github/workflows/continuousintegration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Continuous Integration

on:
pull_request:
types: [opened, synchronize, reopened]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true

jobs:

validate:
uses: srinivas-kujala/.github/workflows/jira-validations.yml@main
with:
target-branch-name: ${{ github.base_ref }}
branch-name: ${{ github.head_ref }}
pr-state: ${{ github.event.pull_request.state }}
pr-merged: ${{ github.event.pull_request.merged }}
components: ${{ vars.COMPONENTS }}
secrets:
password: ${{ secrets.JIRA_PASSWORD }}

compile:
needs: validate
uses: srinivas-kujala/.github/workflows/compile-docker-project.yml@main
with:
branch-name: ${{ github.head_ref }}
image-name: ${{ VARS.IMAGE_NAME }}
image-path: ${{ VARS.IMAGE_PATH }}
project-path: ${{ vars.PROJECT_PATH }}
test-project-path: ${{ vars.TEST_PROJECT_PATH }}
nuget-path: 'src\NuGet.config'
secrets:
jfrog-password: ${{ secrets.JFROG_PASSWORD }}
43 changes: 43 additions & 0 deletions .github/workflows/ondemandbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: On Demand Build

on:
workflow_dispatch:
inputs:
branch-name: # id of input
type: string
description: 'Name of the repository branch. Ex: feature/PROTECT-12345_Title-Of-Ticket'
required: true
default: main
deploy: # id of input
type: choice
description: 'Please select either of the options. Develop is for dev env. Main is for release'
default: 'develop'
options:
- develop
- main

concurrency:
group: ${{ github.workflow }}-${{ inputs.branch-name }}
cancel-in-progress: true

jobs:

publish:
uses: srinivas-kujala/.github/workflows/publish-docker-image.yml@main
with:
branch-name: ${{ inputs.branch-name }}
image-name: ${{ VARS.IMAGE_NAME }}
image-path: ${{ VARS.IMAGE_PATH }}
project-path: ${{ vars.PROJECT_PATH }}
nuget-path: 'src\NuGet.config'
secrets:
jfrog-password: ${{ secrets.JFROG_PASSWORD }}
acr-password: ${{ secrets.ACR_PASSWORD }}

update-helm:
needs: publish
uses: srinivas-kujala/.github/workflows/update-helm-charts.yml@main
with:
environment: ${{ VARS.ENVIRONMENT }}
tag-value: ${{ needs.publish.outputs.version }}
application-value-path: 'application\values_${{ inputs.deploy }}.yaml'
Loading

0 comments on commit c018a71

Please sign in to comment.