diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml new file mode 100644 index 00000000..c84bc85c --- /dev/null +++ b/.github/workflows/continuous-integration.yml @@ -0,0 +1,101 @@ +name: "Continuous Integration" + +on: + pull_request: + push: + branches: + - 'refs/pull/*' + +env: + TEST_TAG: laminas/ci-matrix-action:test + +jobs: + matrix: + name: Generate job matrix + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.matrix.outputs.matrix }} + steps: + - name: Checkout sourcecode + uses: actions/checkout@v3 + - name: Gather integration test directory names + id: matrix + # This provides a dedicated "check" to asynchronously test all integration tests within the tests/ directory + # The project name from the tests/ directory is then re-used within the "qa" job to run the generated "container" + # within that directory. + run: cd tests; echo "::set-output name=matrix::[\"$(ls -d * | tr '\n' ' ' | sed 's/ $//' | sed 's/ /\",\"/g')\"]" + + container: + name: Prepare docker container + runs-on: "ubuntu-latest" + strategy: + fail-fast: true + steps: + - name: Checkout sourcecode + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build container for CI pipeline + uses: docker/build-push-action@v2 + with: + context: . + load: true + push: false + tags: ${{ env.TEST_TAG }} + outputs: type=docker,dest=/tmp/container.tar + cache-from: type=gha + cache-to: type=gha,mode=max + + - name: Upload container artifact + uses: actions/upload-artifact@v2 + with: + name: container + path: /tmp/container.tar + + qa: + name: QA Checks + needs: [matrix, container] + runs-on: "ubuntu-latest" + strategy: + fail-fast: false + matrix: + projectName: ${{ fromJSON(needs.matrix.outputs.matrix) }} + steps: + - name: Checkout sourcecode + uses: actions/checkout@v3 + + - name: Download container artifact + uses: actions/download-artifact@v2 + with: + name: container + path: /tmp + + - name: Load image + run: docker load --input /tmp/container.tar + + - name: "Generating matrix for project: ${{ matrix.projectName }}" + id: matrix_generation + env: + PROJECT_NAME_TO_TEST: ${{ matrix.projectName }} + run: cd tests/${PROJECT_NAME_TO_TEST} && docker run -v $(realpath .):/github/workspace -w=/github/workspace ${TEST_TAG} node ../../index.js $(test -r diff && cat diff || echo -n "") + + - name: "Output generated matrix" + uses: sergeysova/jq-action@v2 + with: + cmd: "jq . < <(echo '${{ steps.matrix_generation.outputs.matrix }}')" + + - name: Minify matrix from test directory + uses: sergeysova/jq-action@v2 + id: expected_matrix + env: + PROJECT_NAME_TO_TEST: ${{ matrix.projectName }} + with: + cmd: 'jq -c . < tests/${PROJECT_NAME_TO_TEST}/matrix.json' + + - name: "verify output of generated matrix for project: empty-project" + run: diff --color <(echo '${{ steps.expected_matrix.outputs.value }}') <(echo '${{ steps.matrix_generation.outputs.matrix }}') diff --git a/.laminas-ci.json b/.laminas-ci.json new file mode 100644 index 00000000..3cfc5fd9 --- /dev/null +++ b/.laminas-ci.json @@ -0,0 +1,10 @@ +{ + "additional_checks": [ + { + "name": "Run matrix on every test project", + "job": { + "command": "for directory tests/*; do cd $directory; node ../../index.js || exit 1; cd ../.." + } + } + ] +} diff --git a/tests/code-check-codeception-dist/.laminas-ci.json b/tests/code-check-codeception-dist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-codeception-dist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-codeception-dist/codeception.yml.dist b/tests/code-check-codeception-dist/codeception.yml.dist new file mode 100644 index 00000000..e69de29b diff --git a/tests/code-check-codeception-dist/matrix.json b/tests/code-check-codeception-dist/matrix.json new file mode 100644 index 00000000..04dceca3 --- /dev/null +++ b/tests/code-check-codeception-dist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/codecept run on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/codecept run\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-codeception-nodist/.laminas-ci.json b/tests/code-check-codeception-nodist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-codeception-nodist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-codeception-nodist/codeception.yml b/tests/code-check-codeception-nodist/codeception.yml new file mode 100644 index 00000000..e69de29b diff --git a/tests/code-check-codeception-nodist/matrix.json b/tests/code-check-codeception-nodist/matrix.json new file mode 100644 index 00000000..04dceca3 --- /dev/null +++ b/tests/code-check-codeception-nodist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/codecept run on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/codecept run\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-composer-require-checker/.laminas-ci.json b/tests/code-check-composer-require-checker/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-composer-require-checker/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-composer-require-checker/composer-require-checker.json b/tests/code-check-composer-require-checker/composer-require-checker.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/tests/code-check-composer-require-checker/composer-require-checker.json @@ -0,0 +1 @@ +{} diff --git a/tests/code-check-composer-require-checker/matrix.json b/tests/code-check-composer-require-checker/matrix.json new file mode 100644 index 00000000..261ec067 --- /dev/null +++ b/tests/code-check-composer-require-checker/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/composer-require-checker check --config-file=composer-require-checker.json -n -v composer.json on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/composer-require-checker check --config-file=composer-require-checker.json -n -v composer.json\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-infection-dist/.laminas-ci.json b/tests/code-check-infection-dist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-infection-dist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-infection-dist/composer.json b/tests/code-check-infection-dist/composer.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/tests/code-check-infection-dist/composer.json @@ -0,0 +1 @@ +{} diff --git a/tests/code-check-infection-dist/infection.json.dist b/tests/code-check-infection-dist/infection.json.dist new file mode 100644 index 00000000..e69de29b diff --git a/tests/code-check-infection-dist/matrix.json b/tests/code-check-infection-dist/matrix.json new file mode 100644 index 00000000..f6d9d253 --- /dev/null +++ b/tests/code-check-infection-dist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "phpdbg -qrr ./vendor/bin/infection on PHP 7.4", + "job": "{\"command\":\"phpdbg -qrr ./vendor/bin/infection\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-infection-nodist/.laminas-ci.json b/tests/code-check-infection-nodist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-infection-nodist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-infection-nodist/composer.json b/tests/code-check-infection-nodist/composer.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/tests/code-check-infection-nodist/composer.json @@ -0,0 +1 @@ +{} diff --git a/tests/code-check-infection-nodist/infection.json b/tests/code-check-infection-nodist/infection.json new file mode 100644 index 00000000..e69de29b diff --git a/tests/code-check-infection-nodist/matrix.json b/tests/code-check-infection-nodist/matrix.json new file mode 100644 index 00000000..f6d9d253 --- /dev/null +++ b/tests/code-check-infection-nodist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "phpdbg -qrr ./vendor/bin/infection on PHP 7.4", + "job": "{\"command\":\"phpdbg -qrr ./vendor/bin/infection\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-infection-roave-static-analysis-plugin-dist/.laminas-ci.json b/tests/code-check-infection-roave-static-analysis-plugin-dist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-infection-roave-static-analysis-plugin-dist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-infection-roave-static-analysis-plugin-dist/composer.json b/tests/code-check-infection-roave-static-analysis-plugin-dist/composer.json new file mode 100644 index 00000000..bef44f26 --- /dev/null +++ b/tests/code-check-infection-roave-static-analysis-plugin-dist/composer.json @@ -0,0 +1,8 @@ +{ + "require": { + "php": "~8.1.0" + }, + "require-dev": { + "roave/infection-static-analysis-plugin": "*" + } +} diff --git a/tests/code-check-infection-roave-static-analysis-plugin-dist/infection.json.dist b/tests/code-check-infection-roave-static-analysis-plugin-dist/infection.json.dist new file mode 100644 index 00000000..e69de29b diff --git a/tests/code-check-infection-roave-static-analysis-plugin-dist/matrix.json b/tests/code-check-infection-roave-static-analysis-plugin-dist/matrix.json new file mode 100644 index 00000000..5b2e9d58 --- /dev/null +++ b/tests/code-check-infection-roave-static-analysis-plugin-dist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "phpdbg -qrr ./vendor/bin/roave-infection-static-analysis-plugin on PHP 8.1", + "job": "{\"command\":\"phpdbg -qrr ./vendor/bin/roave-infection-static-analysis-plugin\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-infection-roave-static-analysis-plugin-nodist/.laminas-ci.json b/tests/code-check-infection-roave-static-analysis-plugin-nodist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-infection-roave-static-analysis-plugin-nodist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-infection-roave-static-analysis-plugin-nodist/composer.json b/tests/code-check-infection-roave-static-analysis-plugin-nodist/composer.json new file mode 100644 index 00000000..bef44f26 --- /dev/null +++ b/tests/code-check-infection-roave-static-analysis-plugin-nodist/composer.json @@ -0,0 +1,8 @@ +{ + "require": { + "php": "~8.1.0" + }, + "require-dev": { + "roave/infection-static-analysis-plugin": "*" + } +} diff --git a/tests/code-check-infection-roave-static-analysis-plugin-nodist/infection.json b/tests/code-check-infection-roave-static-analysis-plugin-nodist/infection.json new file mode 100644 index 00000000..e69de29b diff --git a/tests/code-check-infection-roave-static-analysis-plugin-nodist/matrix.json b/tests/code-check-infection-roave-static-analysis-plugin-nodist/matrix.json new file mode 100644 index 00000000..5b2e9d58 --- /dev/null +++ b/tests/code-check-infection-roave-static-analysis-plugin-nodist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "phpdbg -qrr ./vendor/bin/roave-infection-static-analysis-plugin on PHP 8.1", + "job": "{\"command\":\"phpdbg -qrr ./vendor/bin/roave-infection-static-analysis-plugin\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-phpbench/.laminas-ci.json b/tests/code-check-phpbench/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-phpbench/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-phpbench/matrix.json b/tests/code-check-phpbench/matrix.json new file mode 100644 index 00000000..82d03561 --- /dev/null +++ b/tests/code-check-phpbench/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/phpbench run --revs=2 --iterations=2 --report=aggregate on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/phpbench run --revs=2 --iterations=2 --report=aggregate\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-phpbench/phpbench.json b/tests/code-check-phpbench/phpbench.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/tests/code-check-phpbench/phpbench.json @@ -0,0 +1 @@ +{} diff --git a/tests/code-check-phpcs-dist/.laminas-ci.json b/tests/code-check-phpcs-dist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-phpcs-dist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-phpcs-dist/matrix.json b/tests/code-check-phpcs-dist/matrix.json new file mode 100644 index 00000000..0f91ca7a --- /dev/null +++ b/tests/code-check-phpcs-dist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/phpcs -q --report=checkstyle | cs2pr on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/phpcs -q --report=checkstyle | cs2pr\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-phpcs-dist/phpcs.xml.dist b/tests/code-check-phpcs-dist/phpcs.xml.dist new file mode 100644 index 00000000..0e632ce3 --- /dev/null +++ b/tests/code-check-phpcs-dist/phpcs.xml.dist @@ -0,0 +1,2 @@ + + diff --git a/tests/code-check-phpcs-nodist/.laminas-ci.json b/tests/code-check-phpcs-nodist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-phpcs-nodist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-phpcs-nodist/matrix.json b/tests/code-check-phpcs-nodist/matrix.json new file mode 100644 index 00000000..0f91ca7a --- /dev/null +++ b/tests/code-check-phpcs-nodist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/phpcs -q --report=checkstyle | cs2pr on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/phpcs -q --report=checkstyle | cs2pr\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-phpcs-nodist/phpcs.xml b/tests/code-check-phpcs-nodist/phpcs.xml new file mode 100644 index 00000000..0e632ce3 --- /dev/null +++ b/tests/code-check-phpcs-nodist/phpcs.xml @@ -0,0 +1,2 @@ + + diff --git a/tests/code-check-phpunit-dist/.laminas-ci.json b/tests/code-check-phpunit-dist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-phpunit-dist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-phpunit-dist/composer.json b/tests/code-check-phpunit-dist/composer.json new file mode 100644 index 00000000..a026b4b0 --- /dev/null +++ b/tests/code-check-phpunit-dist/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "php": "~8.1.0" + } +} diff --git a/tests/code-check-phpunit-dist/composer.lock b/tests/code-check-phpunit-dist/composer.lock new file mode 100644 index 00000000..2c63c085 --- /dev/null +++ b/tests/code-check-phpunit-dist/composer.lock @@ -0,0 +1,2 @@ +{ +} diff --git a/tests/code-check-phpunit-dist/matrix.json b/tests/code-check-phpunit-dist/matrix.json new file mode 100644 index 00000000..80f89c89 --- /dev/null +++ b/tests/code-check-phpunit-dist/matrix.json @@ -0,0 +1,22 @@ +{ + "include": [ + { + "name": "PHPUnit on PHP 8.1 with locked dependencies", + "job": "{\"command\":\"./vendor/bin/phpunit\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "PHPUnit on PHP 8.1 with lowest dependencies", + "job": "{\"command\":\"./vendor/bin/phpunit\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"lowest\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "PHPUnit on PHP 8.1 with latest dependencies", + "job": "{\"command\":\"./vendor/bin/phpunit\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"latest\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-phpunit-dist/phpunit.xml.dist b/tests/code-check-phpunit-dist/phpunit.xml.dist new file mode 100644 index 00000000..0e632ce3 --- /dev/null +++ b/tests/code-check-phpunit-dist/phpunit.xml.dist @@ -0,0 +1,2 @@ + + diff --git a/tests/code-check-phpunit-nodist/.laminas-ci.json b/tests/code-check-phpunit-nodist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-phpunit-nodist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-phpunit-nodist/composer.json b/tests/code-check-phpunit-nodist/composer.json new file mode 100644 index 00000000..a026b4b0 --- /dev/null +++ b/tests/code-check-phpunit-nodist/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "php": "~8.1.0" + } +} diff --git a/tests/code-check-phpunit-nodist/matrix.json b/tests/code-check-phpunit-nodist/matrix.json new file mode 100644 index 00000000..4a5c4c6e --- /dev/null +++ b/tests/code-check-phpunit-nodist/matrix.json @@ -0,0 +1,16 @@ +{ + "include": [ + { + "name": "PHPUnit on PHP 8.1 with lowest dependencies", + "job": "{\"command\":\"./vendor/bin/phpunit\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"lowest\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "PHPUnit on PHP 8.1 with latest dependencies", + "job": "{\"command\":\"./vendor/bin/phpunit\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"latest\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-phpunit-nodist/phpunit.xml b/tests/code-check-phpunit-nodist/phpunit.xml new file mode 100644 index 00000000..0e632ce3 --- /dev/null +++ b/tests/code-check-phpunit-nodist/phpunit.xml @@ -0,0 +1,2 @@ + + diff --git a/tests/code-check-psalm-dist/.laminas-ci.json b/tests/code-check-psalm-dist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-psalm-dist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-psalm-dist/matrix.json b/tests/code-check-psalm-dist/matrix.json new file mode 100644 index 00000000..ad0f2e96 --- /dev/null +++ b/tests/code-check-psalm-dist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/psalm --shepherd --stats --output-format=github --no-cache on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/psalm --shepherd --stats --output-format=github --no-cache\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-psalm-dist/psalm.xml.dist b/tests/code-check-psalm-dist/psalm.xml.dist new file mode 100644 index 00000000..0e632ce3 --- /dev/null +++ b/tests/code-check-psalm-dist/psalm.xml.dist @@ -0,0 +1,2 @@ + + diff --git a/tests/code-check-psalm-nodist/.laminas-ci.json b/tests/code-check-psalm-nodist/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/code-check-psalm-nodist/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/code-check-psalm-nodist/matrix.json b/tests/code-check-psalm-nodist/matrix.json new file mode 100644 index 00000000..ad0f2e96 --- /dev/null +++ b/tests/code-check-psalm-nodist/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "./vendor/bin/psalm --shepherd --stats --output-format=github --no-cache on PHP 7.4", + "job": "{\"command\":\"./vendor/bin/psalm --shepherd --stats --output-format=github --no-cache\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/code-check-psalm-nodist/psalm.xml b/tests/code-check-psalm-nodist/psalm.xml new file mode 100644 index 00000000..0e632ce3 --- /dev/null +++ b/tests/code-check-psalm-nodist/psalm.xml @@ -0,0 +1,2 @@ + + diff --git a/tests/configuration-additional-job-latest-php-version/.laminas-ci.json b/tests/configuration-additional-job-latest-php-version/.laminas-ci.json new file mode 100644 index 00000000..7ee28897 --- /dev/null +++ b/tests/configuration-additional-job-latest-php-version/.laminas-ci.json @@ -0,0 +1,11 @@ +{ + "additional_checks": [ + { + "name": "Whatever Check", + "job": { + "php": "@latest", + "command": "test" + } + } + ] +} diff --git a/tests/configuration-additional-job-latest-php-version/composer.json b/tests/configuration-additional-job-latest-php-version/composer.json new file mode 100644 index 00000000..902396cf --- /dev/null +++ b/tests/configuration-additional-job-latest-php-version/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "php": "<=8.1.0" + } +} diff --git a/tests/configuration-additional-job-latest-php-version/matrix.json b/tests/configuration-additional-job-latest-php-version/matrix.json new file mode 100644 index 00000000..b015fdbc --- /dev/null +++ b/tests/configuration-additional-job-latest-php-version/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "Whatever Check on PHP 8.1 with locked dependencies", + "job": "{\"command\":\"test\",\"php\":\"8.1\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/configuration-additional-job-lowest-php-version/.laminas-ci.json b/tests/configuration-additional-job-lowest-php-version/.laminas-ci.json new file mode 100644 index 00000000..20928213 --- /dev/null +++ b/tests/configuration-additional-job-lowest-php-version/.laminas-ci.json @@ -0,0 +1,11 @@ +{ + "additional_checks": [ + { + "name": "Whatever Check", + "job": { + "php": "@lowest", + "command": "test" + } + } + ] +} diff --git a/tests/configuration-additional-job-lowest-php-version/composer.json b/tests/configuration-additional-job-lowest-php-version/composer.json new file mode 100644 index 00000000..35397fba --- /dev/null +++ b/tests/configuration-additional-job-lowest-php-version/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "php": ">=5.6" + } +} diff --git a/tests/configuration-additional-job-lowest-php-version/matrix.json b/tests/configuration-additional-job-lowest-php-version/matrix.json new file mode 100644 index 00000000..ec829e22 --- /dev/null +++ b/tests/configuration-additional-job-lowest-php-version/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "Whatever Check on PHP 5.6 with locked dependencies", + "job": "{\"command\":\"test\",\"php\":\"5.6\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/configuration-explicit-job-wildcard-dependency-set/.laminas-ci.json b/tests/configuration-explicit-job-wildcard-dependency-set/.laminas-ci.json new file mode 100644 index 00000000..535c0e44 --- /dev/null +++ b/tests/configuration-explicit-job-wildcard-dependency-set/.laminas-ci.json @@ -0,0 +1,12 @@ +{ + "checks": [ + { + "name": "Whatever Check", + "job": { + "php": "8.1", + "dependencies": "*", + "command": "test" + } + } + ] +} diff --git a/tests/configuration-explicit-job-wildcard-dependency-set/composer.json b/tests/configuration-explicit-job-wildcard-dependency-set/composer.json new file mode 100644 index 00000000..fb4d5cbe --- /dev/null +++ b/tests/configuration-explicit-job-wildcard-dependency-set/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "php": "~7.4.0 || ~8.0.0" + } +} diff --git a/tests/configuration-explicit-job-wildcard-dependency-set/matrix.json b/tests/configuration-explicit-job-wildcard-dependency-set/matrix.json new file mode 100644 index 00000000..f831a419 --- /dev/null +++ b/tests/configuration-explicit-job-wildcard-dependency-set/matrix.json @@ -0,0 +1,16 @@ +{ + "include": [ + { + "name": "Whatever Check on PHP 8.1 with lowest dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"8.1\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"lowest\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 8.1 with latest dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"8.1\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"latest\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/configuration-explicit-job-wildcard-php/.laminas-ci.json b/tests/configuration-explicit-job-wildcard-php/.laminas-ci.json new file mode 100644 index 00000000..bc384eb5 --- /dev/null +++ b/tests/configuration-explicit-job-wildcard-php/.laminas-ci.json @@ -0,0 +1,11 @@ +{ + "checks": [ + { + "name": "Whatever Check", + "job": { + "php": "*", + "command": "test" + } + } + ] +} diff --git a/tests/configuration-explicit-job-wildcard-php/composer.json b/tests/configuration-explicit-job-wildcard-php/composer.json new file mode 100644 index 00000000..f3afd8a6 --- /dev/null +++ b/tests/configuration-explicit-job-wildcard-php/composer.json @@ -0,0 +1,5 @@ +{ + "require": { + "php": "<=8.1.99" + } +} diff --git a/tests/configuration-explicit-job-wildcard-php/matrix.json b/tests/configuration-explicit-job-wildcard-php/matrix.json new file mode 100644 index 00000000..abf278df --- /dev/null +++ b/tests/configuration-explicit-job-wildcard-php/matrix.json @@ -0,0 +1,52 @@ +{ + "include": [ + { + "name": "Whatever Check on PHP 5.6 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"5.6\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 7.0 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"7.0\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 7.1 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"7.1\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 7.2 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"7.2\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 7.3 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"7.3\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 7.4 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"7.4\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 8.0 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"8.0\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":true,\\\"ignore_php_platform_requirement\\\":true,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + }, + { + "name": "Whatever Check on PHP 8.1 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"8.1\\\",\\\"extensions\\\":[],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/doc-linting-doc-book/.laminas-ci.json b/tests/doc-linting-doc-book/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/doc-linting-doc-book/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/doc-linting-doc-book/doc/book/.gitkeep b/tests/doc-linting-doc-book/doc/book/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/tests/doc-linting-doc-book/matrix.json b/tests/doc-linting-doc-book/matrix.json new file mode 100644 index 00000000..dfffa174 --- /dev/null +++ b/tests/doc-linting-doc-book/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "markdownlint doc/book/**/*.md on PHP 7.4", + "job": "{\"command\":\"markdownlint doc/book/**/*.md\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/doc-linting-docs-book/.laminas-ci.json b/tests/doc-linting-docs-book/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/doc-linting-docs-book/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/doc-linting-docs-book/docs/book/.gitkeep b/tests/doc-linting-docs-book/docs/book/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/tests/doc-linting-docs-book/matrix.json b/tests/doc-linting-docs-book/matrix.json new file mode 100644 index 00000000..771f6240 --- /dev/null +++ b/tests/doc-linting-docs-book/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "markdownlint docs/book/**/*.md on PHP 7.4", + "job": "{\"command\":\"markdownlint docs/book/**/*.md\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/doc-linting-mkdocs/.laminas-ci.json b/tests/doc-linting-mkdocs/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/doc-linting-mkdocs/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/doc-linting-mkdocs/matrix.json b/tests/doc-linting-mkdocs/matrix.json new file mode 100644 index 00000000..30f2518b --- /dev/null +++ b/tests/doc-linting-mkdocs/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "yamllint -d relaxed --no-warnings mkdocs.yml on PHP 7.4", + "job": "{\"command\":\"yamllint -d relaxed --no-warnings mkdocs.yml\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[\"memory_limit = -1\"],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/doc-linting-mkdocs/mkdocs.yml b/tests/doc-linting-mkdocs/mkdocs.yml new file mode 100644 index 00000000..e69de29b diff --git a/tests/extensions-from-composer-json/.laminas-ci.json b/tests/extensions-from-composer-json/.laminas-ci.json new file mode 100644 index 00000000..c3ad139b --- /dev/null +++ b/tests/extensions-from-composer-json/.laminas-ci.json @@ -0,0 +1,11 @@ +{ + "checks": [ + { + "name": "Some Job", + "job": { + "php": "7.4", + "command": "test" + } + } + ] +} diff --git a/tests/extensions-from-composer-json/composer.json b/tests/extensions-from-composer-json/composer.json new file mode 100644 index 00000000..a27e211d --- /dev/null +++ b/tests/extensions-from-composer-json/composer.json @@ -0,0 +1,9 @@ +{ + "require": { + "php": "~8.1.0", + "ext-mbstring": "*" + }, + "require-dev": { + "ext-json": "*" + } +} diff --git a/tests/extensions-from-composer-json/matrix.json b/tests/extensions-from-composer-json/matrix.json new file mode 100644 index 00000000..b4af9cdc --- /dev/null +++ b/tests/extensions-from-composer-json/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "Some Job on PHP 7.4 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"7.4\\\",\\\"extensions\\\":[\\\"mbstring\\\",\\\"json\\\"],\\\"ini\\\":[\\\"memory_limit = -1\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/no-checks/.laminas-ci.json b/tests/no-checks/.laminas-ci.json new file mode 100644 index 00000000..a912e7b6 --- /dev/null +++ b/tests/no-checks/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} diff --git a/tests/no-checks/matrix.json b/tests/no-checks/matrix.json new file mode 100644 index 00000000..f5fa0997 --- /dev/null +++ b/tests/no-checks/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "No checks", + "job": "{\"command\":\"\",\"php\":\"7.4\",\"extensions\":[],\"ini\":[],\"dependencies\":\"locked\",\"ignore_platform_reqs_8\":false,\"ignore_php_platform_requirement\":false,\"additional_composer_arguments\":[]}", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +} diff --git a/tests/php-ini-from-configuration/.laminas-ci.json b/tests/php-ini-from-configuration/.laminas-ci.json new file mode 100644 index 00000000..9259c134 --- /dev/null +++ b/tests/php-ini-from-configuration/.laminas-ci.json @@ -0,0 +1,15 @@ + +{ + "ini": [ + "error_reporting=E_ALL" + ], + "checks": [ + { + "name": "Some Job", + "job": { + "php": "7.4", + "command": "test" + } + } + ] +} diff --git a/tests/php-ini-from-configuration/composer.json b/tests/php-ini-from-configuration/composer.json new file mode 100644 index 00000000..a27e211d --- /dev/null +++ b/tests/php-ini-from-configuration/composer.json @@ -0,0 +1,9 @@ +{ + "require": { + "php": "~8.1.0", + "ext-mbstring": "*" + }, + "require-dev": { + "ext-json": "*" + } +} diff --git a/tests/php-ini-from-configuration/matrix.json b/tests/php-ini-from-configuration/matrix.json new file mode 100644 index 00000000..4030cb59 --- /dev/null +++ b/tests/php-ini-from-configuration/matrix.json @@ -0,0 +1,10 @@ +{ + "include": [ + { + "name": "Some Job on PHP 7.4 with locked dependencies", + "job": "\"{\\\"command\\\":\\\"test\\\",\\\"php\\\":\\\"7.4\\\",\\\"extensions\\\":[\\\"mbstring\\\",\\\"json\\\"],\\\"ini\\\":[\\\"memory_limit = -1\\\",\\\"error_reporting=E_ALL\\\"],\\\"dependencies\\\":\\\"locked\\\",\\\"ignore_platform_reqs_8\\\":false,\\\"ignore_php_platform_requirement\\\":false,\\\"additional_composer_arguments\\\":[]}\"", + "operatingSystem": "ubuntu-latest", + "action": "laminas/laminas-continuous-integration-action@v1" + } + ] +}