diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 000000000..8540acf71 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,17 @@ +daysUntilClose: false +staleLabel: stale + +issues: + daysUntilStale: 60 + markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be now be reviewed manually. Thank you + for your contributions. + +pulls: + daysUntilStale: 7 + markComment: > + This pull request has been automatically marked as stale because it has not had + recent activity. It will be now be reviewed manually. Thank you + for your contributions. + diff --git a/.travis.yml b/.travis.yml index 231441fb0..42dab2f4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,9 @@ sudo: required env: global: - - ANDROID_TARGET=android-22 + # switch glibc to a memory conserving mode + - MALLOC_ARENA_MAX=2 + - ANDROID_TARGET=android-21 - ANDROID_ABI=armeabi-v7a if: type != push OR tag IS present @@ -47,12 +49,10 @@ android: licenses: - ".+" -before_script: - - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI -c 100M - - emulator -avd test -no-audio -no-window & - script: - ./gradlew lintKiwixDebug jacocoTestKiwixDebugUnitTestReport + - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI -c 100M + - emulator -avd test -no-audio -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & - adb -e logcat *:D > logcat.log & diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 64f7908dd..e1e594832 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,6 +40,18 @@ Our process for accepting changes operates by [Pull Request (PR)](https://help.g 1. Once you have integrated comments, or waited for feedback, a Lieutenant should merge your changes in! +### Branching + +Our branching strategy is based on [this article](https://nvie.com/posts/a-successful-git-branching-model/) which we suggest you read. + ++ **master** a history of releases, once merged to from develop and tagged we create a release on the play store & GitHub releases. ++ **develop** the actively worked on next release of the app, what we branch off of while working on new features and what we merge into upon feature completion ++ **feature/** or feature/\/ any branch under this directory is an actively developed feature, feature branches culminate in a PR, are merged and deleted. Typically a feature branch is off of develop and into develop but in rare scenarios if there is an issue in production a branch may be made off master to fix this issue, this type of feature branch must be merged to develop and master before being deleted. + +All branches should have distinct history and should be visually easy to follow, for this reason only preform merge commits when merging code either by PR or when synchronising. + +Rebasing should be avoided. + ### Building The default build is `debug`, with this variant you can use a debugger while developing. To install the application click the `run` button in Android Studio with the `app` configuration selected while you have a device connected. All other build types but `release` can be ignored, the `release` build is what gets uploaded to the Google Play store and can be built locally with the dummy credentials/keystore provided. @@ -83,4 +95,5 @@ Code coverage results can be seen under `app/build/reports/` All PRs will have all these tests run and a combined coverage report will be attached, if coverage is to go down the PR will be marked failed. On Travis CI the automated tests are run on an emulator. To learn more about the commands run on the CI please refer to [.travis.yml](https://github.com/kiwix/kiwix-android/blob/master/.travis.yml) + _These guidelines are based on [Tools for Government Data Archiving](https://github.com/edgi-govdata-archiving/overview/blob/master/CONTRIBUTING.md)'s._