setup-php/.github/CONTRIBUTING.md
2023-06-12 04:45:59 +05:30

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 build
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: