chore: update dependencies to unblock the build (#6589)

- Update the base system image to Alpine 3.21
- Update the Python runtime to 3.13
- Update PHP dependencies:

  - Update PHP from 8.3 to 8.4
  - Update composer from 2.8.3 to 2.8.5
  - Update PHP Codesniffer from 3.10 to 3.11
  - Update PHPStan from 2.0 to 2.1
  - Update Psalm from 5.24 to 6.8

- Update Clang from 17 to 19
This commit is contained in:
Marco Ferrari 2025-02-20 19:28:13 +01:00 committed by GitHub
parent 4a4ab1ed47
commit 6a9eb04b8d
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG key ID: B5690EEEBB952194
5 changed files with 3483 additions and 2275 deletions

View file

@ -30,16 +30,16 @@ FROM ghcr.io/clj-kondo/clj-kondo:2024.11.14-alpine AS clj-kondo
FROM dart:3.5.4-sdk AS dart FROM dart:3.5.4-sdk AS dart
FROM mcr.microsoft.com/dotnet/sdk:9.0.100-alpine3.20 AS dotnet-sdk FROM mcr.microsoft.com/dotnet/sdk:9.0.100-alpine3.20 AS dotnet-sdk
FROM mcr.microsoft.com/powershell:7.4-alpine-3.20 AS powershell FROM mcr.microsoft.com/powershell:7.4-alpine-3.20 AS powershell
FROM composer/composer:2.8.3 AS php-composer FROM composer/composer:2.8.5 AS php-composer
FROM python:3.12.7-alpine3.20 AS clang-format FROM python:3.13.2-alpine3.21 AS clang-format
RUN apk add --no-cache \ RUN apk add --no-cache \
build-base \ build-base \
clang17 \ clang19 \
cmake \ cmake \
git \ git \
llvm17-dev \ llvm19-dev \
ninja-is-really-ninja ninja-is-really-ninja
WORKDIR /tmp WORKDIR /tmp
@ -59,10 +59,12 @@ RUN cmake \
&& ninja clang-format \ && ninja clang-format \
&& mv /tmp/llvm-project/llvm/build/bin/clang-format /usr/bin && mv /tmp/llvm-project/llvm/build/bin/clang-format /usr/bin
FROM python:3.12.7-alpine3.20 AS python-builder FROM python:3.13.2-alpine3.21 AS python-builder
RUN apk add --no-cache \ RUN apk add --no-cache \
bash bash \
cargo \
rust
SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"] SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"]
@ -70,7 +72,7 @@ COPY dependencies/python/ /stage
WORKDIR /stage WORKDIR /stage
RUN ./build-venvs.sh && rm -rfv /stage RUN ./build-venvs.sh && rm -rfv /stage
FROM python:3.12.7-alpine3.20 AS npm-builder FROM python:3.13.2-alpine3.21 AS npm-builder
RUN apk add --no-cache \ RUN apk add --no-cache \
bash \ bash \
@ -101,7 +103,7 @@ COPY TEMPLATES/.tflint.hcl /action/lib/.automation/
# Initialize TFLint plugins so we get plugin versions listed when we ask for TFLint version # Initialize TFLint plugins so we get plugin versions listed when we ask for TFLint version
RUN --mount=type=secret,id=GITHUB_TOKEN GITHUB_TOKEN=$(cat /run/secrets/GITHUB_TOKEN) tflint --init -c /action/lib/.automation/.tflint.hcl RUN --mount=type=secret,id=GITHUB_TOKEN GITHUB_TOKEN=$(cat /run/secrets/GITHUB_TOKEN) tflint --init -c /action/lib/.automation/.tflint.hcl
FROM python:3.12.7-alpine3.20 AS lintr-installer FROM python:3.13.2-alpine3.21 AS lintr-installer
RUN apk add --no-cache \ RUN apk add --no-cache \
bash \ bash \
@ -125,7 +127,7 @@ COPY dependencies/composer/composer.json dependencies/composer/composer.lock /ap
RUN composer update \ RUN composer update \
&& composer audit && composer audit
FROM python:3.12.7-alpine3.20 AS base_image FROM python:3.13.2-alpine3.21 AS base_image
LABEL com.github.actions.name="Super-Linter" \ LABEL com.github.actions.name="Super-Linter" \
com.github.actions.description="Super-linter is a ready-to-run collection of linters and code analyzers, to help validate your source code." \ com.github.actions.description="Super-linter is a ready-to-run collection of linters and code analyzers, to help validate your source code." \
@ -166,19 +168,19 @@ RUN apk add --no-cache \
openssh-client \ openssh-client \
parallel \ parallel \
perl \ perl \
php83 \ php84 \
php83-ctype \ php84-ctype \
php83-curl \ php84-curl \
php83-dom \ php84-dom \
php83-iconv \ php84-iconv \
php83-pecl-igbinary \ php84-pecl-igbinary \
php83-intl \ php84-intl \
php83-mbstring \ php84-mbstring \
php83-openssl \ php84-openssl \
php83-phar \ php84-phar \
php83-simplexml \ php84-simplexml \
php83-tokenizer \ php84-tokenizer \
php83-xmlwriter \ php84-xmlwriter \
R \ R \
rakudo \ rakudo \
ruby \ ruby \
@ -442,6 +444,8 @@ RUN mkdir -p "${HOME}"
ENTRYPOINT ["/action/lib/linter.sh"] ENTRYPOINT ["/action/lib/linter.sh"]
RUN if [ ! -e "/usr/bin/php" ]; then ln -s /usr/bin/php84 /usr/bin/php; fi
FROM base_image AS slim FROM base_image AS slim
# Run to build version file and validate image # Run to build version file and validate image

View file

@ -1,9 +1,9 @@
{ {
"$schema": "https://getcomposer.org/schema.json", "$schema": "https://getcomposer.org/schema.json",
"require": { "require": {
"squizlabs/php_codesniffer": "^3.10.1", "squizlabs/php_codesniffer": "^3.11",
"phpstan/phpstan": "^2.0.1", "phpstan/phpstan": "^2.1",
"vimeo/psalm": "^5.24.0", "vimeo/psalm": "^6.8",
"php": "^8.3" "php": "^8.4"
} }
} }

5671
dependencies/composer/composer.lock generated vendored

File diff suppressed because it is too large Load diff

View file

@ -14,6 +14,11 @@ apk add --no-cache --virtual .python-build-deps \
musl-dev \ musl-dev \
python3-dev python3-dev
# Otherwise, pytries/datrie doesn't build using gcc14
# Ref: https://github.com/pytries/datrie/issues/101
export CFLAGS="-Wno-error=incompatible-pointer-types"
export CXXFLAGS="-Wno-error=incompatible-pointer-types"
############################ ############################
# Create staging directory # # Create staging directory #
############################ ############################

View file

@ -62,19 +62,19 @@ control "super-linter-installed-packages" do
"openssh-client", "openssh-client",
"parallel", "parallel",
"perl", "perl",
"php83", "php84",
"php83-ctype", "php84-ctype",
"php83-curl", "php84-curl",
"php83-dom", "php84-dom",
"php83-iconv", "php84-iconv",
"php83-pecl-igbinary", "php84-pecl-igbinary",
"php83-intl", "php84-intl",
"php83-mbstring", "php84-mbstring",
"php83-openssl", "php84-openssl",
"php83-phar", "php84-phar",
"php83-simplexml", "php84-simplexml",
"php83-tokenizer", "php84-tokenizer",
"php83-xmlwriter", "php84-xmlwriter",
"R", "R",
"rakudo", "rakudo",
"ruby", "ruby",