diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..686b3cba --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,49 @@ +## ๐Ÿ—ฃ Description ## + + + +### ๐Ÿ’ญ Motivation and context + + + + + + + + + +## ๐Ÿงช Testing + + + + + +## โœ… Pre-approval checklist ## + + + +- [ ] This PR has an informative and human-readable title. +- [ ] Changes are limited to a single goal - *eschew scope creep!* +- [ ] If applicable, *All* future TODOs are captured in issues, which are referenced in the PR description. +- [ ] The relevant issues PR resolves are linked preferably via [closing keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword). +- [ ] All relevant type-of-change labels have been added. +- [ ] I have read and agree to the [CONTRIBUTING.md](https://github.com/cisagov/ScubaGoggles/blob/main/CONTRIBUTING.md) document. +- [ ] These code changes follow [cisagov code standards](https://github.com/cisagov/development-guide). +- [ ] All relevant repo and/or project documentation has been updated to reflect the changes in this PR. +- [ ] Tests have been added and/or modified to cover the changes in this PR. +- [ ] All new and existing tests pass. + +## โœ… Pre-merge Checklist + +- [ ] This PR has been smoke tested to ensure main is in a functional state when this PR is merged. +- [ ] Squash all commits into one PR level commit using the `Squash and merge` button. + +## โœ… Post-merge Checklist + +- [ ] Delete the branch to clean up. +- [ ] Close issues resolved by this PR if the [closing keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) did not activate. diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index 979b05e7..b345351a 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -1,6 +1,19 @@ name: Pylint - -on: [push] +on: + # Run tests on each commit, newly opened/reopened PR, and + # PR review submission (e.g. approval) + workflow_dispatch: + push: + paths: + - "**.py" + pull_request: + types: [opened, reopened] + branches: + - "main" + paths: + - "**.py" + pull_request_review: + types: [submitted] jobs: build: diff --git a/.gitignore b/.gitignore index 05c89b69..5296a029 100644 --- a/.gitignore +++ b/.gitignore @@ -3,15 +3,27 @@ build scubagoggles.egg-info .DS_Store +*.bak **/__pycache__ **/.DS_Store **/file.txt **/token.json **/credentials.json + +# report files **/report/* **/output* +**/ProviderSettingsExport.json +**/TestResults.json +**/BaselineReports.html +**/IndividualReports/* +!**/sample-report/TestResults.json +!**/sample-report/ProviderSettingsExport.json +!**/sample-report/BaselineReports.html +!**/sample-report/IndividualReports/* **/GWSBaselineConformance* -*.bak + +# opa opa opa_windows_amd64.exe opa_darwin_amd64 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..3294122f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,36 @@ +# Welcome # + +We're so glad you're thinking about contributing to this open-source project! If you're unsure or hesitant to make a recommendation, just ask, submit the issue, or pull request. The worst that can happen is that you'll be politely asked to change something. We appreciate any sort of contribution(s), and don't want a wall of rules to stifle innovation. + +Before contributing, we encourage you to read our CONTRIBUTING policy (you are here), our [LICENSE](https://github.com/cisagov/ScubaGoggles/blob/main/LICENSE), and our [README](https://github.com/cisagov/ScubaGoggles/blob/main/README.md), all of which are in this repository. + +## Issues + +If you want to report a bug or request a new feature, the most direct method is to [create an issue](https://github.com/cisagov/ScubaGoggles/issues) in this repository. +We recommend that you first search through existing issues (both open and closed) to check if your particular issue has already been reported. + +If it has then you might want to add a comment to the existing issue. + +If it hasn't then feel free to create a new one. + +Please follow the provided template and fill out all sections. +We have a `Bug Report` and `Idea` Template. + +## Pull Requests (PR) + +If you choose to submit a pull request, it will be required to pass various linters and sanity checks in our continuous integration (CI) pipeline, before we merge it. Your pull request may fail these checks, and that's OK. If you want you can stop there and wait for us to make the necessary corrections to ensure your code passes the CI checks, you're more than within your rights; however, it helps our team greatly if you fix the issues found by our CI pipeline. + +### Quality assurance and code reviews + +All PRs will be tested, vetted, and reviewed by our team before being merged to the main branch. Please stand by to address questions, concerns, or improvement suggestions we may have about your PR. + +## Public domain + +This project is in the public domain within the United States, and +copyright and related rights in the work worldwide are waived through +the [CC0 1.0 Universal public domain +dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +All contributions to this project will be released under the CC0 +dedication. By submitting a pull request, you are agreeing to comply +with this waiver of copyright interest. diff --git a/README.md b/README.md index abc81ff2..66970211 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ When running ScubaGoggles for the first time you will be prompted to consent to 3. Follow the [directions outlined in this guide to create a project](https://developers.google.com/workspace/guides/create-project) ### Create an OAuth credential -1. Be signed into [http://console.cloud.google.com/](). +1. Be signed into http://console.cloud.google.com/. 1. From the hamburger menu on the left, select **APIs & Services** -> **OAuth consent screen** 1. Select **Internal** for **User Type** 1. Click **Create**