Skip to content

Commit

Permalink
Add contribution guide and no-response config.
Browse files Browse the repository at this point in the history
  • Loading branch information
mvanbeusekom committed Jan 15, 2024
1 parent b5efd03 commit 9a2795d
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
github: Baseflow
custom: https://baseflow.com/contact
20 changes: 20 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
*Replace this paragraph with a short description of what issue this pull request (PR) solves and provide a description of the change. Consider including before/after screenshots.*

*List at least one fixed issue.*

## Pre-launch Checklist

- [ ] I made sure the project builds.
- [ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [ ] I updated `pubspec.yaml` with an appropriate new version according to the [pub versioning philosophy], or this PR is does not need version changes.
- [ ] I updated `CHANGELOG.md` to add a description of the change.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I rebased onto `main`.
- [ ] I added new tests to check the change I am making, or this PR does not need tests.
- [ ] I made sure all existing and new tests are passing.
- [ ] I ran `dart format .` and committed any changes.
- [ ] I ran `flutter analyze` and fixed any errors.

<!-- References -->
[Contributor Guide]: https://github.com/Baseflow/screenrecorder/blob/main/CONTRIBUTING.md
[pub versioning philosophy]: https://dart.dev/tools/pub/versioning
53 changes: 53 additions & 0 deletions .github/workflows/no-response.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: 'No Response'

# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
# Schedule for five minutes after the hour, every hour
- cron: '5 * * * *'

# By specifying the access of one of the scopes, all of those that are not
# specified are set to 'none'.
permissions:
issues: write

jobs:
stale:
runs-on: ubuntu-latest
steps:
# At Baseflow, we mark issues with the `status: needs more info` label when more information is
# required to be able to solve an issue. When nobody (either original poster or other community
# members) respond to the issue within 14 days the issue will be closed.
#
# To automate this process we utilize the [stale](https://github.com/actions/stale) GitHub action.
# However the [stale](https://github.com/actions/stale) action requires an issue to be marked specifically
# as "stale" before it will consider an issue to be closed. Therefore we utilize the following
# configuration:
# 1. Set the `stale-issue-label` parameter to `status: needs more info`. This will inform the stale action that all
# issues marked with this particular label to be stale (note that Baseflow manually adds this label after initial triaging).
# 2. Set the `days-before-stale` parameter to `-1`. This will prevent the [stale](https://github.com/actions/stale) action
# from automatically marking issues as being "stale". As mentioned in step 1, at Baseflow we want to manually
# triage the issue and mark it to require more information.
# 3. Set the `close-issue-label` parameter to `status: closed (missing info)` to easily allow us to track issues closed due
# to a lack of information.
# issue is closed. This will make sure the label is automatically removed when the issue is re-opened (most likely
# this happend because someone added more information).
# 4. Set the `days-before-close` parameter to `14` to indicate after how many days, since marking the issue with
# the `status: needs more info` label, the issue should be closed automatically.
# 5. Set the `close-issue-message` parameter with a text that will be placed as a comment to the respective issue that
# is closed to explain why the issue was closed.
- uses: actions/stale@v8
with:
stale-issue-label: 'status: needs more info'
days-before-stale: -1
close-issue-label: 'status: closed (missing info)'
close-issue-message: >
Without additional information, we are unfortunately not able to resolve this issue.
Therefore, we reluctantly closed this issue for now.
If you run into this issue later, feel free to file a new issue with a reference to this issue.
Add a description of detailed steps to reproduce, expected and current behaviour, logs and the output of 'flutter doctor -v'.
Thanks for your contribution.
days-before-close: 14
44 changes: 44 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Contributing to the Flutter screenrecorder plugin

## What you will need

* A Linux, Mac OS X, or Windows machine (note: to run and compile iOS-specific parts you'll need access to a Mac OS X machine);
* git (used for source version control, installation instructions can be found [here](https://git-scm.com/));
* The Flutter SDK (installation instructions can be found [here](https://flutter.io/get-started/install/));
* A personal GitHub account (if you don't have one, you can sign up for free [here](https://github.com/))

## Setting up your development environment

* Fork `https://github.com/Baseflow/screenrecorder` into your own GitHub account. If you already have a fork and moving to a new computer, make sure you update your fork.
* If you haven't configured your machine with an SSH key that's known to GitHub, then
follow [GitHub's directions](https://help.github.com/articles/generating-ssh-keys/)
to generate an SSH key.
* Clone your forked repo on your local development machine: `git clone git@github.com:<your_name_here>/screenrecorder.git`
* Change into the `screenrecorder` directory: `cd screenrecorder`
* Add an upstream to the original repo, so that fetches from the master repository and not your clone: `git remote add upstream git@github.com:Baseflow/screenrecorder.git`

## Running the example project

* Change into the example directory: `cd example`
* Run the App: `flutter run`

## Contribute

We really appreciate contributions via GitHub pull requests. To contribute take the following steps:

* Make sure you are up to date with the latest code on the master:
* `git fetch upstream`
* `git checkout upstream/main -b <name_of_your_branch>`
* Apply your changes
* Verify your changes and fix potential warnings/ errors:
* Check formatting: `flutter format .`
* Run static analyses: `flutter analyze`
* Run unit-tests: `flutter test`
* Commit your changes: `git commit -am "<your informative commit message>"`
* Push changes to your fork: `git push origin <name_of_your_branch>`

Send us your pull request:

* Go to `https://github.com/Baseflow/screenrecorder` and click the "Compare & pull request" button.

Please make sure you solved all warnings and errors reported by the static code analyses and that you fill in the full pull request template. Failing to do so will result in us asking you to fix it.

0 comments on commit 9a2795d

Please sign in to comment.