Skip to content

Commit 46e496a

Browse files
[SNOW-921048]Add linter action (#892)
Add linter action - Add linter.yml workflow - Add .EditorConfig with default rules - Add .DS_Store to gitignore
1 parent b703f93 commit 46e496a

File tree

4 files changed

+109
-1
lines changed

4 files changed

+109
-1
lines changed

.EditorConfig

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
root = true
2+
# All files
3+
[*.*]
4+
indent_style = space
5+
indent_size = 4
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
charset = utf-8
9+
max_line_length=150
10+
11+
# Interfaces should start with I and PascalCase
12+
dotnet_naming_rule.interfaces_begin_with_I.severity = warning
13+
dotnet_naming_rule.interfaces_begin_with_I.symbols = interfaces
14+
dotnet_naming_rule.interfaces_begin_with_I.style = prefix_and_pascal_case
15+
dotnet_naming_rule.interfaces_begin_with_I.required_prefix = I
16+
dotnet_naming_symbols.interfaces.applicable_kinds = interface
17+
dotnet_diagnostic.interfaces_begin_with_I.severity = warning
18+
dotnet_diagnostic.interfaces_begin_with_I.enabled = true
19+
20+
# Static fields should start with _s
21+
dotnet_naming_rule.static_fields_begin_with_s.severity = warning
22+
dotnet_naming_rule.static_fields_begin_with_s.symbols = static_fields
23+
dotnet_naming_rule.static_fields_begin_with_s.style = custom
24+
dotnet_naming_rule.static_fields_begin_with_s.custom_recommended_prefix = _r
25+
dotnet_naming_rule.static_fields_begin_with_s.required_prefix = _r
26+
dotnet_naming_rule.static_fields_begin_with_s.capitalization = camel_case
27+
dotnet_naming_symbols.static_fields.applicable_kinds = field
28+
dotnet_naming_symbols.static_fields.applicable_accessibilities = public, internal, private, protected, protected_internal
29+
dotnet_naming_symbols.static_fields.required_modifiers = static
30+
dotnet_diagnostic.static_fields_begin_with_s.severity = warning
31+
dotnet_diagnostic.static_fields_begin_with_s.enabled = true
32+
33+
# Enforce use of Pascal case in enums, classes, const and methods
34+
dotnet_naming_rule.enforce_pascal_case.severity = suggestion
35+
dotnet_naming_rule.enforce_pascal_case.symbols = methods, enums, consts, public_methods, public_classes
36+
dotnet_naming_rule.enforce_pascal_case.style = pascal_case
37+
dotnet_naming_symbols.methods.applicable_kinds = method
38+
dotnet_naming_symbols.enums.applicable_kinds = enum
39+
dotnet_naming_symbols.consts.applicable_kinds = field
40+
dotnet_naming_symbols.consts.applicable_modifiers = const
41+
dotnet_naming_symbols.public_methods.applicable_kinds = method
42+
dotnet_naming_symbols.public_methods.applicable_accessibilities = public
43+
dotnet_naming_symbols.public_classes.applicable_kinds = class
44+
dotnet_naming_symbols.public_classes.applicable_accessibilities = public
45+
dotnet_diagnostic.enforce_pascal_case.severity = suggestion
46+
dotnet_diagnostic.enforce_pascal_case.enabled = true
47+
48+
# private and internal members should start with underscore
49+
dotnet_naming_rule.private_and_internal_members_start_with_underscore.severity = warning
50+
dotnet_naming_rule.private_and_internal_members_start_with_underscore.symbols = private_fields, internal_fields, private_properties, internal_properties, private_methods, internal_methods
51+
dotnet_naming_rule.private_and_internal_members_start_with_underscore.style = underscore_prefix
52+
dotnet_naming_symbols.private_fields.applicable_kinds = field
53+
dotnet_naming_symbols.internal_fields.applicable_kinds = field
54+
dotnet_naming_symbols.private_properties.applicable_kinds = property
55+
dotnet_naming_symbols.internal_properties.applicable_kinds = property
56+
dotnet_naming_symbols.private_methods.applicable_kinds = method
57+
dotnet_naming_symbols.internal_methods.applicable_kinds = method
58+
dotnet_naming_symbols.private_methods.applicable_accessibilities = private
59+
dotnet_naming_symbols.internal_methods.applicable_accessibilities = internal
60+
dotnet_diagnostic.private_and_internal_members_start_with_underscore.severity = warning
61+
dotnet_diagnostic.private_and_internal_members_start_with_underscore.enabled = true

.github/workflows/linter.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Code standards check
2+
3+
# Triggers the workflow on pull request events but only for the master branch
4+
on:
5+
pull_request:
6+
branches: [ master ]
7+
workflow_dispatch:
8+
inputs:
9+
logLevel:
10+
default: warning
11+
description: "Log level"
12+
required: true
13+
tags:
14+
description: "Linter"
15+
required: false
16+
17+
concurrency:
18+
# older builds for the same pull request number or branch should be cancelled
19+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
20+
cancel-in-progress: true
21+
22+
env:
23+
DOTNET_VERSION: 6.0
24+
DOTNET_LEGACY_VERSION: 4.7.1
25+
26+
jobs:
27+
run-linter:
28+
name: Run linter
29+
runs-on: windows-latest
30+
steps:
31+
- name: Check out Git repository
32+
uses: actions/checkout@v3
33+
- name: Set up .NET
34+
uses: actions/setup-dotnet@v1
35+
with:
36+
dotnet-version: "6.0.x"
37+
dotnet-quality: 'ga'
38+
- name: Run linters
39+
uses: wearerequired/lint-action@v2
40+
with:
41+
dotnet_format: true
42+
continue_on_error: true
43+
check_name: ${linter} run

.github/workflows/main.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ jobs:
3737
dotnet: ['net6.0', 'net472', 'net471']
3838
cloud_env: ['AZURE', 'GCP', 'AWS']
3939
steps:
40-
- uses: actions/checkout@v3
40+
- name: Checkout code
41+
uses: actions/checkout@v3
4142
- name: Setup Dotnet
4243
uses: actions/setup-dotnet@v3
4344
with:

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,3 +309,6 @@ whitesource/
309309
Snowflake.Data.Tests/macos_*_performance.csv
310310
Snowflake.Data.Tests/windows_*_performance.csv
311311
Snowflake.Data.Tests/unix_*_performance.csv
312+
313+
# Ignore Mac files
314+
**/.DS_Store

0 commit comments

Comments
 (0)