name: Build & Upload env: DOCKER_BUILDKIT: 1 COMPOSE_DOCKER_CLI_BUILD: 1 on: workflow_dispatch: inputs: FILES_TO_EXPECT: type: string required: false default: '-1' workflow_call: secrets: ENVS: required: false REDDIT_CLIENT_ID: required: false inputs: FILES_TO_EXPECT: type: string required: false default: '-1' COMMIT_CHANGELOG: type: boolean required: false default: false DEBUG_ENABLED: type: boolean description: 'Run the build with tmate debugging enabled.' required: false default: false jobs: build-apk: name: APK Build runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Check out Git repository uses: actions/checkout@main - name: Update Env for custom build run: | echo "${{ secrets.ENVS }}" >> .env - name: Inject Reddit Client ID env: REDDIT_CLIENT_ID: ${{ secrets.REDDIT_CLIENT_ID }} if: env.REDDIT_CLIENT_ID != null run: | client_id="${REDDIT_CLIENT_ID}" path="apks/options.json" json_data=$(cat "${path}") new_object='{ "patchName": "Spoof client", "options": [ { "key": "client-id", "value": "'${client_id}'" } ] }' # Check if an object with the patchName "Spoof client" already exists existing_object_index=$(echo "${json_data}" | jq 'map(.patchName) | index("Spoof client")') echo "${existing_object_index}" if [[ ${existing_object_index} != "null" ]]; then echo "Patch entry already exists. Overriding client ID in it." updated_json=$(echo "${json_data}" | jq ".[${existing_object_index}].options[0].value = \"${client_id}\"") else echo "Patch entry doesn't exists. Adding new entry." updated_json=$(echo "${json_data}" | jq ". += [${new_object}]") fi echo "${updated_json}" > "${path}" - name: Setup tmate session uses: mxschmitt/action-tmate@master if: ${{ github.event_name == 'workflow_dispatch' && inputs.DEBUG_ENABLED }} - name: Build Revanced APKs run: | docker-compose up --build - name: Upload Build APKS uses: actions/upload-artifact@main with: name: Built-APKs path: | apks/*-output.apk apks/VancedMicroG.apk" if-no-files-found: error - name: Commit Update file if: ${{ inputs.COMMIT_CHANGELOG }} uses: stefanzweifel/git-auto-commit-action@master with: branch: changelogs skip_checkout: true file_pattern: changelog.md commit_message: 🚀New Build push_options: '--force'