diff --git a/.gitea/workflows/android-build.yaml b/.gitea/workflows/android-build.yaml new file mode 100644 index 0000000..7494d0f --- /dev/null +++ b/.gitea/workflows/android-build.yaml @@ -0,0 +1,31 @@ +name: Android Build + +on: + push: + branches: + - main + +jobs: + android-build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - uses: android-actions/setup-android@v3 + + - name: Accept Android Licenses + run: yes | sdkmanager --licenses + + - run: chmod +x gradlew + + - name: Build Debug APK + run: ./gradlew androidApp:assembleDebug + + - name: Build Release APK + run: ./gradlew androidApp:assembleRelease \ No newline at end of file diff --git a/.gitea/workflows/android-test.yaml b/.gitea/workflows/android-test.yaml new file mode 100644 index 0000000..cc3180e --- /dev/null +++ b/.gitea/workflows/android-test.yaml @@ -0,0 +1,30 @@ +name: Android Tests + +on: + pull_request: + push: + branches: + - develop + - main + +jobs: + android-test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - uses: android-actions/setup-android@v3 + + - name: Accept Android Licenses + run: yes | sdkmanager --licenses + + - run: chmod +x gradlew + + - name: Android Unit Test + run: ./gradlew androidApp:testDebugUnitTest \ No newline at end of file diff --git a/.gitea/workflows/demo.yaml b/.gitea/workflows/demo.yaml deleted file mode 100644 index 394c807..0000000 --- a/.gitea/workflows/demo.yaml +++ /dev/null @@ -1,19 +0,0 @@ -name: Gitea Actions Demo -run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 -on: [push] - -jobs: - Explore-Gitea-Actions: - runs-on: ubuntu-latest - steps: - - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." - - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" - - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." - - name: Check out repository code - uses: actions/checkout@v4 - - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ gitea.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file diff --git a/.gitea/workflows/ios-test.yaml b/.gitea/workflows/ios-test.yaml new file mode 100644 index 0000000..4f6cd98 --- /dev/null +++ b/.gitea/workflows/ios-test.yaml @@ -0,0 +1,22 @@ +name: iOS Tests + +on: + pull_request: + push: + branches: + - main + +jobs: + ios-test: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - run: chmod +x gradlew + + - name: Run iOS Tests + run: ./gradlew shared:iosSimulatorArm64Test + + - name: Build iOS Framework + run: ./gradlew shared:linkDebugFrameworkIosSimulatorArm64 \ No newline at end of file diff --git a/.gitea/workflows/lint.yaml b/.gitea/workflows/lint.yaml new file mode 100644 index 0000000..7b5c266 --- /dev/null +++ b/.gitea/workflows/lint.yaml @@ -0,0 +1,27 @@ +name: Lint + +on: + pull_request: + push: + branches: + - develop + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - run: chmod +x gradlew + + - name: Detekt + run: ./gradlew detekt + + - name: Kotlin Check + run: ./gradlew check \ No newline at end of file diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..115cba5 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,37 @@ +name: Release + +on: + push: + tags: + - "v*" + +jobs: + + android-release: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - uses: android-actions/setup-android@v3 + + - run: chmod +x gradlew + + - name: Build Release + run: ./gradlew androidApp:assembleRelease + + ios-release: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - run: chmod +x gradlew + + - name: Build iOS Release + run: ./gradlew shared:linkReleaseFrameworkIosSimulatorArm64 \ No newline at end of file diff --git a/.gitea/workflows/sdk.yaml b/.gitea/workflows/sdk.yaml new file mode 100644 index 0000000..2610653 --- /dev/null +++ b/.gitea/workflows/sdk.yaml @@ -0,0 +1,54 @@ +name: SDK Validation + +on: + workflow_dispatch: + push: + branches: + - develop + +jobs: + sdk: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Accept Licenses + run: yes | sdkmanager --licenses + + - name: Display Environment + run: | + echo "JAVA_HOME=$JAVA_HOME" + echo "ANDROID_HOME=$ANDROID_HOME" + echo "ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT" + + - name: Verify Java + run: | + java -version + javac -version + + - name: Verify Gradle + run: | + chmod +x gradlew + ./gradlew --version + + - name: Verify Android SDK + run: | + sdkmanager --list | head -100 + + - name: Verify Project Configuration + run: | + ./gradlew androidApp:dependencies + + - name: Verify Android Build Environment + run: | + ./gradlew androidApp:tasks --all \ No newline at end of file diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml deleted file mode 100644 index 1fa2f6b..0000000 --- a/.gitea/workflows/test.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: Test -run-name: ${{ gitea.actor }} is testing 🚀 -on: [push] - -jobs: - test: - runs-on: ubuntu-latest - - steps: - - run: echo "Hello" - - run: echo "${{ gitea.sha }}" - - run: echo "${{ gitea.ref }}" \ No newline at end of file diff --git a/.gitea/workflows/web-test.yaml b/.gitea/workflows/web-test.yaml new file mode 100644 index 0000000..e50899d --- /dev/null +++ b/.gitea/workflows/web-test.yaml @@ -0,0 +1,28 @@ +name: Web Tests + +on: + pull_request: + push: + branches: + - develop + - main + +jobs: + web: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - run: chmod +x gradlew + + - name: JS Tests + run: ./gradlew webApp:jsTest + + - name: WASM Tests + run: ./gradlew webApp:wasmJsTest \ No newline at end of file