name: CD Android Live Update on: push: branches: [main, master] paths: - 'android/capawesome.json' - '.github/workflows/cd-android-live-update.yml' jobs: check-version: name: Check Version runs-on: ubuntu-latest outputs: changed: ${{ steps.check.outputs.changed }} steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 2 - name: Read current version id: current run: | current=$(jq -r '.version' android/capawesome.json) echo "version=$current" >> $GITHUB_OUTPUT - name: Read previous version id: previous run: | if git show HEAD^:android/capawesome.json >/dev/null 2>&1; then previous=$(git show HEAD^:android/capawesome.json | jq -r '.version') else previous="none" fi echo "version=$previous" >> $GITHUB_OUTPUT - name: Compare versions id: check run: | echo "current=${{ steps.current.outputs.version }}" echo "previous=${{ steps.previous.outputs.version }}" if [ "${{ steps.current.outputs.version }}" = "${{ steps.previous.outputs.version }}" ]; then echo "Version unchanged. Skipping deploy." echo "changed=false" >> $GITHUB_OUTPUT else echo "changed=true" >> $GITHUB_OUTPUT fi deploy: name: Deploy runs-on: ubuntu-latest needs: check-version if: needs.check-version.outputs.changed == 'true' steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - name: Deploy Live Update env: NEXT_PUBLIC_FIREBASE_API_KEY: ${{ secrets.NEXT_PUBLIC_FIREBASE_API_KEY }} NEXT_PUBLIC_SUPABASE_INSTANCE_ID: ${{ secrets.NEXT_PUBLIC_SUPABASE_INSTANCE_ID }} NEXT_PUBLIC_SUPABASE_KEY: ${{ secrets.NEXT_PUBLIC_SUPABASE_KEY }} CAPAWESOME_TOKEN: ${{ secrets.CAPAWESOME_TOKEN }} commitRef: ${{ github.head_ref || github.ref_name }} commitSha: ${{ github.sha }} run: yarn android-live-update