I welcome all contributions to non-digest-assets. Below are some guidelines to help the process of handling issues and pull requests go smoothly.
When creating an issue, please provide as much information as possible, and follow the guidelines below to make it easier for me to figure out what's going on. If you miss any of these points I will probably ask you to improve the ticket.
- Include a clear title describing the problem
- Describe what you are trying to achieve
- Describe what you did, preferably including relevant code
- Describe what you expected to happen
- Describe what happened instead, possibly including relevant output
- Use code blocks to format any code and output in your ticket to make it readable.
If you have an idea for a particular feature, it's probably best to create a GitHub issue for it before trying to implement it yourself. That way, we can discuss the feature and whether it makes sense to include in non-digest-assets itself before putting in the work to implement it.
To send pull requests or patches, please follow the instructions below. If you get stuck, please make a pull request anyway and I'll try to help out.
- Make sure
bundle exec rake
runs without reporting any failures. See Testing your changes below for more details. - Add tests for your feature. Otherwise, I can't see if it works or if I break it later.
- Create a separate branch for your feature based off of latest master.
- Write good commit messages.
- Do not include changes that are irrelevant to your feature in the same commit.
- Keep an eye on the build results in GitHub Actions. If the build fails and it seems due to your changes, please update your pull request with a fix.
You can run the test suite with the latest version of all dependencies by running the following:
- Run
bundle install
if you haven't done so already, orbundle update
to update the dependencies - Run
bundle exec rake
to run the specs - To run the tests suite for a particular version of Rails, use
appraisal. For example, to run the
specs with Rails 6.1, run
appraisal rails_6_1 rake
. See appraisal's documentation for details.
- I will try to review your pull request as soon as possible but I can make no guarantees. Feel free to ping me now and again.
- I will probably ask you to rebase your branch on current master at some point during the review process. If you are unsure how to do this, this in-depth guide should help out.
- I don't do squash merges, so you if you have any unclear commit messages, work-in-progress commits, or commits that just fix a mistake in a previous commits, I will ask you to clean up the history. Again, the git-rebase guide should help out.
- At the end of the review process I may still choose not to merge your pull request. For example, this could happen if I decide the proposed feature should not be part of non-digest-assets, or if the technical implementation does not match where I want to go with the architecture the project.
- I will generally not merge any pull requests that make the build fail, unless it's very clearly not related to the changes in the pull request.