Manage dev tool binaries with Phive instead of Composer
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 45/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Pouca atividade
- Stack de tecnologia
- php
- Domínio
- build-system, tooling
Direção de pesquisa
Start by reviewing composer.json to identify the development tools currently listed in require-dev, then check the project’s CI configuration and contributor setup for how those tools are installed and run. Compare that flow with the proposed .phive/phars.xml and Phive install command. Done means the tools run in CI and locally without conflicting with dependencies of projects that install the SDK, with the GPG trust and fallback questions resolved.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Background
Dev tools like PHPUnit, PHPStan and PHPCS are currently in require-dev inside composer.json. This couples the project's dependency graph to tooling versions and can cause conflicts when the SDK is installed in a host project.
Proposal: use Phive
Phive installs tools as standalone PHAR files, isolated from the project's Composer dependencies.
A .phive/phars.xml would look like:
<?xml version="1.0"?>
<phive xmlns="https://phar.io/phive">
<phar name="phpunit" version="^9.5" installed="9.6.34" location="./tools/phpunit" copy="false"/>
<phar name="phpstan" version="^1.10" installed="1.10.0" location="./tools/phpstan" copy="false"/>
<phar name="phpcs" version="^3.7" installed="3.7.2" location="./tools/phpcs" copy="false"/>
</phive>
Then in CI: phive install --trust-gpg-keys ...
Open questions
- Is this change worth the added complexity for contributors unfamiliar with Phive?
- Should we keep a
require-devfallback for environments without Phive? - How do we handle GPG key trust in CI?
- Linguagem predominante
- PHP
- Estrelas
- 20
- Forks
- 3
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de openapi/openapi-php-sdk
-
Improve PHPDoc Consistency Across the CodebaseTalvez livre de novo @Seraphim200001 assumiu há 142 dias e não há nenhum pull request aberto. Abertahacktoberfest help wanted
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
openapi/openapi-php-sdk#36 · 3 comentários ·
-
enhancement hacktoberfest help wanted
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
openapi/openapi-php-sdk#34 ·
-
good first issue hacktoberfest question
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
openapi/openapi-php-sdk#33 · 2 comentários ·
-
enhancement hacktoberfest
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
openapi/openapi-php-sdk#32 ·
-
hacktoberfest help wanted question
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
openapi/openapi-php-sdk#31 ·
Todas as issues de openapi/openapi-php-sdk
Issues semelhantes
-
PHP workflow streaming requests buffer the full SSE responseTalvez já em andamento @Winoren assumiu hoje. Abertareview: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
langgenius/dify#44270 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
bug customer-reported
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
MagnaCapax/PMSS#1085 ·
Mantenedores costumam responder em até 5 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
nunomaduro/collision#375 ·
-
enhancement good first issue hacktoberfest help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
thetheago/laravel-seeder-versioning#19 ·
Mantenedores costumam responder em até 1 dia