Add ECMangen.yml #737
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: PUSH & PULL REQUEST - YAML Lint and Schema Validation Checks | |
on: [push,pull_request] | |
jobs: | |
lintFiles: | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Check file extensions | |
run: | | |
files=$(find "$GITHUB_WORKSPACE/yml" -type f -not -name "*.yml"); | |
if [[ $files ]]; then | |
echo "::error::Files with unexpected extension found, please ensure you use '.yml' (all lower case) for files in the yml/ folder."; | |
for i in $files; do echo "::error file=$i,line=1::Unexpected extension"; done | |
exit 1; | |
fi | |
unset files | |
- name: Check duplicate file names | |
run: | | |
files=$(find "$GITHUB_WORKSPACE/yml/OSBinaries" "$GITHUB_WORKSPACE/yml/OtherMSBinaries" -type f -printf '%h %f\n' -iname "*.yml" | sort -t ' ' -k 2,2 -f | uniq -i -f 1 --all-repeated=separate | tr ' ' '/') | |
if [[ $files ]]; then | |
echo "::error::Files with duplicate filenames detected, please make sure you don't create duplicate entries."; | |
for i in $files; do echo "::error file=$i,line=1::Duplicate filename"; done | |
exit 1; | |
fi | |
unset files | |
- name: yaml-lint | |
uses: ibiqlik/action-yamllint@v3 | |
with: | |
no_warnings: true | |
file_or_dir: yml/**/*.yml | |
config_file: .github/.yamllint | |
- name: Validate Template Schema | |
uses: cketti/action-pykwalify@v0.3-temp-fix | |
with: | |
files: YML-Template.yml | |
schema: YML-Schema.yml | |
- name: Validate OSBinaries YAML Schema | |
uses: cketti/action-pykwalify@v0.3-temp-fix | |
with: | |
files: yml/OSBinaries/*.yml | |
schema: YML-Schema.yml | |
- name: Validate OSLibraries YAML Schema | |
uses: cketti/action-pykwalify@v0.3-temp-fix | |
with: | |
files: yml/OSLibraries/*.yml | |
schema: YML-Schema.yml | |
- name: Validate OSScripts YAML Schema | |
uses: cketti/action-pykwalify@v0.3-temp-fix | |
with: | |
files: yml/OSScripts/*.yml | |
schema: YML-Schema.yml | |
- name: Validate OtherMSBinaries YAML Schema | |
uses: cketti/action-pykwalify@v0.3-temp-fix | |
with: | |
files: yml/OtherMSBinaries/*.yml | |
schema: YML-Schema.yml |