Contributing to docker/build-push-action

This guide outlines how you can contribute to the docker/build-push-action project.

1. Fork the Repository

Fork the repository on GitHub. This creates a personal copy of the project where you can work on your changes.

2. Clone Your Fork

Clone your forked repository to your local machine:

git clone [email protected]:<your-username>/build-push-action.git

3. Create a Branch

Create a new branch for your changes:

git checkout -b feature/your-feature-name

4. Install Dependencies

Install the project’s dependencies:

npm install

5. Make Your Changes

  • Code: Make your changes to the codebase. Refer to the existing code for style and structure guidance.
  • Tests: Write comprehensive tests for your changes. Use Jest to run these tests. Ensure existing tests are still passing after your changes.

6. Run Linting and Formatting

  • Ensure your code adheres to the project’s style guidelines by running:
npm run lint
npm run format
  • This will check your code for style issues and automatically fix them.

7. Commit Your Changes

Commit your changes with clear and concise commit messages:

git add .
git commit -m "feat: Add your feature"

8. Push Your Branch

Push your branch to your forked repository:

git push origin feature/your-feature-name

9. Create a Pull Request

Go to your forked repository on GitHub and create a pull request against the main branch of the original repository.

10. Review and Feedback

The maintainers will review your pull request and provide feedback. Be prepared to address any feedback and make necessary changes.

11. Merge Your Pull Request

Once your pull request is approved and reviewed, it will be merged into the main branch of the project.

Project-Specific Guidelines:

  • TypeScript: The project uses TypeScript. Familiarity with TypeScript syntax and concepts will be helpful.
  • Dockerfile: The project uses a Dockerfile to build a container image. Familiarity with Dockerfile syntax is recommended.
  • HCL: The project uses HashiCorp Configuration Language (HCL) for configuration files. Understanding HCL syntax is beneficial.
  • Go: The project utilizes Go for its implementation. Knowledge of Go programming language would be advantageous.

Further Information:

  • GitHub Issue Tracker: Use the project’s issue tracker to report bugs or suggest new features.
  • Project Documentation: The project’s documentation might provide more detailed information on specific aspects of the project.
  • Project Community: Engage with the project’s community through the GitHub discussions or other forums to ask questions and get assistance.

Remember to be respectful and constructive in all your interactions with the project maintainers and other contributors.