Skip to content

Latest commit

 

History

History
116 lines (78 loc) · 4.15 KB

CONTRIBUTING.md

File metadata and controls

116 lines (78 loc) · 4.15 KB

Contributing to Packages Test

Bug Reports

Any bugs (or things that look like bugs) can be reported on the GitHub issue tracker.

Make sure you check to see if someone has already reported your bug first! Don't fret about it; if we notice a duplicate we'll send you a link to the right issue!

Feature Requests

If there are any features you think are missing from Packages Test, you can post a request in the GitHub issue tracker.

Just like bug reports, take a peak at the issue tracker for duplicates before opening a new feature request.

Documentation

The official Packages Test documentation is built using MkDocs.

To work on the documentation, you need:

  • Python 3.x and Pip
  • Mkdocs and Dependencies (pip install -r docs/requirements.txt)

To view the documentation locally with live-reloading, use:

mkdocs serve

Once your documentation changes are ready, commit the changes to docs and push them!

Right now, documentation has to be manually deployed by someone with commit access to the gh-pages branch. Just run:

mkdocs gh-deploy

Edit-Test Workflow

To work on Packages Test, you need:

  • Git
  • Lua 5.1
  • Lemur's dependencies:
  • Luacheck (luarocks install luacheck)
  • LuaCov (luarocks install luacov)

Make sure you have all of the Git submodules for Packages Test downloaded. If you haven't cloned Packages Test yet, you can do that with:

git clone --recurse-submodules https://github.com/Roblox/packages-test.git

If you've already cloned the repository, don't fret, just use:

git submodule update --init

Running Tests

Once you have all of the dependencies set up, you can run the tests for Packages Test with:

lua bin/spec.lua

Or, to also generate a LuaCov coverage report:

lua -lluacov bin/spec.lua
luacov

Luacheck

We use Luacheck to help statically analyze code and prevent common mistakes.

You should have your editor configured to use Luacheck. There are plugins available for many popular editors, like Sublime Text and Visual Studio Code.

You can also run Luacheck from the command line:

luacheck src

No warnings are allowed!

Code Style

Roblox has an official Lua style guide which should be the general guidelines for all new code. When modifying code, follow the existing style!

In short:

  • Tabs for indentation
  • Double quotes
  • One statement per line

Eventually we'll have a tool to check these things automatically.

Pull Requests

Before starting a pull request, open an issue about the feature or bug. This helps us prevent duplicated and wasted effort. These issues are a great place to ask for help if you run into problems!

Before you submit a new pull request, check:

  • Code Style: Match the official Roblox Lua style guide and the local code style
  • Changelog: Add an entry to CHANGELOG.md
  • Luacheck: Run Luacheck on your code, no warnings allowed!
  • Tests: All tests should pass, and we should have test coverage for any new code.

Changelog

Adding an entry to CHANGELOG.md alongside your commit makes it easier for everyone to keep track of what's been changed.

Add a line under the "Current master" heading. When we make a new release, all of those bullet points will be attached to a new version and the "Current master" section will become empty again.

Add a link to your pull request in the entry. We don't need to link to the related GitHub issue, since pull requests will also link to them.