Compare commits

..

5 Commits

Author SHA1 Message Date
312c00f77f feat(pr-lint): switch to cupcake megalinter (#105) 2025-04-08 03:26:26 +03:00
f845a14b12 fix(pr-lint): add missing shell definitions (#103) 2025-04-07 11:04:42 +03:00
renovate[bot]
9870d3ee6c feat(github-action): update ivuorinen/actions (25.3.25 → 25.4.5) (#102)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 05:20:10 +00:00
renovate[bot]
8619a7832f feat(github-action): update actions/dependency-review-action (v4.5.0 → v4.6.0) (#100)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 01:38:22 +03:00
730304e293 feat(pr-lint): Update pr-lint/action.yml: Add multi-env detection, update Git config (#98) 2025-04-05 14:43:49 +03:00
4 changed files with 107 additions and 11 deletions

View File

@@ -13,4 +13,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Dependency Review'
uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0
uses: actions/dependency-review-action@ce3cf9537a52e8119d91fd484ab5b8a807627bf8 # v4.6.0

View File

@@ -29,12 +29,12 @@ repos:
args: [-c, .markdownlint.json, --fix]
- repo: https://github.com/adrienverge/yamllint
rev: v1.35.1
rev: v1.37.0
hooks:
- id: yamllint
- repo: https://github.com/scop/pre-commit-shfmt
rev: v3.10.0-2
rev: v3.11.0-1
hooks:
- id: shfmt
@@ -51,12 +51,12 @@ repos:
args: ['-shellcheck=']
- repo: https://github.com/renovatebot/pre-commit-hooks
rev: 39.156.0
rev: 39.227.2
hooks:
- id: renovate-config-validator
- repo: https://github.com/bridgecrewio/checkov.git
rev: '3.2.360'
rev: '3.2.400'
hooks:
- id: checkov
args:

View File

@@ -12,7 +12,9 @@ branding:
runs:
using: composite
steps:
# Git Checkout
# ╭──────────────────────────────────────────────────────────╮
# │ Git Checkout │
# ╰──────────────────────────────────────────────────────────╯
- name: Checkout Code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
@@ -22,15 +24,108 @@ runs:
# improve performance
fetch-depth: 0
# ╭──────────────────────────────────────────────────────────╮
# │ Setup Git configuration │
# ╰──────────────────────────────────────────────────────────╯
- name: Setup Git Config
id: git-config
uses: ivuorinen/actions/set-git-config@main
uses: ivuorinen/actions/set-git-config@730304e2936e7afeab4ac5652d448d0ded2fbe4b # 25.4.5
# MegaLinter
# ╭──────────────────────────────────────────────────────────╮
# │ Install packages for linting │
# ╰──────────────────────────────────────────────────────────╯
# Node.js tests if package.json exists
- name: Detect package.json
id: detect-node
shell: bash
run: |
if [ -f package.json ]; then
echo "found=true" >> $GITHUB_OUTPUT
fi
- name: Setup Node.js and run tests
if: steps.detect-node.outputs.found == 'true'
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
with:
cache: 'npm'
- name: Install Node.js dependencies
if: steps.detect-node.outputs.found == 'true'
shell: bash
run: npm ci
# PHP tests if composer.json exists
- name: Detect composer.json
id: detect-php
shell: bash
run: |
if [ -f composer.json ]; then
echo "found=true" >> $GITHUB_OUTPUT
fi
- name: Setup PHP
if: steps.detect-php.outputs.found == 'true'
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # master
with:
tools: composer
coverage: none
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Setup problem matchers for PHP
if: steps.detect-php.outputs.found == 'true'
shell: bash
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
- name: Install PHP dependencies
if: steps.detect-php.outputs.found == 'true'
shell: bash
run: composer install --no-progress --prefer-dist --no-interaction
# Python tests if requirements.txt exists
- name: Detect requirements.txt
id: detect-python
shell: bash
run: |
if [ -f requirements.txt ]; then
echo "found=true" >> $GITHUB_OUTPUT
fi
- name: Setup Python
if: steps.detect-python.outputs.found == 'true'
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
with:
cache: 'pip'
- name: Install Python dependencies
if: steps.detect-python.outputs.found == 'true'
shell: bash
run: pip install -r requirements.txt
# Go tests if go.mod exists
- name: Detect go.mod
id: detect-go
shell: bash
run: |
if [ -f go.mod ]; then
echo "found=true" >> $GITHUB_OUTPUT
fi
- name: Setup Go
if: steps.detect-go.outputs.found == 'true'
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
with:
go-version-file: 'go.mod'
cache: true
# ╭──────────────────────────────────────────────────────────╮
# │ MegaLinter │
# ╰──────────────────────────────────────────────────────────╯
- name: MegaLinter
# You can override MegaLinter flavor used to have faster performances
# More info at https://megalinter.io/latest/flavors/
uses: oxsecurity/megalinter@146333030da68e2e58c6ff826633824fabe01eaf # v8.5.0
uses: oxsecurity/megalinter/flavors/cupcake@146333030da68e2e58c6ff826633824fabe01eaf # v8.5.0
id: ml
# All available variables are described in documentation

5
run.sh
View File

@@ -78,7 +78,8 @@ find . -mindepth 1 -maxdepth 1 -type d | while read -r dir; do
echo "- ⏩ Skipping $dir - action.yml missing"
fi
) || {
echo "- ⚠️ Warning: Error processing directory $dir" | tee -a "$log_file"
echo "- ⚠️ Warning: Error processing directory $dir" |
tee -a "$log_file"
}
echo ""
done
@@ -106,7 +107,7 @@ fi
echo ""
echo "🔎 Running MegaLinter..."
if ! npx --yes mega-linter-runner; then
if ! npx --yes mega-linter-runner --flavor cupcake --fix --remove-container --container-name cupcake; then
echo "- ⚠️ Warning: MegaLinter found issues" | tee -a "$log_file"
fi
echo ""