Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
1f6da3f
First attempt to provide Windows support in filesystem library
norberttech Sep 18, 2025
a6ab0bc
Run tests on Windows at GitHub Actions
norberttech Sep 18, 2025
8c4c0e6
Fixed static analysis errors
norberttech Sep 18, 2025
6fb7fbd
Static analysis and coding standards
norberttech Sep 18, 2025
16c5bf4
added missing extensions
norberttech Sep 18, 2025
ca4e7ad
Added missing zip extension
norberttech Sep 18, 2025
f3c8e63
Added pcov extension for code coverage
norberttech Sep 18, 2025
33493dc
Added operating system trait helping to makr os specific tests skipped
norberttech Sep 18, 2025
cd12be3
Separate Unix from Windows filesystem tests
norberttech Sep 19, 2025
d17b3aa
Separate Windows from Unix filesystem tests - fixed console outputs
norberttech Sep 20, 2025
0c79e0c
CS Fixes
norberttech Sep 20, 2025
15b5237
Cleanup testsuite and split windows / unix filesystem tests
norberttech Sep 20, 2025
a81bb80
Cleanup Windows Test Suite
norberttech Sep 20, 2025
87dc0e5
Mark DB related tests skipped on Windows
norberttech Sep 20, 2025
dce57ea
Removed doctrine dbal bulk tests from windows test suite
norberttech Sep 20, 2025
3485abf
Removed development leftovers
norberttech Sep 20, 2025
616d02f
Mark CSV failing tests on windows as skipped
norberttech Sep 20, 2025
cb381cb
Fixed failing tests
norberttech Sep 21, 2025
7fc69c5
Skip more irellevant tests on windows
norberttech Sep 21, 2025
3d377c0
Improve unit test coverage for Unix/Windows paths
norberttech Sep 21, 2025
ca38e9f
Removed tests that are touching FS from Path unit tests
norberttech Sep 21, 2025
83ad0da
Simplified paths tests
norberttech Sep 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 4 additions & 34 deletions .github/workflows/test-suite-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,15 @@ on:
paths-ignore:
- 'CHANGELOG.md'

# See https://stackoverflow.com/a/72408109
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
tests-windows:
name: "Windows Tests (Experimental)"
name: "Windows Tests"
runs-on: windows-latest
timeout-minutes: 20
continue-on-error: true # Allow failures for Windows tests

strategy:
fail-fast: false
Expand All @@ -49,7 +47,7 @@ jobs:
tools: composer:v2
php-version: "${{ matrix.php-version }}"
ini-values: memory_limit=-1, post_max_size=32M, upload_max_filesize=32M
extensions: :psr, bcmath, dom, hash, json, mbstring, xml, xmlwriter, xmlreader, zlib, curl
extensions: :psr, bcmath, dom, hash, json, mbstring, xml, xmlwriter, xmlreader, zlib, curl, fileinfo, openssl, sodium, zip, pcov

- name: "List PHP Extensions"
run: php -m
Expand All @@ -75,89 +73,61 @@ jobs:

- name: "Test - ETL Core"
run: "composer test:core"
continue-on-error: true

- name: "Test - CLI"
run: "composer test:cli"
continue-on-error: true

- name: "Test - Lib - Array Dot"
run: "composer test:lib:array-dot"
continue-on-error: true

- name: "Test - Lib - Azure SDK"
run: "composer test:lib:azure-sdk"
continue-on-error: true

- name: "Test - Lib - Doctrine DBAL Bulk"
run: "composer test:lib:doctrine-dbal-bulk"
continue-on-error: true

- name: "Test - Lib - Filesystem (Critical for Windows)"
- name: "Test - Lib - Filesystem"
run: "composer test:lib:filesystem"
continue-on-error: false # This should pass on Windows now

- name: "Test - Lib - Types"
run: "composer test:lib:types"
continue-on-error: true

- name: "Test - Lib - Parquet"
run: "composer test:lib:parquet"
continue-on-error: true
env:
FLOW_PARQUET_TESTS_DEBUG: "0"

- name: "Test - Lib - Parquet Viewer"
run: "composer test:lib:parquet-viewer"
continue-on-error: true

- name: "Test - Lib - Snappy"
run: "composer test:lib:snappy"
continue-on-error: true

- name: "Test - Adapter - ChartJs"
run: "composer test:adapter:chartjs"
continue-on-error: true

- name: "Test - Adapter - CSV"
run: "composer test:adapter:csv"
continue-on-error: true

- name: "Test - Adapter - Excel"
run: "composer test:adapter:excel"
continue-on-error: true

- name: "Test - Adapter - Google Sheet"
run: "composer test:adapter:google-sheet"
continue-on-error: true

- name: "Test - Adapter - Http"
run: "composer test:adapter:http"
continue-on-error: true

- name: "Test - Adapter - Json"
run: "composer test:adapter:json"
continue-on-error: true

- name: "Test - Adapter - Logger"
run: "composer test:adapter:logger"
continue-on-error: true

- name: "Test - Adapter - Parquet"
run: "composer test:adapter:parquet"
continue-on-error: true

- name: "Test - Adapter - Text"
run: "composer test:adapter:text"
continue-on-error: true

- name: "Test - Adapter - XML"
run: "composer test:adapter:xml"
continue-on-error: true

- name: "Windows Test Summary"
if: always()
run: |
echo "Windows test run completed for PHP ${{ matrix.php-version }}"
echo "Note: Some test failures are expected on Windows as this is experimental"
echo "Critical filesystem tests should pass with the new Windows support implementation"
echo "Windows test run completed for PHP ${{ matrix.php-version }}"
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ Flow is a PHP-based, strongly typed data processing framework with a low memory
Supported PHP
versions: [![PHP 8.2](https://img.shields.io/badge/php-~8.2-8892BF.svg)](https://php.net/) [![PHP 8.3](https://img.shields.io/badge/php-~8.3-8892BF.svg)](https://php.net/) [![PHP 8.4](https://img.shields.io/badge/php-~8.4-8892BF.svg)](https://php.net/)

Supported Operating Systems
- Linux
- macOS
- Windows (experimental)


---

## Usage Example
Expand Down
147 changes: 120 additions & 27 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading