Add context command #690
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: Lint code | |
# Run workflow on pushes to matching branches | |
on: # yamllint disable-line rule:truthy | |
push: | |
branches: [develop, python-migration] | |
pull_request: | |
branches: [develop, python-migration] | |
jobs: | |
lint_json: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install requirements | |
shell: bash | |
run: npm install -g jsonlint mustache | |
- name: Lint JSON | |
shell: bash | |
run: | | |
echo "{}" > mustache_config.json | |
find . -name "*.json" | xargs -n 1 mustache mustache_config.json | jsonlint --quiet --compact | |
lint_markdown: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install requirements | |
shell: bash | |
run: sudo gem install mdl | |
- name: Lint Markdown | |
run: mdl --style .mdlstyle.rb . | |
lint_powershell: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install requirements | |
shell: pwsh | |
run: | | |
Set-PSRepository PSGallery -InstallationPolicy Trusted | |
Install-Module PSScriptAnalyzer | |
- name: Lint PowerShell | |
shell: pwsh | |
run: Invoke-ScriptAnalyzer -Path . -Settings .PSScriptAnalyzerSettings.psd1 -Recurse -EnableExit -ReportSummary | |
lint_python: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
- name: Install hatch | |
run: pip install hatch | |
- name: Lint Python | |
run: hatch run lint:all | |
lint_shell: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install requirements | |
shell: bash | |
run: sudo apt install shellcheck | |
- name: Lint shell | |
shell: bash | |
run: find . -name "*.sh" | xargs shellcheck --format gcc --severity error | |
lint_yaml: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install requirements | |
shell: bash | |
run: | | |
npm install -g mustache | |
- name: Expand mustache templates | |
shell: bash | |
run: | | |
echo '{"array": ["dummy"], "variable": "dummy"}' > .mustache_config.json | |
for yamlfile in $(find . -name "*.yml" -o -name "*.yaml"); do | |
sed "s|{{\([/#]\)[^}]*}}|{{\1array}}|g" $yamlfile > expanded.tmp # replace mustache arrays | |
sed -i "s|{{[^#/].\{1,\}}}|{{variable}}|g" expanded.tmp # replace mustache variables | |
mustache .mustache_config.json expanded.tmp > $yamlfile # perform mustache expansion overwriting original file | |
done | |
rm expanded.tmp | |
- name: Lint YAML | |
uses: karancode/yamllint-github-action@dd59165b84d90d37fc919c3c7dd84c7e37cd6bfb # this is 2.0.0 | |
with: | |
yamllint_strict: true | |
yamllint_comment: false |