Skip to content

chore(deps): update actions/checkout action to v5 #835

chore(deps): update actions/checkout action to v5

chore(deps): update actions/checkout action to v5 #835

Workflow file for this run

name: CI Pipeline
on:
push:
paths-ignore:
- '**.md'
- 'docs/**'
- '.gitignore'
pull_request:
paths-ignore:
- '**.md'
- 'docs/**'
- '.gitignore'
env:
NODE_VERSION: '22'
DOCKER_COMPOSE_VERSION: '2.29.7'
PHP_VERSION: '8.3'
jobs:
ci:
runs-on: ubuntu-24.04
timeout-minutes: 60
env:
DOCKER_INTERACTIVE: false
steps:
# === SETUP PHASE ===
- name: Checkout
uses: actions/checkout@v5
with:
submodules: recursive
- name: Setup Docker Compose
run: |
if ! command -v docker-compose &> /dev/null; then
sudo curl -L "https://github.com/docker/compose/releases/download/v${{ env.DOCKER_COMPOSE_VERSION }}/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
docker-compose --version
- name: Setup Task
uses: go-task/setup-task@v1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
cache-dependency-path: 'package-lock.json'
- name: Repository lampy
uses: actions/checkout@v5
with:
submodules: recursive
repository: koromerzhin/lampy
ref: 'v4.0'
path: lampy
# === BUILD PHASE ===
- name: Install dependencies
run: npm ci --prefer-offline --no-audit
- name: Build assets
run: npm run encore:build
env:
NODE_ENV: production
- name: Setup environment files
run: |
cp apps/.env.test apps/.env
cp .env.example .env
echo "APP_ENV=test" >> apps/.env
# === INFRASTRUCTURE PHASE ===
- name: Setup Docker cache
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Setup database and infrastructure
run: |
task phpfpm:copysql
cd lampy && task lampy:exec
- name: Deploy containers
run: |
task phpfpm:getpull-image
task phpfpm:getapacheconf
task phpfpm:install-first
task phpfpm:deploy
task phpfpm:waiting
- name: Run Cypress tests
uses: cypress-io/github-action@v6
continue-on-error: true
with:
wait-on-timeout: 120
browser: chrome
record: false
parallel: false
config: screenshotOnRunFailure=true,video=true,videoCompression=32,defaultCommandTimeout=10000,requestTimeout=10000,responseTimeout=10000,retries={"runMode":2,"openMode":0}
env:
CYPRESS_CACHE_FOLDER: ~/.cache/Cypress
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# === ARTIFACTS PHASE ===
- name: Archive test results
uses: actions/upload-artifact@v4
if: always()
with:
name: "test-results-${{ github.run_number }}-${{ github.sha }}"
path: |
cypress/screenshots
cypress/videos
cypress/reports
retention-days: 7
if-no-files-found: ignore
compression-level: 6