diff --git a/.aiignore b/.aiignore new file mode 100644 index 0000000..eb096a2 --- /dev/null +++ b/.aiignore @@ -0,0 +1,7 @@ +/.op +/stubs + +.DS_Store +.envrc +*.log +*.tmp diff --git a/.gitattributes b/.gitattributes index e1f3001..41dc454 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,18 +1,32 @@ -/.github export-ignore -/.idea export-ignore -/.run export-ignore -/tests export-ignore +/.github export-ignore +/.idea export-ignore +/.op export-ignore +/.run export-ignore +/features export-ignore +/stubs export-ignore +/tests export-ignore +/var export-ignore +/vendor export-ignore -/.editorconfig export-ignore -/.gitattributes export-ignore -/.gitignore export-ignore -/.php-cs-fixer.dist.php export-ignore -/docker-compose.yaml export-ignore -/phpdoc.dist.xml export-ignore -/phpstan.dist.neon export-ignore -/phpstan.neon.example export-ignore -/phpunit.dist.xml export-ignore -/README.md export-ignore +/.aiignore export-ignore +/.editorconfig export-ignore +/.env export-ignore +/.gitattributes export-ignore +/.gitignore export-ignore +/.php-cs-fixer.dist.php export-ignore +/AGENTS.md export-ignore +/behat.dist.yaml export-ignore +/composer.json export-ignore +/composer.lock export-ignore +/docker-compose.yaml export-ignore +/docker-compose.override.yaml export-ignore +/phpdoc.dist.xml export-ignore +/phpstan.dist.neon export-ignore +/phpstan.neon.example export-ignore +/phpunit.dist.xml export-ignore +/README.md export-ignore + +.envrc export-ignore *.php diff=php *.phar -diff diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 26562b7..7f0fa2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,14 +30,12 @@ jobs: with: os: ${{ matrix.os }} - integration-tests: - name: Integration Tests + feature-tests: + name: Feature Tests strategy: matrix: - os: [ubuntu] - composer-version: ['1.10.27', '2.2.27', 'v2'] + os: [ubuntu, windows] fail-fast: false - uses: ./.github/workflows/integration-tests.yml + uses: ./.github/workflows/feature-tests.yml with: os: ${{ matrix.os }} - composer-version: ${{ matrix.composer-version }} diff --git a/.github/workflows/feature-tests.yml b/.github/workflows/feature-tests.yml new file mode 100644 index 0000000..47c1c7f --- /dev/null +++ b/.github/workflows/feature-tests.yml @@ -0,0 +1,40 @@ +name: Feature Tests + +on: + workflow_call: + inputs: + os: + description: Operating System + required: false + type: string + default: ubuntu + +permissions: + checks: write + contents: read + issues: read + pull-requests: write + +jobs: + feature-tests: + name: Behat + strategy: + matrix: + php-version: ['8.1', '8.2', '8.3', '8.4', '8.5'] + behat-profile: ['latest', 'lowest'] + fail-fast: false + runs-on: ${{ inputs.os }}-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup PHP and Install Composer Packages + uses: ./.github/actions/setup + with: + php-version: '${{ matrix.php-version }}' + + - name: Run Docker-Composer Feature Tests + shell: bash + env: + XDEBUG_MODE: 'off' + run: behat --profile ${{ inputs.behat-profile }} diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml deleted file mode 100644 index 59cdbe1..0000000 --- a/.github/workflows/integration-tests.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Integration Tests - -on: - workflow_call: - inputs: - os: - description: Operating System - required: false - type: string - default: ubuntu - composer-version: - description: Composer version to exercise through the integration fixture - required: false - type: string - default: v2 - -permissions: - contents: read - -jobs: - integration-tests: - name: Docker Compose / Composer ${{ inputs.composer-version }} - runs-on: ${{ inputs.os }}-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - - - name: Setup PHP and Install Composer Packages - uses: ./.github/actions/setup - with: - php-version: '8.3' - composer-version: 'v2' - - - name: Setup Composer ${{ inputs.composer-version }} Under Test - if: inputs.composer-version != 'v2' - uses: shivammathur/setup-php@v2 - with: - php-version: '8.3' - tools: composer:${{ inputs.composer-version }} - coverage: none - - - name: Show Tool Versions - shell: bash - run: | - php --version - composer --version - docker --version - docker compose version - - - name: Run Docker Composer Integration Tests - shell: bash - env: - DOCKER_COMPOSER_TEST_COMPOSER_VERSION: ${{ inputs.composer-version }} - XDEBUG_MODE: 'off' - run: vendor/bin/phpunit --testsuite Integration diff --git a/.gitignore b/.gitignore index c014941..49a9154 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ /phpunit.xml .DS_Store +.envrc .git .op Thumbs.db diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 159f3ab..c5a50bc 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -183,5 +183,8 @@