From f1145b6863347b15fea7b8a2baddcaef6df40514 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Thu, 16 Apr 2026 17:57:57 +0300 Subject: [PATCH] Add a workflow that runs on top of Renovate XcodeGen PRs to update the project and resolved packages. --- .github/workflows/renovate-xcodegen.yml | 54 +++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/renovate-xcodegen.yml diff --git a/.github/workflows/renovate-xcodegen.yml b/.github/workflows/renovate-xcodegen.yml new file mode 100644 index 000000000..6c6e99950 --- /dev/null +++ b/.github/workflows/renovate-xcodegen.yml @@ -0,0 +1,54 @@ +name: Update project following Renovate-XcodeGen update + +on: + pull_request: + types: [opened, synchronize, reopened] + paths: + - project.yml + +permissions: {} + +jobs: + update-project: + name: Update Xcode project + runs-on: macos-15 + timeout-minutes: 20 + permissions: + contents: write + + # Only run for Renovate PRs originating from this repository (not forks) + if: github.event.pull_request.user.login == 'renovate[bot]' && github.event.pull_request.head.repo.full_name == github.repository + + concurrency: + group: renovate-xcodegen-${{ github.head_ref }} + cancel-in-progress: true + + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + ref: ${{ github.head_ref }} + token: ${{ secrets.ELEMENT_BOT_TOKEN }} + # We need to push any changes to the project. + persist-credentials: true + + - name: Install XcodeGen + run: | + unset HOMEBREW_NO_INSTALL_FROM_API + export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1 + brew install xcodegen + + - name: Run XcodeGen + run: xcodegen + + - name: Resolve package dependencies + run: xcodebuild -resolvePackageDependencies -project ElementX.xcodeproj + + - name: Commit and push changes + run: | + git config user.name "ElementRobot" + git config user.email "releases@riot.im" + git add ElementX.xcodeproj/project.pbxproj + git add ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved + git diff --staged --quiet || git commit -m "Run XcodeGen and update Package.resolved" + git push