Skip to content
sarken edited this page Nov 8, 2024 · 6 revisions

We use GitHub Actions to automatically label and run tests on pull requests.

Table of Contents

Automated Tests

This workflow runs our test suite.

If you need to run all of the RSpec and Cucumber tests, it's a good idea to use this workflow instead of trying to run them on your machine. You can push your changes and then run the workflow manually.

See Automated Testing (or Docker if using Docker) for running the tests locally.

Reviewdog

This workflow runs two linters to check for code style errors: RuboCop for .rb files and ERB Lint for template (.erb) files. Reviewdog filters the output of the linters so that only lines that were changed in the pull request are flagged for code style violations.

For more information, see Reviewdog and RuboCop.

See Previewing Reviewdog comments for running the Reviewdog checks locally.

Brakeman Scan

This workflow runs Brakeman, a static analysis security vulnerability tool for Ruby on Rails applications. It attempts to flag new security vulnerabilities in pull requests.

For more information and running Brakeman locally, see Brakeman.

Pull Request Labeler

This workflow applies the "Awaiting Review" label to new pull requests. Furthermore, when a pull request with the "Reviewed: Action Needed" label gets new commits, this workflow updates the label to "Coder Has Actioned Review".

This workflow also applies some topic specific pull request labels automatically, such as "Scope: Tests Only" and "Has Migrations".

Check Phrase exports

These workflows only apply to pull requests our Translation team makes by exporting updates to the locale files from Phrase.