softwareconstruction240 / autograder

Autograder for BYU's CS 240 Chess project
https://cs240.click
3 stars 2 forks source link

Docs: Create CONTRIBUTING.md file #448

Open frozenfrank opened 2 weeks ago

frozenfrank commented 2 weeks ago

Overview

GitHub specially treats the CONTRIBUTING.md file. We should leverage this behavior to help future people contribute to the project.

Details to Include

Important notes to include:

Other Examples

Places to Update

Other Ideas

What other things should we include in the document?

webecke commented 1 week ago

You mention that new features should have tests. Do we run our test cases currently before deployment? If not, can we set a GitHub action that runs all the test cases before you're allowed to merge a pull request, in the same way we check it compiles and has valid type-checking? @frozenfrank @19mdavenport

frozenfrank commented 1 week ago

You mention that new features should have tests. Do we run our test cases currently before deployment? If not, can we set a GitHub action that runs all the test cases before you're allowed to merge a pull request, in the same way we check it compiles and has valid type-checking? @frozenfrank @19mdavenport

Yes!

Current Setup

We already have a GitHub Actions workflow that runs on every push (on every branch) and reports whether all the test pass or not. This currently runs two checks:

We also have another action set up that runs only when code is pushed to the main branch which runs the Integration tests. Based on the most recent commit message in that folder, it appears that the CanvasIntegrationTest has been disabled recently...

The point is that we do have the infrastructure in place to evaluate tests and ensure we have high-quality code!

Where can you find it?

You may have noticed the green checkmarks— or red Xs— indicating the status of these "Actions" (screenshots). Notice that these marks are replaced with a yellow dot while the checks are currently running.

  1. When a PR is merged image

  2. Attached to any commit that was the head of the branch when a branch was pushed image

  3. In the browser tab favicon image image

  4. On the PR page image

  5. And surely in many other places!

Usefulness Example

In #423, I pushed my code and requested a review on the PR. However, I then received an email that I had failed the tests! I was able to look and find where I had made the mistake in the code in order to correct it. This history is all presented and displayed within the Pull Request page:

image