feat: CONTRIBUTING.md (#22107)

* feat: CONTRIBUTING.md

* add full stop
This commit is contained in:
Alaister Young
2024-03-19 16:27:47 +07:00
committed by GitHub
parent fe1313c329
commit 3750ad3f69
3 changed files with 54 additions and 95 deletions

19
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,19 @@
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file.
YES/NO
## What kind of change does this PR introduce?
Bug fix, feature, docs update, ...
## What is the current behavior?
Please link any relevant issues here.
## What is the new behavior?
Feel free to include screenshots if it includes visual changes.
## Additional context
Add any other context or screenshots.

35
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,35 @@
# CONTRIBUTING.md
Thank you for contributing to Supabase! Were a big, exciting open source project and wed love to have you contribute! Heres some resources and guidance to help you get started:
[1. Getting Started](#getting-started)
[2. Issues](#issues)
[3. Pull Requests](#pull-requests)
## Getting Started
To ensure a positive and inclusive environment, please read our [code of conduct](https://github.com/supabase/.github/blob/main/CODE_OF_CONDUCT.md) before contributing. For help setting up the code in this repo, please follow our [DEVELOPERS.md](https://github.com/supabase/supabase/blob/master/DEVELOPERS.md) file. For the [docs](https://supabase.com/docs) site, follow this [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/apps/docs/CONTRIBUTING.md) guide.
## Issues
If you find a bug, please create an Issue and well triage it.
- Please search [existing Issues](https://github.com/supabase/supabase) before creating a new one.
- Please include a clear description of the problem along with steps to reproduce it. Exact steps with screenshots and urls really help here.
## Pull Requests
We actively welcome your Pull Requests! A couple of things to keep in mind before you submit:
- If youre fixing an Issue, make sure someone else hasnt already created a PR fixing the same issue. Likewise, make sure to link your PR to the related Issue(s).
- We will always try to accept the first viable PR that resolves the Issue.
- If you're new, we encourage you to take a look at issues tagged with [good first issue](https://github.com/supabase/supabase/pulls?q=is%3Aopen+is%3Apr+label%3A%22good+first+issue%22).
- If youre submitting a new feature, make sure you have opened a [Discussion](https://github.com/orgs/supabase/discussions/new/choose) to discuss the new feature before opening a PR. Wed love to accept your hard work, but unfortunately if a feature hasnt gone through a proper design process, your PR will be closed.
- Please use the PR message template and provide detailed context for quicker review. PRs without clear problem statements will be closed.
Prior to submitting your PR, please conduct the following pre-flight checks:
- Run `npm run build` locally to ensure that your code builds successfully without having to wait on us to approve Vercel Preview deploys.
- Ensure that the Prettier tests run successfully on your PR.
Running these before you create the PR will help reduce back and forth with the team.

View File

@@ -1,95 +0,0 @@
# Checklists for contributing to the Supabase Dashboard
First, we appreciate the time you've taken to contribute to Supabase! Thank you!
The following is a set of checklists to help make sure the code we contribute to the Dashboard is well tested. If you've made changes to any specific tools, please take a couple of minutes and go through the relevant checklist below.
You don't need to go through all of these for every PR you contribute. These checklists should help remind you of the important things to test after you've made changes to a feature. For example, if you make changes to the Table Editor, just run through that checklist below.
**Note**: not all of these tools are available in the self-hosted Dashboard. If your PR is related to Storage, Edge Functions, Logs Explorer or Organization settings, just leave a comment on the PR and a Supabase team member will have a look for you.
## Tools and features
### Table Editor
- [ ] Go to **Table Editor**
- [ ] Create a **new table**
- [ ] Add different fields and types: at least one nullable, one with default generated value (like `now()`), at least one date field
- [ ] Insert a few rows into the table
- [ ] Edit the row with the default spreadsheet view
- [ ] Edit the row with the Side Panel editor (the expand button to the left of the ID column for each row)
- [ ] Add a filter
- [ ] Sort the rows
- [ ] Create a new column and then add a new row
### Authentication / User management
- [ ] Go to **Authentication**
- [ ] Invite a new user
- [ ] Search the list of users
- [ ] Go to Policies and create a new policy for a table
- [ ] Check logs view
- [ ] Go to settings and check that any changes you make get saved
- [ ] General
- [ ] Add a redirect URL
- [ ] Enable a couple of Auth providers
### Storage
- [ ] Go to **Storage**
- [ ] Go to **Settings** and try to change the upload size limit (unless on Free plan)
- [ ] **Create a new bucket**
- [ ] Go to your new **bucket** (check if it is public or private)
- [ ] Upload a file
- [ ] Create a folder
- [ ] Upload a file to your new folder
- [ ] Download the file
- [ ] Copy URL for your file and open it in new incognito tab (check that it respects private/public setting)
- [ ] Go to **Policies**: add a policy for a bucket
- [ ] Change public/private status for your bucket
- [ ] Check if objects respect private/public setting
### SQL Editor
- [ ] Go to **SQL editor**
- [ ] Create **new query**
- [ ] Run a query (ex: `select * from extensions.pg_stat_statements`) and check that it returns results
- [ ] Download a csv of the results (via the Results dropdown above the preview table)
- [ ] Go to **Welcome** and choose and run a template (ex: "Create table")
- [ ] Switch between queries, rename one of your queries, refresh page, delete one of your queries
### Edge Functions
- [ ] Go to **Edge Functions**
- [ ] See that any functions you've created are listed
- [ ] Click a function and see that its **Metrics** are displaying
- [ ] Switch to **Details** - you should see the details of your function
- [ ] Switch to **Invocations** and **Logs** - to see logs of recent activity
### Logs Explorer
- [ ] Go to **Logs Explorer**
- [ ] Switch to **Templates** and select one
- [ ] Check that query results are displaying properly
- [ ] Make a change to the query from the template, save this query
- [ ] Switch to **Saved** - you should see your new query, run it and check the results
- [ ] Switch to **Recent** - you should be able to see recent queries you've run
### Database settings
- [ ] Go to **Database**
- [ ] You should see any tables you have created
- [ ] Click on a table column, try and edit it
- [ ] Go to **Roles** - check if roles are displayed
- [ ] Go to **Extensions** - filter the extensions, try enabling and disabling an extension
- [ ] Go to **Replication** enable, disable few event types for `supabase_realtime` add some tables to replication
- [ ] Go to **API Logs**, **Postgres Logs**, **Realtime Logs**
- [ ] Check filtering: time range, product, status, method
### Org settings
- [ ] Go to **Organizations** and select your organization
- [ ] On **General** - you should be able to rename your organization
- [ ] On **Team** - you should be able to invite team members
- [ ] On **Billing** - you should be able to see your project details and change billing address and email
- [ ] On **Invoices** - you should be able to download recent invoices