Skip to content

[ci] windows tests on GitHub actions #13

[ci] windows tests on GitHub actions

[ci] windows tests on GitHub actions #13

Workflow file for this run

name: "CI Windows"
on:
pull_request:
push:
branches:
- 'main'
# schedule:
# - cron: '0 0 * * *'
env:
PHPUNIT_FLAGS: "-v"
SYMFONY_PHPUNIT_DIR: "$HOME/symfony-bridge/.phpunit"
MAKER_SKIP_MERCURE_TEST: true
MAKER_SKIP_PANTHER_TEST: true
jobs:
tests:
name: Testing on Windows
runs-on: [windows-latest]
strategy:
fail-fast: false
matrix:
php-versions: [8.2]
# services:
# mysql:
# image: mysql:5.7
# env:
# MYSQL_ROOT_PASSWORD: root
# MYSQL_DATABASE: test_maker
# ports:
# - 3306
# options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
# This is needed in Windows, otherwise assertions comparing fixtures and generated code will fail.
- name: "Use INPUT for autocrlf in Git Config"
run: git config --global core.autocrlf input
- name: Checkout
uses: actions/checkout@v4
- name: Setup SQLite For Entity Regen Tests
run: |
choco install sqlite --params "/NoTools"
- name: Install MySql
run: |
choco install mysql
- name: Set MySql Root Password
run: |
mysqladmin --user=root password "root"
- name: Verify MySQL connection from host
run: |
mysql --host 127.0.0.1 --port 3306 -uroot -proot -e "SHOW DATABASES;"
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
# tools: composer@v2 // v2 is already the default
extensions: pdo, pdo_mysql, pdo_sqlite
# coverage: xdebug
- name: Composer Install
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "${{ matrix.dependency-versions }}"
- name: PHPUnit Version
run: vendor/bin/simple-phpunit --version
- name: Are the flags working
run: vendor/bin/simple-phpunit --filter MakeFunctionalTestTest -v
# - name: Run Tests
# run: vendor/bin/simple-phpunit ${{ env.PHPUNIT_FLAGS }}
# coding-standards:
# name: "Coding Standards (${{ matrix.php-version }})"
#
# runs-on: ubuntu-latest
#
# strategy:
# fail-fast: false
# matrix:
# php-version:
# - '8.1'
#
# steps:
# -
# name: "Checkout code"
# uses: "actions/checkout@v3"
#
# -
# name: "Install PHP"
# uses: "shivammathur/setup-php@v2"
# with:
# coverage: "none"
# php-version: "${{ matrix.php-version }}"
#
# -
# name: "Validate composer.json"
# run: "composer validate --strict --no-check-lock"
#
# -
# name: "Composer install"
# uses: "ramsey/composer-install@v2"
# with:
# composer-options: "--no-scripts"
#
# -
# name: "Composer install php-cs-fixer"
# uses: "ramsey/composer-install@v2"
# with:
# composer-options: "--no-scripts --working-dir=tools/php-cs-fixer"
#
# -
# name: "Run friendsofphp/php-cs-fixer"
# run: "tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff"
#
# test:
# name: "PHP ${{ matrix.php-version }} + @${{ matrix.symfony-version }} ${{ matrix.dependency-versions }} deps"
#
# runs-on: ubuntu-latest
#
# services:
# mysql:
# image: mysql:5.7 # Update server_version in phpunit.xml.dist if this changes.
# env:
# MYSQL_ROOT_PASSWORD: root
# MYSQL_DATABASE: test_maker
# ports:
# - 3306
# options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
# mercure:
# image: dunglas/mercure
# env:
# SERVER_NAME: :1337
# MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
# MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
# MERCURE_EXTRA_DIRECTIVES: |
# anonymous
# cors_origins *
# ports:
# - 1337:1337
#
# env:
# SYMFONY_VERSION: ${{ matrix.symfony-version }}
# MAKER_ALLOW_DEV_DEPS_IN_APP: ${{ matrix.allow-dev-deps-in-apps }}
#
# strategy:
# fail-fast: false
# matrix:
# php-version:
# - '8.2'
# symfony-version:
# - '6.3.x-dev'
# - '6.4.x-dev'
# - '7.0.x-dev'
# dependency-versions: ['highest']
# allow-dev-deps-in-apps: ['0']
# include:
# # testing lowest PHP+dependencies with lowest Symfony
# - php-version: '8.1'
# symfony-version: '6.3.*'
# dependency-versions: 'lowest'
# # testing lowest PHP+dependencies with highest Symfony
# - php-version: '8.1'
# symfony-version: '6.3.*'
# dependency-versions: 'highest'
#
# steps:
# - name: "Checkout code"
# uses: actions/checkout@v3
#
# - name: "Start MySQL"
# run: |
# sudo /etc/init.d/mysql start
#
# - name: "Verify MySQL connection from host"
# run: |
# mysql --host 127.0.0.1 --port 3306 -uroot -proot -e "SHOW DATABASES;"
#
# - name: "Setup Database"
# run: |
# mysql --host 127.0.0.1 --port 3306 -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test_maker;"
#
# - name: "Install PHP with extensions"
# uses: shivammathur/setup-php@v2
# with:
# coverage: "none"
# php-version: ${{ matrix.php-version }}
# tools: composer:v2
#
# - name: "Add PHPUnit matcher"
# run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
#
# - name: "Composer install"
# uses: "ramsey/composer-install@v2"
# with:
# dependency-versions: "${{ matrix.dependency-versions }}"
#
# - name: "Composer install php-cs-fixer"
# uses: "ramsey/composer-install@v2"
# with:
# composer-options: "--no-scripts --working-dir=tools/php-cs-fixer"
#
# - name: "Composer install twigcs"
# uses: "ramsey/composer-install@v2"
# with:
# composer-options: "--no-scripts --working-dir=tools/twigcs"
#
# - name: "Install PHPUnit"
# run: |
# if [[ ${{ matrix.dependency_versions == 'lowest' }} ]]; then
# echo "SYMFONY_PHPUNIT_REQUIRE=nikic/php-parser:^4.18" >> $GITHUB_ENV
# fi
# vendor/bin/simple-phpunit install
#
# - name: "PHPUnit version"
# run: vendor/bin/simple-phpunit --version
#
# - name: "Run tests"
# run: vendor/bin/simple-phpunit ${{ env.PHPUNIT_FLAGS }}