Skip to content

[#1642] Added support for migration DB. #2252

[#1642] Added support for migration DB.

[#1642] Added support for migration DB. #2252

# This action is used for Vortex maintenance. It will not be used in the scaffolded project.
name: Vortex - Test installer
on:
push:
branches:
- main
- release/**
- project/**
pull_request:
branches:
- main
- feature/**
- bugfix/**
- release/**
- project/**
jobs:
vortex-test-installer:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['8.2', '8.3', '8.4']
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Setup PHP
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: pcov
ini-values: pcov.directory=.
- name: Setup Node.js
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: 22.17.1
- name: Set default branch name
run: git config --global init.defaultBranch >/dev/null || git config --global init.defaultBranch "main"
- name: Install dependencies
run: composer install
working-directory: .vortex/installer
- name: Validate Composer configuration is normalized
run: composer normalize --dry-run
working-directory: .vortex/installer
- name: Check coding standards
run: composer lint
working-directory: .vortex/installer
- name: Run tests
run: composer test-coverage
working-directory: .vortex/installer
env:
GITHUB_TOKEN: ${{ secrets.PACKAGE_TOKEN }}
- name: Generate video for installer (not used in the final artifact)
run: |
sudo apt-get update
sudo apt install asciinema expect
npm i -g sharp-cli
yarn install --frozen-lockfile
./.utils/update-installer-video.sh
working-directory: .vortex/docs
- name: Upload coverage reports as an artifact
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: ${{github.job}}-code-coverage-report-${{ matrix.php-versions }}
path: .vortex/installer/.logs
include-hidden-files: true
if-no-files-found: error
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
with:
files: .vortex/installer/.logs/cobertura.xml
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
# Smoke test for PHAR.
- name: Build PHAR
run: composer build
working-directory: .vortex/installer
- name: Test PHAR
run: |
./build/installer.phar --version
./build/installer.phar --no-interaction --no-cleanup --destination=test || exit 1
working-directory: .vortex/installer
- name: Upload installer artifact
if: matrix.php-versions == '8.2'
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
with:
name: vortex-installer
path: .vortex/installer/build/installer.phar
if-no-files-found: error