diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3bca9e818..efd5b7904 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: uses: actions/checkout@v6 - name: 🎯 Check changed files - uses: dorny/paths-filter@v3 + uses: dorny/paths-filter@v4 id: filter with: filters: | @@ -80,7 +80,7 @@ jobs: - name: 📊 Upload actionlint results if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: actionlint-results path: actionlint.log @@ -134,7 +134,7 @@ jobs: - name: 📊 Upload test results if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: frontend-test-results path: apps/frontend/test-results/ @@ -151,7 +151,7 @@ jobs: timeout-minutes: 5 services: postgres: - image: postgres:16-alpine + image: postgres:18-alpine env: POSTGRES_USER: lokifi POSTGRES_PASSWORD: lokifi2025 @@ -165,7 +165,7 @@ jobs: --health-retries 5 redis: - image: redis:7-alpine + image: redis:8-alpine ports: - 6379:6379 options: >- @@ -243,7 +243,7 @@ jobs: - name: 📊 Upload security reports if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: backend-security-reports path: | diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index b61a99b88..2bf2cc601 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -35,7 +35,7 @@ jobs: uses: actions/checkout@v6 - name: 🎯 Check changed files - uses: dorny/paths-filter@v3 + uses: dorny/paths-filter@v4 id: filter with: filters: | @@ -84,7 +84,7 @@ jobs: - name: Upload coverage artifact if: matrix.node-version == '22' - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: frontend-coverage-node-${{ matrix.node-version }} path: apps/frontend/coverage/ @@ -127,7 +127,7 @@ jobs: working-directory: apps/backend services: postgres: - image: postgres:16-alpine + image: postgres:18-alpine env: POSTGRES_USER: lokifi POSTGRES_PASSWORD: lokifi2025 @@ -140,7 +140,7 @@ jobs: --health-timeout 5s --health-retries 5 redis: - image: redis:7-alpine + image: redis:8-alpine ports: - 6379:6379 options: >- @@ -189,7 +189,7 @@ jobs: - name: Upload coverage artifact if: matrix.python-version == '3.13' - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: backend-coverage-python-${{ matrix.python-version }} path: | diff --git a/.github/workflows/e2e-cross-browser-weekly.yml b/.github/workflows/e2e-cross-browser-weekly.yml index a9a2f2774..8008d26a8 100644 --- a/.github/workflows/e2e-cross-browser-weekly.yml +++ b/.github/workflows/e2e-cross-browser-weekly.yml @@ -50,7 +50,7 @@ jobs: - name: 📊 Upload test results if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: playwright-report-${{ matrix.browser }}-${{ github.run_number }} path: apps/frontend/playwright-report/ @@ -58,7 +58,7 @@ jobs: - name: 📊 Upload test results (JSON) if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: test-results-${{ matrix.browser }}-${{ github.run_number }} path: apps/frontend/test-results/ diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 68a5d00f6..5123044da 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -55,7 +55,7 @@ jobs: uses: actions/checkout@v6 - name: 🎯 Check changed files - uses: dorny/paths-filter@v3 + uses: dorny/paths-filter@v4 id: filter with: filters: | @@ -79,7 +79,7 @@ jobs: timeout-minutes: 8 services: postgres: - image: postgres:16-alpine + image: postgres:18-alpine env: POSTGRES_USER: lokifi POSTGRES_PASSWORD: lokifi2025 @@ -92,7 +92,7 @@ jobs: --health-timeout 5s --health-retries 5 redis: - image: redis:7-alpine + image: redis:8-alpine ports: - 6379:6379 options: >- @@ -120,7 +120,7 @@ jobs: - name: 📊 Upload E2E report if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: e2e-critical-report path: apps/frontend/playwright-report/ @@ -129,7 +129,7 @@ jobs: - name: 📸 Upload test screenshots if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: e2e-critical-screenshots path: apps/frontend/test-results/ @@ -148,7 +148,7 @@ jobs: timeout-minutes: 15 services: postgres: - image: postgres:16-alpine + image: postgres:18-alpine env: POSTGRES_USER: lokifi POSTGRES_PASSWORD: lokifi2025 @@ -161,7 +161,7 @@ jobs: --health-timeout 5s --health-retries 5 redis: - image: redis:7-alpine + image: redis:8-alpine ports: - 6379:6379 options: >- @@ -194,7 +194,7 @@ jobs: - name: 📊 Upload E2E report if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: e2e-full-${{ matrix.browser }}-${{ matrix.shard }}-report path: apps/frontend/playwright-report/ @@ -203,7 +203,7 @@ jobs: - name: 📸 Upload test screenshots if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: e2e-full-${{ matrix.browser }}-${{ matrix.shard }}-screenshots path: apps/frontend/test-results/ @@ -299,7 +299,7 @@ jobs: - name: 📊 Upload visual regression report if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: visual-regression-report path: apps/frontend/playwright-report/ @@ -308,7 +308,7 @@ jobs: - name: 📸 Upload visual diffs if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: visual-regression-diffs path: apps/frontend/test-results/ @@ -356,7 +356,7 @@ jobs: - name: 📊 Upload performance report if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: performance-report path: apps/frontend/playwright-report/ diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 6debe26c8..89c1bed90 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -36,7 +36,7 @@ jobs: uses: actions/checkout@v6 - name: 🎯 Check changed files - uses: dorny/paths-filter@v3 + uses: dorny/paths-filter@v4 id: filter with: filters: | @@ -60,7 +60,7 @@ jobs: timeout-minutes: 8 services: postgres: - image: postgres:16-alpine + image: postgres:18-alpine env: POSTGRES_USER: lokifi POSTGRES_PASSWORD: lokifi2025 @@ -73,7 +73,7 @@ jobs: --health-timeout 5s --health-retries 5 redis: - image: redis:7-alpine + image: redis:8-alpine ports: - 6379:6379 options: >- @@ -127,7 +127,7 @@ jobs: - name: 📊 Upload contract test results if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: api-contract-results path: | @@ -163,7 +163,7 @@ jobs: - name: 📊 Upload accessibility report if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: accessibility-report path: | @@ -195,7 +195,7 @@ jobs: services: postgres: - image: postgres:16-alpine + image: postgres:18-alpine env: POSTGRES_USER: lokifi POSTGRES_PASSWORD: lokifi2025 @@ -208,7 +208,7 @@ jobs: --health-timeout 5s --health-retries 5 redis: - image: redis:7-alpine + image: redis:8-alpine ports: - 6379:6379 options: >- @@ -259,7 +259,7 @@ jobs: - name: 📊 Upload integration test results if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: backend-integration-results-python-${{ matrix.python-version }} path: apps/backend/test-results/ @@ -279,7 +279,7 @@ jobs: uses: actions/checkout@v6 - name: 🐳 Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: 📦 Cache Docker layers id: cache diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 2c38f1a06..b88250887 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -45,7 +45,7 @@ jobs: uses: actions/checkout@v6 - name: 🎯 Check changed files - uses: dorny/paths-filter@v3 + uses: dorny/paths-filter@v4 id: filter with: filters: | @@ -194,7 +194,7 @@ jobs: - name: 📈 Upload npm audit report if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: npm-audit-report path: apps/frontend/npm-audit.json @@ -298,7 +298,7 @@ jobs: - name: 📈 Upload pip-audit report if: always() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: pip-audit-report path: apps/backend/pip-audit.json diff --git a/.github/workflows/slack-notifications.yml b/.github/workflows/slack-notifications.yml index 18a03105d..70d6befa0 100644 --- a/.github/workflows/slack-notifications.yml +++ b/.github/workflows/slack-notifications.yml @@ -90,7 +90,7 @@ jobs: core.setOutput('repo-url', `https://github.com/${context.repo.owner}/${context.repo.repo}`); - name: 📢 Send Slack notification - uses: slackapi/slack-github-action@v2.1.1 + uses: slackapi/slack-github-action@v3.0.1 with: # v2 compatibility: webhook inputs (env vars deprecated in v2) webhook: ${{ secrets.SLACK_WEBHOOK_URL }} diff --git a/.github/workflows/slack-pr-notifications.yml b/.github/workflows/slack-pr-notifications.yml index 50ac5cad4..fb85ff8b1 100644 --- a/.github/workflows/slack-pr-notifications.yml +++ b/.github/workflows/slack-pr-notifications.yml @@ -116,7 +116,7 @@ jobs: core.setOutput('pr_title', pr.title); - name: 📢 Send Slack notification - uses: slackapi/slack-github-action@v2.1.1 + uses: slackapi/slack-github-action@v3.0.1 with: # v2 compatibility: webhook inputs (env vars deprecated in v2) webhook: ${{ secrets.SLACK_WEBHOOK_URL }}