fix: pub bidirectional-llm #144
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build CI | |
| env: | |
| main_project_module: app | |
| playstore_name: CodeOps Studio | |
| KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} | |
| KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
| KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
| on: | |
| push: | |
| branches: [ "main", "dev" ] | |
| paths-ignore: | |
| - '**.md' | |
| - '**.txt' | |
| - 'docs/**' | |
| - 'images/**' | |
| pull_request: | |
| branches: [ "dev" ] | |
| # Allows this workflow run manually from the Actions tab | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Release Artifacts | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Cancel Previous Workflow Runs | |
| uses: styfle/[email protected] | |
| with: | |
| access_token: ${{ github.token }} | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| # Set Current Date As Env Variable | |
| - name: Set current date as env variable | |
| run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV | |
| # Set Repository Name As Env Variable | |
| - name: Set repository name as env variable | |
| run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV | |
| - name: Decrypt google-services.json | |
| run: | | |
| openssl aes-256-cbc -d -salt -pbkdf2 \ | |
| -in app/google-services.json.enc \ | |
| -out app/google-services.json \ | |
| -k ${{ secrets.GOOGLE_SERVICES_JSON_KEY }} | |
| - name: Decrypt keystore | |
| run: | | |
| openssl aes-256-cbc -d -pbkdf2 -salt \ | |
| -in app/codeopsstudio.keystore.enc \ | |
| -out app/codeopsstudio.keystore \ | |
| -k ${{ secrets.KEYSTORE_ENC_PASSWORD }} | |
| - name: Set Up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| cache: 'gradle' | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v3 | |
| - name: Grant Permissions for Gradle | |
| run: chmod +x ./gradlew | |
| # Run Tests Build | |
| # - name: Run gradle tests | |
| # run: ./gradlew test | |
| # Run Build Project | |
| # - name: Build gradle project | |
| # run: ./gradlew build | |
| # Extract versionName from Gradle. | |
| - name: Extract versionName from Gradle | |
| run: | | |
| VERSION_NAME=$(./gradlew printVersion --quiet | grep VERSION_NAME | cut -d '=' -f2) | |
| echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV | |
| # Create APK Debug | |
| - name: Build apk debug project (APK) - ${{ env.main_project_module }} module | |
| run: ./gradlew assembleDebug | |
| # Create APK Release | |
| - name: Build apk release project (APK) - ${{ env.main_project_module }} module | |
| run: ./gradlew assemble | |
| # Create Bundle AAB Release | |
| # Noted for main module build [main_project_module]:bundleRelease | |
| - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module | |
| run: ./gradlew ${{ env.main_project_module }}:bundleRelease | |
| # Upload Artifact Build | |
| # Noted For Output [main_project_module]/build/outputs/apk/debug/ | |
| - name: Upload APK Debug - ${{ env.repository_name }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug - ${{ env.VERSION_NAME }} | |
| path: ${{ env.main_project_module }}/build/outputs/apk/debug/ | |
| # Noted For Output [main_project_module]/build/outputs/apk/release/ | |
| - name: Upload APK Release - ${{ env.repository_name }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release - ${{ env.VERSION_NAME }} | |
| path: ${{ env.main_project_module }}/build/outputs/apk/release/ | |
| # Noted For Output [main_project_module]/build/outputs/bundle/release/ | |
| - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }} | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release - ${{ env.VERSION_NAME }} | |
| path: ${{ env.main_project_module }}/build/outputs/bundle/release/ | |
| # Publish Modules | |
| - name: Publish Libraries to GitHub Packages | |
| if: github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev') | |
| env: | |
| GHPKGS_LIB_PUB_TOKEN: ${{ secrets.GHPKGS_LIB_PUB_TOKEN }} | |
| run: | | |
| echo "Publishing libraries to GitHub Packages..." | |
| ./gradlew publishReleasePublicationToGitHubPackagesRepository | |
| echo "Libraries published!" |