diff --git a/.github/workflows/android-common-with-lint.yml b/.github/workflows/android-common-with-lint.yml index 454b109..5b3fc44 100644 --- a/.github/workflows/android-common-with-lint.yml +++ b/.github/workflows/android-common-with-lint.yml @@ -9,6 +9,11 @@ on: description: 'Build Number' type: string required: false + lfs: + description: 'Whether to use LFS for the artifacts' + type: boolean + default: false + workflow_dispatch: concurrency: @@ -20,18 +25,24 @@ jobs: runs-on: [self-hosted, Linux] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - uses: QuickBirdEng/actions/setup-android-for-build@main - run: ./gradlew quickLint unitTests: runs-on: [self-hosted, Linux] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - uses: QuickBirdEng/actions/setup-android-for-build@main - run: ./gradlew test androidTests: runs-on: [self-hosted, Linux, android] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - uses: QuickBirdEng/actions/setup-android-for-build@main - run: ./gradlew cAT --stacktrace android-publish: @@ -39,9 +50,11 @@ jobs: needs: [lint, unitTests, androidTests] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - run: echo "BuildForRelease=true" >> $GITHUB_ENV - uses: QuickBirdEng/actions/setup-version@main - with: + with: build-number: ${{ inputs.build-number }} - uses: QuickBirdEng/actions/setup-android@main with: @@ -51,4 +64,4 @@ jobs: signing-key-password: ${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }} - name: Generate APK shell: bash - run: ./gradlew assembleRelease \ No newline at end of file + run: ./gradlew assembleRelease diff --git a/.github/workflows/android-common.yml b/.github/workflows/android-common.yml index 6e89972..3ebc9d8 100644 --- a/.github/workflows/android-common.yml +++ b/.github/workflows/android-common.yml @@ -9,7 +9,10 @@ on: description: 'Build Number' type: string required: false - workflow_dispatch: + lfs: + description: 'Whether to use LFS for the artifacts' + type: boolean + default: false concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -20,6 +23,8 @@ jobs: runs-on: [self-hosted, Linux] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - uses: QuickBirdEng/actions/setup-android-for-build@main - name: Setup API Key (if secret is set) shell: bash @@ -32,6 +37,8 @@ jobs: runs-on: [self-hosted, Linux, android] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - uses: QuickBirdEng/actions/setup-android-for-build@main - name: Setup API Key (if secret is set) shell: bash -l {0} @@ -45,9 +52,11 @@ jobs: needs: [unitTests, androidTests] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - run: echo "BuildForRelease=true" >> $GITHUB_ENV - uses: QuickBirdEng/actions/setup-version@main - with: + with: build-number: ${{ inputs.build-number }} - uses: QuickBirdEng/actions/setup-android@main with: @@ -63,4 +72,4 @@ jobs: fi - name: Generate APK shell: bash - run: ./gradlew assembleRelease \ No newline at end of file + run: ./gradlew assembleRelease diff --git a/.github/workflows/android-manual-release.yml b/.github/workflows/android-manual-release.yml index 560fa50..7de2790 100644 --- a/.github/workflows/android-manual-release.yml +++ b/.github/workflows/android-manual-release.yml @@ -2,7 +2,15 @@ name: Manual Release Workflow on: workflow_call: - workflow_dispatch: + inputs: + lfs: + description: 'Whether to use LFS for the artifacts' + type: boolean + default: false + ndk: + description: 'Should use NDK for the build' + type: boolean + default: false env: ENVIRONMENT_FILE: .env @@ -24,17 +32,36 @@ jobs: echo "build-number=$build_number" >> $GITHUB_OUTPUT echo "Build Number: $build_number" - branch: - needs: [generate-build-number] - uses: QuickBirdEng/workflows/.github/workflows/android-common.yml@main - with: - build-number: ${{ needs.generate-build-number.outputs.build-number }} - secrets: inherit - - publish-apps-qb: + android-publish: runs-on: [self-hosted, Linux] - needs: [branch] + needs: [generate-build-number] steps: + - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} + - uses: nttld/setup-ndk@v1 + if: ${{ inputs.ndk == true }} + with: + ndk-version: r25c + - run: echo "BuildForRelease=true" >> $GITHUB_ENV + - uses: QuickBirdEng/actions/setup-version@main + with: + build-number: ${{ needs.generate-build-number.outputs.build-number }} + - uses: QuickBirdEng/actions/setup-android@main + with: + key-store-file-content: ${{ secrets.ANDROID_KEYSTORE_FILE_CONTENT }} + key-store-password: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + signing-key-alias: ${{ secrets.ANDROID_SIGNING_KEY_ALIAS }} + signing-key-password: ${{ secrets.ANDROID_SIGNING_KEY_PASSWORD }} + - name: Setup API Key (if secret is set) + shell: bash + run: | + if [[ '${{ secrets.RAW_API_KEY }}' != '' ]]; then + echo "RAW_API_KEY=${{ secrets.RAW_API_KEY }}" >> .env.credentials + fi + - name: Generate APK + shell: bash + run: ./gradlew assembleRelease - name: "Publishing to apps.quickbirdstudios.com" uses: QuickBirdEng/actions/qb-publish@main with: @@ -43,9 +70,15 @@ jobs: android-bundle: runs-on: [self-hosted, Linux] - needs: [generate-build-number, branch] + needs: [generate-build-number] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} + - uses: nttld/setup-ndk@v1 + if: ${{ inputs.ndk == true }} + with: + ndk-version: r25c - run: echo "BuildForRelease=true" >> $GITHUB_ENV - uses: QuickBirdEng/actions/setup-version@main with: diff --git a/.github/workflows/android-release-with-lint.yml b/.github/workflows/android-release-with-lint.yml index 7f4830a..abf5e1b 100644 --- a/.github/workflows/android-release-with-lint.yml +++ b/.github/workflows/android-release-with-lint.yml @@ -1,8 +1,12 @@ name: Release Workflow on: - workflow_call: - workflow_dispatch: + workflow_call: + inputs: + lfs: + description: 'Whether to use LFS for the artifacts' + type: boolean + default: false env: ENVIRONMENT_FILE: .env @@ -19,7 +23,7 @@ jobs: steps: - name: Generate Build Number id: build-number-generator - run: | + run: | build_number=$(date +%s) echo "build-number=$build_number" >> $GITHUB_OUTPUT echo "Build Number: $build_number" @@ -29,6 +33,7 @@ jobs: uses: ./.github/workflows/android-common-with-lint.yml with: build-number: ${{ needs.generate-build-number.outputs.build-number }} + lfs: ${{ inputs.lfs }} secrets: inherit android-bundle: @@ -36,6 +41,8 @@ jobs: needs: [generate-build-number, branch] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - run: echo "BuildForRelease=true" >> $GITHUB_ENV - uses: QuickBirdEng/actions/setup-version@main with: diff --git a/.github/workflows/android-release.yml b/.github/workflows/android-release.yml index 3bdb2aa..9cec9ab 100644 --- a/.github/workflows/android-release.yml +++ b/.github/workflows/android-release.yml @@ -2,7 +2,12 @@ name: Release Workflow on: workflow_call: - workflow_dispatch: + inputs: + lfs: + description: 'Whether to use LFS for the artifacts' + type: boolean + default: false + env: ENVIRONMENT_FILE: .env @@ -19,7 +24,7 @@ jobs: steps: - name: Generate Build Number id: build-number-generator - run: | + run: | build_number=$(date +%s) echo "build-number=$build_number" >> $GITHUB_OUTPUT echo "Build Number: $build_number" @@ -28,6 +33,7 @@ jobs: needs: [generate-build-number] uses: QuickBirdEng/workflows/.github/workflows/android-common.yml@main with: + lfs: ${{ inputs.lfs }} build-number: ${{ needs.generate-build-number.outputs.build-number }} secrets: inherit @@ -36,6 +42,8 @@ jobs: needs: [generate-build-number, branch] steps: - uses: actions/checkout@v3 + with: + lfs: ${{ inputs.lfs }} - run: echo "BuildForRelease=true" >> $GITHUB_ENV - uses: QuickBirdEng/actions/setup-version@main with: @@ -62,4 +70,4 @@ jobs: secret-key: ${{ secrets.DO_SECRET_KEY }} repo-token: ${{ secrets.GITHUB_TOKEN }} name-suffix: android - artifact-path: app/build/outputs/bundle/release/app-release.aab \ No newline at end of file + artifact-path: app/build/outputs/bundle/release/app-release.aab