Skip to content

Commit

Permalink
Merge pull request #75 from splendo/feature/gitlive-master-tracking
Browse files Browse the repository at this point in the history
Track GitLive Master
  • Loading branch information
Daeda88 authored Aug 29, 2024
2 parents 418707e + b0b7c53 commit 8eb51b0
Show file tree
Hide file tree
Showing 373 changed files with 16,970 additions and 6,957 deletions.
14 changes: 14 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
root = true

[*.{kt,kts}]
ktlint_code_style = intellij_idea
ktlint_ignore_back_ticked_identifier = true

ktlint_standard = enabled
ktlint_standard_no-wildcard-imports = disabled
ktlint_standard_filename = disabled
ktlint_standard_import-ordering = disabled
ktlint_standard_function-naming = disabled

ktlint_experimental = disabled

6 changes: 3 additions & 3 deletions .github/actions/setup_test_action/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ runs:
using: "composite"
steps:
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
Expand All @@ -18,7 +18,7 @@ runs:
shell: bash
run: npm update
- name: Gradle cache
uses: gradle/gradle-build-action@v2
uses: gradle/actions/setup-gradle@v4
- name: Grant execute permission for gradlew
shell: bash
run: chmod +x gradlew
Expand All @@ -29,4 +29,4 @@ runs:
shell: bash
run: |
firebase emulators:start --config=./test/firebase.json &
wait-on http://127.0.0.1:9099
wait-on http://127.0.0.1:9099
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "gradle"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
41 changes: 36 additions & 5 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,29 @@ env:

jobs:
build:
runs-on: macos-13
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- uses: gradle/gradle-build-action@v2
- uses: gradle/actions/setup-gradle@v4
- name: Setup versions
run: ./gradlew :updateVersions
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Publish Firebase Analytics
run: ./gradlew :firebase-analytics:publish
- name: Publish Firebase App
run: ./gradlew :firebase-app:publish
- name: Publish Firebase Auth
run: ./gradlew :firebase-auth:publish
- name: Publish Firebase Common
run: ./gradlew :firebase-common:publish
- name: Publish Firebase Common Internal
run: ./gradlew :firebase-common-internal:publish
- name: Publish Firebase Config
run: ./gradlew :firebase-config:publish
- name: Publish Firebase Database
Expand All @@ -42,11 +46,38 @@ jobs:
run: ./gradlew :firebase-firestore:publish
- name: Publish Firebase Functions
run: ./gradlew :firebase-functions:publish
- name: Publish Firebase Messaging
run: ./gradlew :firebase-messaging:publish
- name: Publish Firebase Storage
run: ./gradlew :firebase-storage:publish
- name: Publish Firebase Installations
run: ./gradlew :firebase-installations:publish
- name: Publish Firebase Performance
run: ./gradlew :firebase-perf:publish
- name: Publish Firebase Crashlytics
run: ./gradlew :firebase-crashlytics:publish
run: ./gradlew :firebase-crashlytics:publish
documentation:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- uses: gradle/gradle-build-action@v3
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Generate documentation
run: ./gradlew dokkaHtmlMultiModule
- name: Uploading build folder
uses: actions/upload-artifact@v4
with:
name: artefact
path: build/dokka/htmlMultiModule
- name: Deploy API documentation to Github Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: build/dokka/htmlMultiModule
target-folder: docs
174 changes: 118 additions & 56 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,109 +8,171 @@ on:
branches: [ master, prerelease ]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: ktLint
run: ./gradlew lintKotlin
- name: run apiCheck
run: ./gradlew apiCheck
jobMatrixSetup:
runs-on: ubuntu-latest
outputs:
emulator_jobs_matrix: ${{ steps.dataStep.outputs.emulator_jobs_matrix }}
ios_test_jobs_matrix: ${{ steps.dataStep.outputs.ios_test_jobs_matrix }}
js_test_jobs_matrix: ${{ steps.dataStep.outputs.js_test_jobs_matrix }}
jvm_test_jobs_matrix: ${{ steps.dataStep.outputs.jvm_test_jobs_matrix }}
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: gradle
- name: Prepare the matrix JSON
run: ./gradlew ciJobsMatrixSetup
- id: dataStep
run: |
echo "
emulator_jobs_matrix=$(jq -c . < ./build/emulator_jobs_matrix.json)
ios_test_jobs_matrix=$(jq -c . < ./build/ios_test_jobs_matrix.json)
js_test_jobs_matrix=$(jq -c . < ./build/js_test_jobs_matrix.json)
jvm_test_jobs_matrix=$(jq -c . < ./build/jvm_test_jobs_matrix.json)
" >> $GITHUB_OUTPUT
build-android:
runs-on: macos-13
needs: jobMatrixSetup
runs-on: ubuntu-latest
strategy:
matrix:
api-level: [ 34 ]
fail-fast: false
matrix: ${{ fromJson(needs.jobMatrixSetup.outputs.emulator_jobs_matrix) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Setup test environment
uses: ./.github/actions/setup_test_action
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ matrix.api-level }}-${{ runner.os }}-${{ runner.arch }}
- name: create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
target: google_apis
avd-name: pixel6_API${{ matrix.api-level }}
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: false
script: echo "Generated AVD snapshot for caching."
- name: Set Artifact Name
run: |
echo "ARCHIVE_KEY=$(echo ${{ matrix.gradle_tasks }} | cut -d: -f2)" >> $GITHUB_ENV
- name: Apply Android licenses
run: ./gradlew ciSdkManagerLicenses
- name: Run Android Instrumented Tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
target: google_apis
avd-name: pixel6_API${{ matrix.api-level }}
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: ./gradlew connectedAndroidTest
run: ./gradlew ${{ matrix.gradle_tasks }}
- name: Upload Android test artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: "Android Test Report HTML"
name: Android ${{ env.ARCHIVE_KEY }} Test Report HTML
path: "**/build/reports/androidTests/"
- name: Upload Firebase Debug Log
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: "Firebase Debug Log"
name: Android ${{ env.ARCHIVE_KEY }} Firebase Debug Log
path: "**/firebase-debug.log"
build-js:
needs: jobMatrixSetup
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.jobMatrixSetup.outputs.js_test_jobs_matrix) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup test environment
uses: ./.github/actions/setup_test_action
timeout-minutes: 10
- name: Set Artifact Name
run: |
echo "ARCHIVE_KEY=$(echo ${{ matrix.gradle_tasks }} | cut -d: -f2)" >> $GITHUB_ENV
- name: Run JS Tests
run: ./gradlew cleanTest jsTest
run: ./gradlew ${{ matrix.gradle_tasks }}
- name: Upload JS test artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: "JS Test Report HTML"
name: JS ${{ env.ARCHIVE_KEY }} Test Report HTML
path: |
**/build/reports/tests/jsTest/
**/build/reports/tests/jsBrowserTest/
**/build/reports/tests/jsNodeTest/
- name: Upload Firebase Debug Log
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: "Firebase Debug Log"
name: JS ${{ env.ARCHIVE_KEY }} Firebase Debug Log
path: "**/firebase-debug.log"
build-ios:
runs-on: macos-13
needs: jobMatrixSetup
runs-on: macos-latest
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.jobMatrixSetup.outputs.ios_test_jobs_matrix) }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Cocoapods cache
uses: actions/cache@v3
id: cocoapods-cache
uses: actions/cache@v4
with:
path: |
~/.cocoapods
~/Library/Caches/CocoaPods
*/build/cocoapods
*/build/classes
key: cocoapods-cache
key: cocoapods-cache-v2
- name: Setup test environment
uses: ./.github/actions/setup_test_action
- name: Set Artifact Name
run: |
echo "ARCHIVE_KEY=$(echo ${{ matrix.gradle_tasks }} | cut -d: -f2)" >> $GITHUB_ENV
- name: Run iOS Tests
run: ./gradlew cleanTest iosX64Test
run: ./gradlew ${{ matrix.gradle_tasks }}
- name: Upload iOS test artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: "iOS Test Report HTML"
path: "**/build/reports/tests/iosX64Test/"
name: iOS ${{ env.ARCHIVE_KEY }} Test Report HTML
path: "**/build/reports/tests/iosSimulatorArm64Test/"
- name: Upload Firebase Debug Log
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: "Firebase Debug Log"
name: iOS ${{ env.ARCHIVE_KEY }} Firebase Debug Log
path: "**/firebase-debug.log"

build-jvm:
needs: jobMatrixSetup
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.jobMatrixSetup.outputs.jvm_test_jobs_matrix) }}
steps:
- uses: actions/checkout@v4
- name: Setup test environment
uses: ./.github/actions/setup_test_action
timeout-minutes: 10
- name: Set Artifact Name
run: |
echo "ARCHIVE_KEY=$(echo ${{ matrix.gradle_tasks }} | cut -d: -f2)" >> $GITHUB_ENV
- name: Run JVM Tests
run: ./gradlew ${{ matrix.gradle_tasks }}
- name: Upload JVM test artifact
uses: actions/upload-artifact@v4
if: failure()
with:
name: JVM ${{ env.ARCHIVE_KEY }} Test Report HTML
path: |
**/build/reports/tests/jvmTest/
- name: Upload Firebase Debug Log
uses: actions/upload-artifact@v4
if: failure()
with:
name: JVM ${{ env.ARCHIVE_KEY }} Firebase Debug Log
path: "**/firebase-debug.log"
23 changes: 23 additions & 0 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Push

on: [ push ]

jobs:
formatKotlin:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: formatKotlin
run: ./gradlew formatKotlin
- uses: stefanzweifel/git-auto-commit-action@v5
- name: lintKotlin
run: ./gradlew lintKotlin
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Project exclude paths
/.gradle/
/**/.gradle/
/**/build/
/.idea/
local.properties
Expand All @@ -11,3 +11,5 @@ Firebase*.zip
*.log
/kotlin-js-store/
/kotlin-js-store/yarn.lock

.kotlin/
Loading

0 comments on commit 8eb51b0

Please sign in to comment.