What does a basic CI pipeline look like for Node.js, Python, Java, and PHP projects?
Answer
Each language has a typical CI pattern. Node.js: actions/setup-node → npm ci (reproducible install from lockfile) → npm test → npm run build. Python: actions/setup-python → pip install -r requirements.txt → pytest → flake8 for linting. Java (Maven): actions/setup-java → mvn -B package --no-transfer-progress which runs tests during the package phase. PHP (Laravel): shivammathur/setup-php → composer install --no-dev → start a test database → php artisan test. In all cases, the pattern is: install language runtime, install dependencies (using cache), run tests, and optionally build a production artifact. The --no-dev flag for PHP and npm ci instead of npm install ensure reproducible, production-equivalent dependency sets.
Previous
What are common rollback strategies in CI/CD?
Next
What is a deployment environment (dev, staging, prod) in CI/CD?