diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..dd39258c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,32 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "[Bug]" +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Smartphone (please complete the following information):** + - Device: [e.g. Pixel 5] + - Android version: [e.g. Android 12] + - App version [e.g. 1.4.0] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..6269982f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: "[Feature]" +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b59d7870..0e6fdc94 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,28 +6,3 @@ updates: interval: daily time: "04:00" open-pull-requests-limit: 10 - ignore: - - dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-core - versions: - - 1.4.3-native-mt - - dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-android - versions: - - 1.4.3-native-mt - - dependency-name: com.android.tools.build:gradle - versions: - - 4.1.3 - - dependency-name: com.diffplug.spotless - versions: - - 5.11.0 - - dependency-name: app.redwarp.gif:decoder - versions: - - 0.4.0 - - dependency-name: app.redwarp.gif:android-drawable - versions: - - 0.4.0 - - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7 - versions: - - 1.4.31 - - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin - versions: - - 1.4.31 diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 00000000..64e979ec --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,27 @@ +name: Build and test app +on: + workflow_call: + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Build all + run: ./gradlew build + + tests: + name: Tests + runs-on: ubuntu-latest + needs: build + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Run all the tests + run: ./gradlew test diff --git a/.github/workflows/deploy-website.yml b/.github/workflows/deploy-website.yml new file mode 100644 index 00000000..ba57b16d --- /dev/null +++ b/.github/workflows/deploy-website.yml @@ -0,0 +1,52 @@ +name: Deploy Website +on: + push: + branches: + - "main" + paths: + - "website/**" + - "CHANGELOG.md" + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + # Build job + build: + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Copy changelog + run: ./website/scripts/copy_changelog.sh + shell: bash + - name: Build + uses: shalzz/zola-deploy-action@v0.16.1-1 + env: + BUILD_DIR: website + BUILD_ONLY: true + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./website/public + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/.github/workflows/release-to-playstore.yml b/.github/workflows/release-to-playstore.yml index fc0ee5f5..656db75b 100644 --- a/.github/workflows/release-to-playstore.yml +++ b/.github/workflows/release-to-playstore.yml @@ -11,6 +11,8 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v3 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 - name: Build release bundle run: ./gradlew bundleRelease - name: Sign bundle @@ -22,7 +24,7 @@ jobs: keyStorePassword: ${{ secrets.SIGNING_STORE_PASSWORD }} keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }} - name: Archive signed artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: signed-android-app path: app/build/outputs/bundle/release/app-release.aab diff --git a/.github/workflows/verify-main.yml b/.github/workflows/verify-main.yml new file mode 100644 index 00000000..245ccb87 --- /dev/null +++ b/.github/workflows/verify-main.yml @@ -0,0 +1,10 @@ +name: Verify main branch +on: + push: + branches: + - "main" + +jobs: + build-and-test: + name: Build and test + uses: ./.github/workflows/build-and-test.yml diff --git a/.github/workflows/verify-pull-requests.yml b/.github/workflows/verify-pull-requests.yml index ae9038b1..ad19f00b 100644 --- a/.github/workflows/verify-pull-requests.yml +++ b/.github/workflows/verify-pull-requests.yml @@ -1,23 +1,18 @@ name: Verify pull requests on: - pull_request_target: + pull_request: types: - opened - edited - synchronize jobs: - tests: - runs-on: ubuntu-latest - steps: - - name: Checkout Repo - uses: actions/checkout@v3 - - name: Run all the tests - run: ./gradlew test - - name: Stop Gradle - run: ./gradlew --stop + build-and-test: + name: Build and test + uses: ./.github/workflows/build-and-test.yml check_conventional_commit: + name: Follows conventional commit runs-on: ubuntu-latest steps: - uses: amannn/action-semantic-pull-request@v4 diff --git a/.gitignore b/.gitignore index 12eef78a..c87db678 100644 --- a/.gitignore +++ b/.gitignore @@ -10,13 +10,14 @@ /.idea/google-java-format.xml /.idea/misc.xml /.idea/deploymentTargetDropDown.xml +/.idea/kotlinc.xml +/.idea/gradle.xml .DS_Store /build /captures /app/release .externalNativeBuild .cxx -/fetch_translations/target -/update_fastlane/target /target -fastlane/report.xml +/fastlane/report.xml +/website/public \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 7829f3cf..fab416a2 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,5 +1,6 @@ +