1 Commits

Author SHA1 Message Date
fdebfcb986 fix: add retry logic to composer install steps to resolve DNS timeout failures
Replace bare 'composer install' with ramsey/composer-install action (which
provides built-in retry, caching, and --prefer-dist) in code-quality.yml and
tests.yml. Add a 3-attempt shell retry loop in release.yml where --no-dev
--optimize-autoloader flags are required.

phpunit.yml already used ramsey/composer-install and is unaffected.

Closes #57
2026-03-17 09:34:31 +00:00
5 changed files with 25 additions and 26 deletions

View File

@@ -27,7 +27,9 @@ jobs:
tools: composer:v2
- name: Install dependencies
run: composer install --prefer-dist --no-progress
uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
with:
composer-options: "--prefer-dist --no-progress"
- name: Run PHPCS
run: composer phpcs
@@ -54,7 +56,9 @@ jobs:
tools: composer:v2, phpstan
- name: Install dependencies
run: composer install --prefer-dist --no-progress
uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
with:
composer-options: "--prefer-dist --no-progress"
- name: Run PHPStan
run: composer phpstan
@@ -75,7 +79,9 @@ jobs:
tools: composer:v2, phpmd
- name: Install dependencies
run: composer install --prefer-dist --no-progress
uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
with:
composer-options: "--prefer-dist --no-progress"
- name: Run PHPMD
run: composer phpmd
@@ -143,10 +149,8 @@ jobs:
- name: Check if Codacy token is set
id: check_codacy_token
env:
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
run: |
if [ -z "$CODACY_PROJECT_TOKEN" ]; then
if [ -z "${{ secrets.CODACY_PROJECT_TOKEN }}" ]; then
echo "CODACY_PROJECT_TOKEN is not set, running Codacy without upload"
echo "skip_upload=true" >> $GITHUB_OUTPUT
else

View File

@@ -34,7 +34,12 @@ jobs:
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Install dependencies
run: composer install --no-dev --optimize-autoloader
run: |
for i in 1 2 3; do
composer install --no-dev --optimize-autoloader --prefer-dist && break
echo "Composer install attempt $i failed, retrying in 15s..."
sleep 15
done
- name: Create build directory
run: |

View File

@@ -39,10 +39,8 @@ jobs:
- name: Check if SonarCloud token is set
id: check_token
env:
SONARCLOUD_GITHUB: ${{ secrets.SONARCLOUD_GITHUB }}
run: |
if [ -z "$SONARCLOUD_GITHUB" ]; then
if [ -z "${{ secrets.SONARCLOUD_GITHUB }}" ]; then
echo "SONARCLOUD_GITHUB is not set, skipping SonarCloud analysis"
echo "skip=true" >> $GITHUB_OUTPUT
else

View File

@@ -23,16 +23,10 @@ jobs:
git config --global user.email "actions@github.com"
- name: Clone wiki repository
env:
GH_REPOSITORY: ${{ github.repository }}
run: |
git clone "https://github.com/${GH_REPOSITORY}.wiki.git" wiki
git clone https://github.com/${{ github.repository }}.wiki.git wiki
- name: Sync wiki content
env:
GH_ACTOR: ${{ github.actor }}
GH_REPOSITORY: ${{ github.repository }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Remove all files from wiki repository except .git
find wiki -mindepth 1 -maxdepth 1 -not -name '.git' -exec rm -rf {} \;
@@ -56,4 +50,4 @@ jobs:
git commit -m "Sync wiki from source repository"
# Push changes
git push "https://${GH_ACTOR}:${GH_TOKEN}@github.com/${GH_REPOSITORY}.wiki.git"
git push https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.wiki.git

View File

@@ -28,11 +28,10 @@ jobs:
extensions: mbstring, intl, zip
tools: composer:v2
- name: Clear Composer Cache
run: composer clear-cache
- name: Install dependencies
run: composer install --prefer-dist --no-progress
uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
with:
composer-options: "--prefer-dist --no-progress"
- name: Run tests
run: ./vendor/bin/phpunit
@@ -54,11 +53,10 @@ jobs:
extensions: mbstring, intl, zip
tools: composer:v2, phpcs
- name: Clear Composer Cache
run: composer clear-cache
- name: Install dependencies
run: composer install --prefer-dist --no-progress
uses: ramsey/composer-install@83af392bf5f031813d25e6fe4cd626cdba9a2df6 # v2.2.0
with:
composer-options: "--prefer-dist --no-progress"
- name: Run PHPCS
run: composer run phpcs