From a641b76d8ca25c73863b154052f2c946950303b5 Mon Sep 17 00:00:00 2001 From: Jannik Zschiesche Date: Tue, 30 Apr 2024 15:28:30 +0200 Subject: [PATCH 1/6] Allow PhpStan extension --- _init/library/vendor-bin/phpstan/composer.json | 5 ++++- _init/symfony/vendor-bin/phpstan/composer.json | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/_init/library/vendor-bin/phpstan/composer.json b/_init/library/vendor-bin/phpstan/composer.json index 7a62ad9..8469544 100644 --- a/_init/library/vendor-bin/phpstan/composer.json +++ b/_init/library/vendor-bin/phpstan/composer.json @@ -12,6 +12,9 @@ "roave/security-advisories": "dev-latest" }, "config": { - "sort-packages": true + "sort-packages": true, + "allow-plugins": { + "phpstan/extension-installer": true + } } } diff --git a/_init/symfony/vendor-bin/phpstan/composer.json b/_init/symfony/vendor-bin/phpstan/composer.json index 7a62ad9..8469544 100644 --- a/_init/symfony/vendor-bin/phpstan/composer.json +++ b/_init/symfony/vendor-bin/phpstan/composer.json @@ -12,6 +12,9 @@ "roave/security-advisories": "dev-latest" }, "config": { - "sort-packages": true + "sort-packages": true, + "allow-plugins": { + "phpstan/extension-installer": true + } } } From 8032215f8f931533814cd6a2636049237b4ed1b0 Mon Sep 17 00:00:00 2001 From: Jannik Zschiesche Date: Tue, 30 Apr 2024 15:33:10 +0200 Subject: [PATCH 2/6] Always load roave package + use require-dev for tools --- _init/library/vendor-bin/c-norm/composer.json | 5 +++-- _init/library/vendor-bin/cs-fixer/composer.json | 7 ++++--- _init/symfony/vendor-bin/c-norm/composer.json | 5 +++-- _init/symfony/vendor-bin/cs-fixer/composer.json | 7 ++++--- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/_init/library/vendor-bin/c-norm/composer.json b/_init/library/vendor-bin/c-norm/composer.json index 4cd40c9..29d96fe 100644 --- a/_init/library/vendor-bin/c-norm/composer.json +++ b/_init/library/vendor-bin/c-norm/composer.json @@ -1,6 +1,7 @@ { - "require": { - "ergebnis/composer-normalize": "^2.42" + "require-dev": { + "ergebnis/composer-normalize": "^2.42", + "roave/security-advisories": "dev-latest" }, "config": { "allow-plugins": { diff --git a/_init/library/vendor-bin/cs-fixer/composer.json b/_init/library/vendor-bin/cs-fixer/composer.json index 9e9fd74..7088e68 100644 --- a/_init/library/vendor-bin/cs-fixer/composer.json +++ b/_init/library/vendor-bin/cs-fixer/composer.json @@ -1,5 +1,6 @@ { - "require-dev": { - "21torr/php-cs-fixer": "^1.0" - } + "require-dev": { + "21torr/php-cs-fixer": "^1.0", + "roave/security-advisories": "dev-latest" + } } diff --git a/_init/symfony/vendor-bin/c-norm/composer.json b/_init/symfony/vendor-bin/c-norm/composer.json index 4cd40c9..29d96fe 100644 --- a/_init/symfony/vendor-bin/c-norm/composer.json +++ b/_init/symfony/vendor-bin/c-norm/composer.json @@ -1,6 +1,7 @@ { - "require": { - "ergebnis/composer-normalize": "^2.42" + "require-dev": { + "ergebnis/composer-normalize": "^2.42", + "roave/security-advisories": "dev-latest" }, "config": { "allow-plugins": { diff --git a/_init/symfony/vendor-bin/cs-fixer/composer.json b/_init/symfony/vendor-bin/cs-fixer/composer.json index 9e9fd74..7088e68 100644 --- a/_init/symfony/vendor-bin/cs-fixer/composer.json +++ b/_init/symfony/vendor-bin/cs-fixer/composer.json @@ -1,5 +1,6 @@ { - "require-dev": { - "21torr/php-cs-fixer": "^1.0" - } + "require-dev": { + "21torr/php-cs-fixer": "^1.0", + "roave/security-advisories": "dev-latest" + } } From 5dd1b5180d2f6101888309cb32d82fbf2b9a417a Mon Sep 17 00:00:00 2001 From: Jannik Zschiesche Date: Tue, 30 Apr 2024 15:37:21 +0200 Subject: [PATCH 3/6] Fixate bin plugin version --- bin/janus | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/janus b/bin/janus index b4ebe60..c0fc3bc 100755 --- a/bin/janus +++ b/bin/janus @@ -80,7 +80,7 @@ function initializeSymfony (SymfonyStyle $io) : int ], ], "require-dev" => [ - "bamarni/composer-bin-plugin" => "*", + "bamarni/composer-bin-plugin" => "^1.8", "roave/security-advisories" => "dev-latest", ], "scripts" => [ @@ -129,7 +129,7 @@ function initializeLibrary (SymfonyStyle $io) : int ], ], "require-dev" => [ - "bamarni/composer-bin-plugin" => "*", + "bamarni/composer-bin-plugin" => "^1.8", "roave/security-advisories" => "dev-latest", ], "scripts" => [ From 5b338271d4ada90902a77dc6a680d0ee66cadee5 Mon Sep 17 00:00:00 2001 From: Jannik Zschiesche Date: Tue, 30 Apr 2024 15:37:28 +0200 Subject: [PATCH 4/6] Remove phpunit from scripts --- bin/janus | 2 -- 1 file changed, 2 deletions(-) diff --git a/bin/janus b/bin/janus index c0fc3bc..1515440 100755 --- a/bin/janus +++ b/bin/janus @@ -95,7 +95,6 @@ function initializeSymfony (SymfonyStyle $io) : int "vendor-bin/cs-fixer/vendor/bin/php-cs-fixer fix --diff --config vendor-bin/cs-fixer/vendor/21torr/php-cs-fixer/.php-cs-fixer.dist.php --dry-run --no-interaction --ansi", ], "test" => [ - "phpunit", "vendor-bin/test/vendor/bin/phpstan analyze -c phpstan.neon . --ansi", ], ], @@ -142,7 +141,6 @@ function initializeLibrary (SymfonyStyle $io) : int "vendor-bin/cs-fixer/vendor/bin/php-cs-fixer fix --diff --config vendor-bin/cs-fixer/vendor/21torr/php-cs-fixer/.php-cs-fixer.dist.php --dry-run --no-interaction --ansi", ], "test" => [ - "phpunit", "vendor-bin/test/vendor/bin/phpstan analyze -c phpstan.neon . --ansi", ], ], From 1d3393fb4ff6265e74ed7aade9ebd31e4066cd48 Mon Sep 17 00:00:00 2001 From: Jannik Zschiesche Date: Tue, 30 Apr 2024 15:41:45 +0200 Subject: [PATCH 5/6] Add changelog + README --- CHANGELOG.md | 4 ++++ README.md | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 README.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9896f14 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +1.0.0 +===== + +Initial Release `\o/` diff --git a/README.md b/README.md new file mode 100644 index 0000000..5b56008 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +Janus PHP +========== + +Janus is a library to provide the config for our CI / code style tools. + +> 📚 [**Read the docs**](https://21torr-docs.pages.dev/docs/php/tooling/janus-php/) From 8abc12e278fd0bf90f6e76db00ef3b871d3ed78e Mon Sep 17 00:00:00 2001 From: Jannik Zschiesche Date: Tue, 30 Apr 2024 15:48:02 +0200 Subject: [PATCH 6/6] add CI --- .github/CODEOWNERS | 1 + .github/workflows/ci.yml | 53 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 .github/CODEOWNERS create mode 100644 .github/workflows/ci.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..144d20b --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @apfelbox \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..412da9a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +name: CI + +on: [ push ] + +jobs: + build-test: + runs-on: ubuntu-latest + + strategy: + matrix: + php: ['8.3'] + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + coverage: "none" + ini-values: "memory_limit=-1" + php-version: "${{ matrix.php }}" + tools: "composer" + + - name: Display versions + run: | + php --version + php -r 'foreach (get_loaded_extensions() as $extension) echo $extension . " " . phpversion($extension) . PHP_EOL;' + php -i + + - name: "Install Composer: Library / Composer Normalize" + run: composer install --optimize-autoloader --classmap-authoritative --no-interaction + working-directory: _init/library/vendor-bin/c-norm + + - name: "Install Composer: Library / PHP CS Fixer" + run: composer install --optimize-autoloader --classmap-authoritative --no-interaction + working-directory: _init/library/vendor-bin/cs-fixer + + - name: "Install Composer: Library / PHPStan" + run: composer install --optimize-autoloader --classmap-authoritative --no-interaction + working-directory: _init/library/vendor-bin/phpstan + + - name: "Install Composer: Symfony / Composer Normalize" + run: composer install --optimize-autoloader --classmap-authoritative --no-interaction + working-directory: _init/symfony/vendor-bin/c-norm + + - name: "Install Composer: Symfony / PHP CS Fixer" + run: composer install --optimize-autoloader --classmap-authoritative --no-interaction + working-directory: _init/symfony/vendor-bin/cs-fixer + + - name: "Install Composer: Symfony / PHPStan" + run: composer install --optimize-autoloader --classmap-authoritative --no-interaction + working-directory: _init/symfony/vendor-bin/phpstan