140 - Remove the dead Jenkinsfile and Inertia middleware
This commit is contained in:
parent
812c663529
commit
4e3f83142e
2 changed files with 0 additions and 283 deletions
241
Jenkinsfile
vendored
241
Jenkinsfile
vendored
|
|
@ -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'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Http\Middleware;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use Inertia\Middleware;
|
|
||||||
|
|
||||||
class HandleInertiaRequests extends Middleware
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* The root template that's loaded on the first page visit.
|
|
||||||
*
|
|
||||||
* @see https://inertiajs.com/server-side-setup#root-template
|
|
||||||
*
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
protected $rootView = 'app';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Determines the current asset version.
|
|
||||||
*
|
|
||||||
* @see https://inertiajs.com/asset-versioning
|
|
||||||
*/
|
|
||||||
public function version(Request $request): ?string
|
|
||||||
{
|
|
||||||
return parent::version($request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Define the props that are shared by default.
|
|
||||||
*
|
|
||||||
* @see https://inertiajs.com/shared-data
|
|
||||||
*
|
|
||||||
* @return array<string, mixed>
|
|
||||||
*/
|
|
||||||
public function share(Request $request): array
|
|
||||||
{
|
|
||||||
return array_merge(parent::share($request), [
|
|
||||||
//
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in a new issue