Compare commits

...

9 Commits

Author SHA1 Message Date
renovate[bot]
a52399cf74 chore(deps): update pre-commit hook astral-sh/ruff-pre-commit (v0.14.6 → v0.14.7) (#385)
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-12-01 18:45:39 +02:00
renovate[bot]
803165db8f chore(deps): update docker/metadata-action action (v5.9.0 → v5.10.0) (#387)
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-12-01 18:45:19 +02:00
renovate[bot]
d69ed9e999 chore(deps): update pre-commit hook astral-sh/uv-pre-commit (0.9.11 → 0.9.13) (#386)
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-12-01 18:44:55 +02:00
renovate[bot]
8eea6f781b chore(deps): update pre-commit hook gitleaks/gitleaks (v8.29.1 → v8.30.0) (#388)
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-12-01 18:44:21 +02:00
renovate[bot]
4889586a94 chore(deps): update python (3.11.14 → 3.14.0) (#382)
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-12-01 09:12:42 +02:00
renovate[bot]
e02ca4d843 chore(deps): update shivammathur/setup-php action (2.35.5 → 2.36.0) (#383)
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-12-01 09:10:48 +02:00
renovate[bot]
13ef0db9ba chore(deps): update oxsecurity/megalinter action (v9.1.0 → v9.2.0) (#381)
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-12-01 09:10:23 +02:00
renovate[bot]
c366e99ee3 chore(deps)!: update node (22.21.1 → 24.11.1) (#380)
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-12-01 07:50:44 +02:00
fbbb487332 fix(pr-lint): corepack detection, tweaks and yarn fix (#379) 2025-11-30 13:46:16 +02:00
9 changed files with 59 additions and 26 deletions

View File

@@ -49,7 +49,7 @@ jobs:
- name: Extract metadata - name: Extract metadata
id: meta id: meta
uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0 uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
with: with:
images: ghcr.io/${{ github.repository_owner }}/actions images: ghcr.io/${{ github.repository_owner }}/actions
tags: | tags: |

View File

@@ -14,7 +14,7 @@ repos:
types: [markdown, python, yaml] types: [markdown, python, yaml]
files: ^(docs/.*|README\.md|CONTRIBUTING\.md|CHANGELOG\.md|.*\.py|.*\.ya?ml)$ files: ^(docs/.*|README\.md|CONTRIBUTING\.md|CHANGELOG\.md|.*\.py|.*\.ya?ml)$
- repo: https://github.com/astral-sh/uv-pre-commit - repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.9.11 rev: 0.9.13
hooks: hooks:
- id: uv-lock - id: uv-lock
- id: uv-sync - id: uv-sync
@@ -55,7 +55,7 @@ repos:
- id: yamllint - id: yamllint
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.6 rev: v0.14.7
hooks: hooks:
# Run the linter with auto-fix # Run the linter with auto-fix
- id: ruff-check - id: ruff-check
@@ -96,6 +96,6 @@ repos:
- '--quiet' - '--quiet'
- repo: https://github.com/gitleaks/gitleaks - repo: https://github.com/gitleaks/gitleaks
rev: v8.29.1 rev: v8.30.0
hooks: hooks:
- id: gitleaks - id: gitleaks

View File

@@ -77,7 +77,7 @@ runs:
if: steps.check-files.outputs.files_found == 'true' if: steps.check-files.outputs.files_found == 'true'
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with: with:
python-version: '3.11' python-version: '3.14'
cache: 'pip' cache: 'pip'
- name: Install ansible-lint - name: Install ansible-lint

View File

@@ -183,7 +183,7 @@ runs:
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with: with:
node-version: '22' node-version: '24'
- name: Enable Corepack - name: Enable Corepack
shell: sh shell: sh

View File

@@ -290,7 +290,7 @@ runs:
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with: with:
node-version: '22' node-version: '24'
- name: Enable Corepack - name: Enable Corepack
shell: sh shell: sh

View File

@@ -123,7 +123,7 @@ runs:
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with: with:
node-version: '22' node-version: '24'
- name: Enable Corepack - name: Enable Corepack
shell: sh shell: sh

View File

@@ -319,7 +319,7 @@ runs:
- name: Setup PHP - name: Setup PHP
id: setup-php id: setup-php
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # 2.35.5 uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # 2.36.0
with: with:
php-version: ${{ steps.detect-php-version.outputs.detected-version }} php-version: ${{ steps.detect-php-version.outputs.detected-version }}
extensions: ${{ inputs.extensions }} extensions: ${{ inputs.extensions }}

View File

@@ -74,6 +74,29 @@ runs:
if [ -f package.json ]; then if [ -f package.json ]; then
printf '%s\n' "found=true" >> "$GITHUB_OUTPUT" printf '%s\n' "found=true" >> "$GITHUB_OUTPUT"
# Check if packageManager field is set (for corepack)
if command -v jq >/dev/null 2>&1; then
has_package_manager=$(jq -r '.packageManager // empty' package.json 2>/dev/null || printf '')
if [ -n "$has_package_manager" ]; then
printf '%s\n' "has-package-manager=true" >> "$GITHUB_OUTPUT"
printf 'Found packageManager field: %s\n' "$has_package_manager"
else
printf '%s\n' "has-package-manager=false" >> "$GITHUB_OUTPUT"
fi
else
# Fallback: check with grep if jq not available
# Use robust pattern to verify non-empty value
if grep -q '"packageManager"[[:space:]]*:[[:space:]]*"[^"]\+"' package.json 2>/dev/null; then
printf '%s\n' "has-package-manager=true" >> "$GITHUB_OUTPUT"
printf '%s\n' "Found packageManager field in package.json"
else
printf '%s\n' "has-package-manager=false" >> "$GITHUB_OUTPUT"
fi
fi
else
# Explicitly set has-package-manager to false when package.json doesn't exist
printf '%s\n' "has-package-manager=false" >> "$GITHUB_OUTPUT"
fi fi
- name: Detect Package Manager - name: Detect Package Manager
@@ -101,28 +124,33 @@ runs:
if: steps.detect-node.outputs.found == 'true' if: steps.detect-node.outputs.found == 'true'
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with: with:
node-version: '22' node-version: '24'
- name: Enable Corepack - name: Enable Corepack
if: steps.detect-node.outputs.found == 'true' if: steps.detect-node.outputs.found == 'true' && steps.detect-node.outputs.has-package-manager == 'true'
shell: sh shell: sh
run: | run: |
set -eu set -eu
corepack enable corepack enable
printf '%s\n' "Corepack enabled - package manager will be installed automatically from package.json"
- name: Install Package Manager - name: Install Package Manager (Fallback)
if: steps.detect-node.outputs.found == 'true' if: steps.detect-node.outputs.found == 'true' && steps.detect-node.outputs.has-package-manager == 'false'
shell: sh shell: sh
env: env:
PACKAGE_MANAGER: ${{ steps.detect-pm.outputs.package-manager }} PACKAGE_MANAGER: ${{ steps.detect-pm.outputs.package-manager }}
run: | run: |
set -eu set -eu
printf 'No packageManager field found, using detected package manager: %s\n' "$PACKAGE_MANAGER"
case "$PACKAGE_MANAGER" in case "$PACKAGE_MANAGER" in
pnpm) pnpm)
corepack enable
corepack prepare pnpm@latest --activate corepack prepare pnpm@latest --activate
;; ;;
yarn) yarn)
corepack enable
corepack prepare yarn@stable --activate corepack prepare yarn@stable --activate
;; ;;
bun|npm) bun|npm)
@@ -161,9 +189,14 @@ runs:
pnpm install --frozen-lockfile pnpm install --frozen-lockfile
;; ;;
"yarn") "yarn")
if [ -f ".yarnrc.yml" ]; then # Detect Yarn version by checking actual version output
# Yarn 2+ (Berry) uses --immutable, Yarn 1.x (Classic) uses --frozen-lockfile
yarn_version=$(yarn --version 2>/dev/null || printf '1.0.0')
if printf '%s' "$yarn_version" | grep -q '^[2-9]'; then
# Yarn 2+ (Berry) - use --immutable
yarn install --immutable yarn install --immutable
else else
# Yarn 1.x (Classic) - use --frozen-lockfile
yarn install --frozen-lockfile yarn install --frozen-lockfile
fi fi
;; ;;
@@ -306,7 +339,7 @@ runs:
- name: Setup PHP - name: Setup PHP
if: steps.detect-php.outputs.found == 'true' if: steps.detect-php.outputs.found == 'true'
uses: shivammathur/setup-php@bf6b4fbd49ca58e4608c9c89fba0b8d90bd2a39f # 2.35.5 uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # 2.36.0
with: with:
php-version: ${{ steps.php-version.outputs.detected-version }} php-version: ${{ steps.php-version.outputs.detected-version }}
tools: composer tools: composer
@@ -323,7 +356,7 @@ runs:
set -eu set -eu
matcher_path=$(printf '%s' "$RUNNER_TOOL_CACHE/php.json" | tr -d '\n\r') matcher_path=$(printf '%s' "$RUNNER_TOOL_CACHE/php.json" | tr -d '\n\r')
echo "::add-matcher::$matcher_path" printf '%s\n' "::add-matcher::$matcher_path"
- name: Install PHP dependencies - name: Install PHP dependencies
if: steps.detect-php.outputs.found == 'true' if: steps.detect-php.outputs.found == 'true'
@@ -603,7 +636,7 @@ runs:
- name: MegaLinter - name: MegaLinter
# You can override MegaLinter flavor used to have faster performances # You can override MegaLinter flavor used to have faster performances
# More info at https://megalinter.io/latest/flavors/ # More info at https://megalinter.io/latest/flavors/
uses: oxsecurity/megalinter/flavors/cupcake@62c799d895af9bcbca5eacfebca29d527f125a57 # v9.1.0 uses: oxsecurity/megalinter/flavors/cupcake@55a59b24a441e0e1943080d4a512d827710d4a9d # v9.2.0
id: ml id: ml
# All available variables are described in documentation # All available variables are described in documentation
@@ -653,8 +686,8 @@ runs:
- name: Export Apply Fixes Variables - name: Export Apply Fixes Variables
shell: sh shell: sh
run: | run: |
echo "APPLY_FIXES_EVENT=pull_request" >> "$GITHUB_ENV" printf '%s\n' "APPLY_FIXES_EVENT=pull_request" >> "$GITHUB_ENV"
echo "APPLY_FIXES_MODE=commit" >> "$GITHUB_ENV" printf '%s\n' "APPLY_FIXES_MODE=commit" >> "$GITHUB_ENV"
# Upload MegaLinter artifacts # Upload MegaLinter artifacts
- name: Archive production artifacts - name: Archive production artifacts
@@ -747,24 +780,24 @@ runs:
branch_ref=$(git for-each-ref --format='%(refname:short)' --points-at=HEAD 'refs/remotes/origin/*' | head -1 | sed 's|^origin/||') branch_ref=$(git for-each-ref --format='%(refname:short)' --points-at=HEAD 'refs/remotes/origin/*' | head -1 | sed 's|^origin/||')
if [ -z "$branch_ref" ]; then if [ -z "$branch_ref" ]; then
echo "::error::Could not determine branch name from git refs" printf '%s\n' "::error::Could not determine branch name from git refs"
exit 1 exit 1
fi fi
# Validate branch reference to prevent command injection # Validate branch reference to prevent command injection
if ! git check-ref-format --branch "$branch_ref"; then if ! git check-ref-format --branch "$branch_ref"; then
echo "::error::Invalid branch reference format: $branch_ref" printf '%s\n' "::error::Invalid branch reference format: $branch_ref"
exit 1 exit 1
fi fi
echo "Checking out branch: $branch_ref" printf 'Checking out branch: %s\n' "$branch_ref"
git checkout "$branch_ref" git checkout "$branch_ref"
# Export for next step # Export for next step
echo "VALIDATED_BRANCH=$branch_ref" >> "$GITHUB_ENV" printf '%s\n' "VALIDATED_BRANCH=$branch_ref" >> "$GITHUB_ENV"
else else
echo "Repository is on branch: $current_branch" printf 'Repository is on branch: %s\n' "$current_branch"
echo "VALIDATED_BRANCH=$current_branch" >> "$GITHUB_ENV" printf '%s\n' "VALIDATED_BRANCH=$current_branch" >> "$GITHUB_ENV"
fi fi
- name: Commit and push applied linter fixes - name: Commit and push applied linter fixes

View File

@@ -276,7 +276,7 @@ runs:
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with: with:
node-version: '22' node-version: '24'
- name: Enable Corepack - name: Enable Corepack
shell: sh shell: sh