(with thanks to the Ruby on Rails guide from which this borrows heavily)
-
Please be sure to follow the exact build instructions in the README.
-
Check the .circleci config to see how to build ACT on a clean installation of a few OS variants. Any commits to the master branch are automatically built on those variants. If the current ACT build is not passing, then the developers are already working on the issue so please don't open a new one.
-
If you have an operating system that differs substantially from a standard Unix platform, please start a discussion on our Mattermost site on the developer channel rather than opening an issue.
-
Please note that if the developers do not already have access to a machine with your specific configuration, it will be difficult for them to be able to replicate your problem. A Mattermost discussion might be the best way to proceed in this case.
-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one.
- Be sure to include a title and clear description, as much relevant information as possible, and an example ACT file along with what you expect and the erroneous behavior.
- For examples of good small test cases, please take a look at the test suite in the act/test/ directories.
- Note that we would like to add your test case to this suite once the issue has been resolved, so please provide a test case where that will be possible and doesn't reveal anything confidential/etc.
- Then, please don't get your hopes up! We will get to it as soon as possible but, unless the issue is a critical one, it is likely to take some time for resolution.
-
Please don't use Github issues as a way to request a feature.
-
We have a Mattermost site where you can self signup, and that is the most appropriate venue for feature requests.
-
Note that the current feature set in the ACT core language has evolved through long experience, so be prepared for a robust discussion before any feature makes it to the TODO list for ACT.
-
Once your feature request goes through the discussion phase, please don't be discouraged if your feature isn't immediately prioritized for implementation.
- There are many tools under development, and many more on the wishlist. Please open a discussion with the developers on the Mattermost site on the feature request channel. Also indicate if you are interested in developing the tool.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution.
- Include the relevant issue number if applicable.
- Please include at least a few small test cases (see above) that exercise your code and demonstrate that the bug has been fixed.
Changes that are cosmetic in nature and do not add anything substantial to the stability or functionality of ACT will generally not be accepted (the Ruby on Rails guide has a nice explanation as to why this is the case).
- Suggest your change on our Mattermost site on the feature request channel. Indicate that you plan to develop the feature.
- Please do not start writing code without a robust discussion on the channel to ensure that your effort is not wasted. Note that feature additions/changes that are likely to break older ACT designs are unlikely to be accepted.
- Do not open an issue on GitHub until you have collected positive feedback about the change. GitHub issues are primarily intended for bug reports and fixes.
- Ask any question on the Mattermost site on the developer channel.
- Please take a look at the existing documentation, and identify the section you would like to contribute to.
- All the documentation uses dokuwiki, so please familiarize yourself with the syntax used.
- Then, please start a discussion on the Mattermost site on the developer channel.
ACT is a volunteer effort. We would love your help!
Thanks!