diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index cb3dd354..00000000 --- a/Jenkinsfile +++ /dev/null @@ -1,241 +0,0 @@ -pipeline { - agent any - - environment { - APP_ENV = 'testing' - DB_CONNECTION = 'mysql' - DB_HOST = 'mysql' - DB_PORT = '3306' - DB_DATABASE = 'ffr_testing' - DB_USERNAME = 'ffr_user' - DB_PASSWORD = 'ffr_password' - CACHE_STORE = 'array' - SESSION_DRIVER = 'array' - QUEUE_CONNECTION = 'sync' - } - - stages { - stage('Checkout') { - steps { - checkout scm - } - } - - stage('Setup Environment') { - steps { - script { - sh ''' - echo "Setting up environment for testing..." - cp .env.example .env.testing - echo "APP_ENV=testing" >> .env.testing - echo "DB_CONNECTION=${DB_CONNECTION}" >> .env.testing - echo "DB_HOST=${DB_HOST}" >> .env.testing - echo "DB_PORT=${DB_PORT}" >> .env.testing - echo "DB_DATABASE=${DB_DATABASE}" >> .env.testing - echo "DB_USERNAME=${DB_USERNAME}" >> .env.testing - echo "DB_PASSWORD=${DB_PASSWORD}" >> .env.testing - echo "CACHE_STORE=${CACHE_STORE}" >> .env.testing - echo "SESSION_DRIVER=${SESSION_DRIVER}" >> .env.testing - echo "QUEUE_CONNECTION=${QUEUE_CONNECTION}" >> .env.testing - ''' - } - } - } - - stage('Install Dependencies') { - parallel { - stage('PHP Dependencies') { - steps { - sh ''' - echo "Installing PHP dependencies..." - composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev - ''' - } - } - stage('Node Dependencies') { - steps { - sh ''' - echo "Installing Node.js dependencies..." - npm ci - ''' - } - } - } - } - - stage('Generate Application Key') { - steps { - sh ''' - php artisan key:generate --env=testing --force - ''' - } - } - - stage('Database Setup') { - steps { - sh ''' - echo "Setting up test database..." - php artisan migrate:fresh --env=testing --force - php artisan config:clear --env=testing - ''' - } - } - - stage('Code Quality Checks') { - parallel { - stage('PHP Syntax Check') { - steps { - sh ''' - echo "Checking PHP syntax..." - find . -name "*.php" -not -path "./vendor/*" -not -path "./node_modules/*" -exec php -l {} \\; - ''' - } - } - stage('PHPStan Analysis') { - steps { - script { - try { - sh ''' - if [ -f "phpstan.neon" ]; then - echo "Running PHPStan static analysis..." - ./vendor/bin/phpstan analyse --no-progress --error-format=table - else - echo "PHPStan configuration not found, skipping static analysis" - fi - ''' - } catch (Exception e) { - unstable(message: "PHPStan found issues") - } - } - } - } - stage('Security Audit') { - steps { - script { - try { - sh ''' - echo "Running security audit..." - composer audit - ''' - } catch (Exception e) { - unstable(message: "Security vulnerabilities found") - } - } - } - } - } - } - - stage('Unit Tests') { - steps { - sh ''' - echo "Running Unit Tests..." - php artisan test tests/Unit/ --env=testing --stop-on-failure - ''' - } - post { - always { - publishTestResults testResultsPattern: 'tests/Unit/results/*.xml' - } - } - } - - stage('Feature Tests') { - steps { - sh ''' - echo "Running Feature Tests..." - php artisan test tests/Feature/ --env=testing --stop-on-failure - ''' - } - post { - always { - publishTestResults testResultsPattern: 'tests/Feature/results/*.xml' - } - } - } - - stage('Full Regression Test Suite') { - steps { - sh ''' - echo "Running comprehensive regression test suite..." - chmod +x ./run-regression-tests.sh - ./run-regression-tests.sh - ''' - } - post { - always { - // Archive test results - archiveArtifacts artifacts: 'tests/reports/**/*', allowEmptyArchive: true - - // Publish coverage reports if available - publishHTML([ - allowMissing: false, - alwaysLinkToLastBuild: true, - keepAll: true, - reportDir: 'coverage', - reportFiles: 'index.html', - reportName: 'Coverage Report' - ]) - } - } - } - - stage('Performance Tests') { - steps { - script { - try { - sh ''' - echo "Running performance tests..." - - # Test memory usage - php -d memory_limit=256M artisan test tests/Feature/DatabaseIntegrationTest.php --env=testing - - # Test response times for API endpoints - time php artisan test tests/Feature/ApiEndpointRegressionTest.php --env=testing - ''' - } catch (Exception e) { - unstable(message: "Performance tests indicated potential issues") - } - } - } - } - - stage('Build Assets') { - when { - anyOf { - branch 'main' - branch 'develop' - } - } - steps { - sh ''' - echo "Building production assets..." - npm run build - ''' - } - } - } - - post { - always { - // Clean up - sh ''' - echo "Cleaning up..." - rm -f .env.testing - ''' - } - success { - echo '✅ All regression tests passed successfully!' - // Notify success (customize as needed) - // slackSend channel: '#dev-team', color: 'good', message: "Regression tests passed for ${env.JOB_NAME} - ${env.BUILD_NUMBER}" - } - failure { - echo '❌ Regression tests failed!' - // Notify failure (customize as needed) - // slackSend channel: '#dev-team', color: 'danger', message: "Regression tests failed for ${env.JOB_NAME} - ${env.BUILD_NUMBER}" - } - unstable { - echo '⚠️ Tests completed with warnings' - } - } -} \ No newline at end of file diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php deleted file mode 100644 index 81c999cc..00000000 --- a/app/Http/Middleware/HandleInertiaRequests.php +++ /dev/null @@ -1,42 +0,0 @@ - - */ - public function share(Request $request): array - { - return array_merge(parent::share($request), [ - // - ]); - } -}