2.9 KiB
Contributing to setup-php
Welcome!
We look forward to your contributions! Here are some examples how you can contribute:
Contributor Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Getting Started
To get started fork setup-php
and clone it using git:
git clone https://github.com/<your-username>/setup-php.git
cd setup-php
If you are using Windows
configure git
to handle line endings.
git config --local core.autocrlf true
Install setup-php
dependencies using npm:
npm install
Workflow to create Pull Requests
- Fork the
setup-php
project and clone it. - Create a new branch from the develop branch.
- Make your bug fix or feature addition.
- Add tests for it, so we don't break it in a future version unintentionally.
- Ensure the test suite passes and the code complies with our coding guidelines (see below).
- Send a pull request to the develop branch with all the details.
- If possible, create a GitHub Actions workflow with an integration test for the change in a demo repository and link it in your pull request.
Please make sure that you have set up your user name and email address for use with Git. Strings such as silly nick name <root@localhost>
look really stupid in the commit history of a project.
Due to time constraints, you may not always get a quick response. Please do not take delays personally and feel free to remind.
Coding Guidelines
This project comes with .prettierrc.json
and eslintrc.json
configuration files. Please run the following commands to fix and verify the code quality.
npm run format
npm run lint
Running the test suite
After following the steps shown above, The setup-php
tests in the __tests__
directory can be run using this command:
npm test
Creating a release
Creating a release means compiling all the TypeScript code to a single file which setup-php
can run. Run this, before you push your changes.
npm run release
Reporting issues and discussions
For questions or support, we prefer GitHub Discussions. For any bugs or new features you can create an issue using the appropriate template: