Skip to content

Commit

Permalink
scripts: add new script
Browse files Browse the repository at this point in the history
Add not_respecting_some_naming_conventions.fsx
script to detect if some naming conventions are
respected.

Fixes #93
  • Loading branch information
tehraninasab committed Mar 30, 2023
1 parent 4322aac commit 1b0a190
Show file tree
Hide file tree
Showing 11 changed files with 53 additions and 10 deletions.
20 changes: 11 additions & 9 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Compile the conventions solution
run: dotnet build --configuration Release conventions.sln
- name: Compile F# scripts
run: dotnet fsi scripts/compileFSharpScripts.fsx
run: dotnet fsi scripts/compile_fsharp_scripts.fsx

file-conventions-tests:
name: Run FileConventions-lib unit tests
Expand Down Expand Up @@ -130,20 +130,22 @@ jobs:
- name: Install dotnet sdk
run: sudo apt install --yes dotnet6
- name: Check all files end with EOL
run: dotnet fsi scripts/eofConvention.fsx
run: dotnet fsi scripts/eof_convention.fsx
- name: Check all .fsx scripts have shebang
run: dotnet fsi scripts/shebangConvention.fsx
run: dotnet fsi scripts/shebang_convention.fsx
- name: Check there are no mixed line-endings in any files
run: dotnet fsi scripts/mixedLineEndings.fsx
run: dotnet fsi scripts/mixed_line_endings.fsx
- name: Check there are no unpinned GitHubActions image versions
run: dotnet fsi scripts/unpinnedGitHubActionsImageVersions.fsx
run: dotnet fsi scripts/unpinned_github_actions_image_versions.fsx
- name: Check there are no unpinned dotnet package versions
run: dotnet fsi scripts/unpinnedDotnetPackageVersions.fsx
run: dotnet fsi scripts/unpinned_dotnet_package_versions.fsx
- name: Check there are no unpinned nuget package reference versions in F# scripts
run: dotnet fsi scripts/unpinnedNugetPackageReferenceVersions.fsx
- name: Check if gitPush1by1 was used
run: dotnet fsi scripts/unpinned_nuget_package_reference_versions.fsx
- name: Check if script names (.fsx, .bat, and .sh files) are snake_case and CI job names are kebab-case.
run: dotnet fsi scripts/not_respecting_some_naming_conventions.fsx
- name: Check if git_push_1by1 was used
if: github.event_name == 'pull_request'
run: dotnet fsi scripts/detectNotUsingGitPush1by1.fsx
run: dotnet fsi scripts/detect_not_using_git_push_1by1.fsx
- name: Install prettier
run: npm install prettier@2.8.3
- name: Change file permissions
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@ if notUsingGitPush1by1 then
sprintf
"Please push the commits one by one; using this script is recommended:%s%s"
Environment.NewLine
"https://github.com/nblockchain/conventions/blob/master/scripts/gitPush1by1.fsx"
"https://github.com/nblockchain/conventions/blob/master/scripts/git_push_1by1.fsx"

Console.Error.WriteLine errMsg
Environment.Exit 1
File renamed without changes.
File renamed without changes.
File renamed without changes.
41 changes: 41 additions & 0 deletions scripts/not_respecting_some_naming_conventions.fsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env -S dotnet fsi

open System
open System.IO

#r "nuget: YamlDotNet, Version=13.0.2"
#load "../src/FileConventions/Library.fs"
#load "../src/FileConventions/Helpers.fs"

let rootDir = Path.Combine(__SOURCE_DIRECTORY__, "..") |> DirectoryInfo

let invalidYmlFiles =
Helpers.GetInvalidFiles
rootDir
"*.yml"
FileConventions.DetectNotUsingKebabCaseInGitHubCIJobs

Helpers.AssertNoInvalidFiles
invalidYmlFiles
"Please use kebab-case for CI job names in the following files:"

let scriptExtensions =
seq {
".fsx"
".bat"
".sh"
}

let scriptsWithInvalidNames =
scriptExtensions
|> Seq.map(fun extension ->
Helpers.GetInvalidFiles
rootDir
("*" + extension)
FileConventions.DetectNotUsingSnakeCaseInScriptName
)
|> Seq.concat

Helpers.AssertNoInvalidFiles
scriptsWithInvalidNames
"Please use snake_case for naming the following scripts:"
File renamed without changes.
File renamed without changes.

0 comments on commit 1b0a190

Please sign in to comment.