Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
EzekielWachira authored Jun 1, 2024
0 parents commit 3679e24
Show file tree
Hide file tree
Showing 217 changed files with 12,839 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# https://editorconfig.org/
# This configuration is used by ktlint when spotless invokes it

[*.{kt,kts}]
ij_kotlin_allow_trailing_comma=true
ij_kotlin_allow_trailing_comma_on_call_site=true
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @atick-faisal
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ko_fi: atickfaisal
patreon: atick
31 changes: 31 additions & 0 deletions .github/ci-gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#
# Copyright 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

org.gradle.daemon=false
org.gradle.parallel=true
org.gradle.workers.max=2

kotlin.incremental=false
kotlin.compiler.execution.strategy=in-process

# Controls KotlinOptions.allWarningsAsErrors.
# This value used in CI and is currently set to false.
# If you want to treat warnings as errors locally, set this property to true
# in your ~/.gradle/gradle.properties file.
warningsAsErrors=false

# Fixes Not enough memory to run compilation.
org.gradle.jvmargs=-Xmx4096m
27 changes: 27 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "gradle"
directory: "/"
schedule:
interval: "weekly"
registries: "*"
labels: [ "version update" ]
groups:
kotlin-ksp-compose:
patterns:
- "org.jetbrains.kotlin:*"
- "org.jetbrains.kotlin.jvm"
- "com.google.devtools.ksp"
- "androidx.compose.compiler:compiler"
open-pull-requests-limit: 10
reviewers:
- atick-faisal
registries:
maven-google:
type: "maven-repository"
url: "https://maven.google.com"
replaces-base: true
9 changes: 9 additions & 0 deletions .github/renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
"group:all",
":dependencyDashboard",
"schedule:daily"
]
}
43 changes: 43 additions & 0 deletions .github/workflows/Build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Build

on:
repository_dispatch:
types: [ libs-versions-updated ]
pull_request:
paths:
- '**/*'
- '!**/.github/workflows/**'

jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu'
cache: gradle

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Check spotless
run: ./gradlew spotlessCheck --init-script gradle/init.gradle.kts --no-configuration-cache

- name: Clean
run: ./gradlew clean

- name: Build
run: ./gradlew build
54 changes: 54 additions & 0 deletions .github/workflows/Docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Docs

on:
push:
branches:
- main
paths:
- '**/*'
- '!**/.github/workflows/**'

jobs:
mkdocs:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- name: Checkout
uses: actions/checkout@v4
# https://github.com/mkdocs/mkdocs/issues/2370
with:
fetch-depth: 0

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu'
cache: gradle

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Generate Docs
run: |
pip install mkdocs mkdocs-material Pygments
./gradlew dokkaGfmMultiModule --no-configuration-cache
mv build/dokka/gfmMultiModule docs
cat README.md > docs/index.md
mkdocs gh-deploy
# https://github.com/softprops/action-gh-release/issues/236
permissions:
contents: write
68 changes: 68 additions & 0 deletions .github/workflows/Release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Release APK

on:
push:
tags:
- "v*.*.*"

jobs:
build:
name: Generate Signed APK
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3

- name: Set up Google Services
run: |
touch app/google-services.json
echo "${CONTENT// /}" | base64 --decode > app/google-services.json
env:
CONTENT: ${{ secrets.GOOGLE_SERVICES }}

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu'
cache: gradle

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Set up Signing Key
run: |
touch app/key.jks
echo "${KEYSTORE// /}" | base64 --decode > app/key.jks
touch keystore.properties
echo "${KEYSTORE_PROPERTIES// /}" | base64 --decode > keystore.properties
env:
KEYSTORE: ${{ secrets.KEYSTORE }}
KEYSTORE_PROPERTIES: ${{ secrets.KEYSTORE_PROPERTIES }}

- name: Clean
run: ./gradlew clean

- name: Build Release APK
run: ./gradlew assembleRelease

- name: Upload APK
uses: actions/upload-artifact@v4
with:
path: ${{ github.workspace }}/app/build/outputs/apk/release/*.apk

- name: Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
body_path: CHANGELOG.md
files: app/build/outputs/apk/release/*.apk

# https://github.com/softprops/action-gh-release/issues/236
permissions:
contents: write
42 changes: 42 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Keystore properties file
keystore.properties

# Log/OS Files
*.log

# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.apk
output.json

# IntelliJ
*.iml
.idea/
misc.xml
deploymentTargetDropDown.xml
render.experimental.xml

# Keystore files
*.jks
*.keystore

# Google Services (e.g. APIs or Firebase)
google-services.json

# Android Profiling
*.hprof

# Build Metadata
output-metadata.json

# k2 compiler build dir
.kotlin
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
### FEATURE UPDATES & BUG FIXES
Loading

0 comments on commit 3679e24

Please sign in to comment.