diff --git a/.gitea/workflows/sync-readme-badges.yaml b/.gitea/workflows/sync-readme-badges.yaml new file mode 100644 index 0000000..bb81ec9 --- /dev/null +++ b/.gitea/workflows/sync-readme-badges.yaml @@ -0,0 +1,58 @@ +name: Sync README Badges + +on: + push: + paths: + - 'Dockerfile.android' + - 'Dockerfile' + - 'Dockerfile.linux' + workflow_dispatch: + +jobs: + sync-badges: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Extract versions from Dockerfiles + id: versions + run: | + # Android SDK build-tools version + ANDROID_SDK=$(grep -oP 'ANDROID_BUILD_TOOLS=\K[0-9.]+' Dockerfile.android || echo "") + echo "android_sdk=${ANDROID_SDK}" >> $GITHUB_OUTPUT + echo "Android SDK: ${ANDROID_SDK}" + + # Flutter version (from ARG default) + FLUTTER=$(grep -oP 'ARG FLUTTER_VERSION=\K[0-9.]+' Dockerfile.android || echo "") + echo "flutter=${FLUTTER}" >> $GITHUB_OUTPUT + echo "Flutter: ${FLUTTER}" + + - name: Update README badges + run: | + ANDROID_SDK="${{ steps.versions.outputs.android_sdk }}" + FLUTTER="${{ steps.versions.outputs.flutter }}" + + if [ -n "$ANDROID_SDK" ]; then + # Update Android SDK badge version + sed -i "s|Android%20SDK-[0-9.]*-green|Android%20SDK-${ANDROID_SDK}-green|g" README.md + echo "Updated Android SDK badge to ${ANDROID_SDK}" + fi + + - name: Check for changes + id: changes + run: | + if git diff --quiet README.md; then + echo "changed=false" >> $GITHUB_OUTPUT + else + echo "changed=true" >> $GITHUB_OUTPUT + fi + + - name: Commit and push + if: steps.changes.outputs.changed == 'true' + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add README.md + git commit -m "Update README badges to match Dockerfile versions" + git push