Ci centralize workflow config#1095
Conversation
…lize-workflow-config # Conflicts: # .github/workflows/health-sdk.build.xcframeworks.yml # .github/workflows/internal-payment-sdk.release.yml
There was a problem hiding this comment.
Pull request overview
This PR centralizes repeated GitHub Actions build configuration by introducing a reusable workflow for shared Xcode, Ruby, and iOS simulator settings, then updates CI/release workflows to consume those outputs.
Changes:
- Adds
.github/workflows/shared-config.ymlwith reusable workflow outputs. - Replaces hard-coded Xcode/Ruby/simulator values across SDK, API library, docs, release, Firebase, and SBOM workflows.
- Adds
get-configjobs and dependencies to consuming workflows.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/shared-config.yml |
Defines centralized CI configuration outputs. |
.github/workflows/bank-api-library.build.docs.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/bank-api-library.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/bank-api-library.release.yml |
Uses centralized Xcode/Ruby settings for release. |
.github/workflows/bank-sdk.build.docs.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/bank-sdk.build.xcframeworks.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/bank-sdk.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/bank-sdk.publish.example.app.firebase.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/bank-sdk.release.yml |
Uses centralized Xcode/Ruby settings for release. |
.github/workflows/capture-sdk.build.docs.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/capture-sdk.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/capture-sdk.release.yml |
Uses centralized Xcode/Ruby settings for release. |
.github/workflows/generate-sboms.yml |
Uses centralized Ruby version. |
.github/workflows/health-api-library.build.docs.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/health-api-library.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/health-api-library.release.yml |
Uses centralized Xcode/Ruby settings for release. |
.github/workflows/health-sdk.build.docs.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/health-sdk.build.xcframeworks.yml |
Uses centralized Xcode/Ruby versions for XCFramework builds. |
.github/workflows/health-sdk.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/health-sdk.publish.example.apps.firebase.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/health-sdk.release.yml |
Uses centralized Xcode/Ruby settings for release. |
.github/workflows/internal-payment-sdk.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/internal-payment-sdk.release.yml |
Uses centralized Xcode/Ruby settings for release. |
.github/workflows/merchant-sdk.build.docs.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/merchant-sdk.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/merchant-sdk.publish.example.apps.firebase.yml |
Uses centralized Xcode/Ruby versions. |
.github/workflows/merchant-sdk.release.yml |
Uses centralized Xcode/Ruby settings for release. |
.github/workflows/sdk.publish.docs.yml |
Uses centralized Xcode/Ruby versions in reusable docs publishing. |
.github/workflows/utilites.check.yml |
Uses centralized Xcode/Ruby/simulator settings. |
.github/workflows/utilites.release.yml |
Uses centralized Xcode/Ruby settings for release. |
zladzeyka
left a comment
There was a problem hiding this comment.
Thank you @qnaveed87 LGTM
…lize-workflow-config # Conflicts: # .github/workflows/merchant-sdk.build.docs.yml # .github/workflows/merchant-sdk.check.yml # .github/workflows/merchant-sdk.publish.example.apps.firebase.yml # .github/workflows/merchant-sdk.release.yml
Pp 2286 update xcode
…lize-workflow-config # Conflicts: # .github/workflows/bank-api-library.release.yml # .github/workflows/bank-sdk.release.yml # .github/workflows/capture-sdk.release.yml # .github/workflows/health-api-library.release.yml # .github/workflows/health-sdk.release.yml # .github/workflows/internal-payment-sdk.release.yml # .github/workflows/utilites.release.yml
ValentinaIancu-Gini
left a comment
There was a problem hiding this comment.
@qnaveed87 I checked the Pr and let a couple of comments. Please check them and see what we can fix.
| steps: | ||
| - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0 | ||
| with: | ||
| xcode-version: ${{ needs.get-config.outputs.xcode-version }} |
There was a problem hiding this comment.
@qnaveed87 please check if we should keep this or we can clean up.
There was a problem hiding this comment.
Fixed — all release jobs now declare needs: [get-config, check] and pass xcode-version and ruby-version as inputs to the reusable sdk.release.yml workflow
| jobs: | ||
| get-config: | ||
| uses: ./.github/workflows/shared-config.yml | ||
|
|
There was a problem hiding this comment.
@qnaveed87 can you please add this? Check because there are already permissions methods a bit below, but I can not add my comment on that line because it is not part of the diff :|.
contents: read```
Try with read first and if we need more permission, we can try write
Pull Request Description
This PR centralizes repeated GitHub Actions build configuration by introducing a reusable workflow for shared Xcode, Ruby, and iOS simulator settings, then updates CI/release workflows to consume those outputs.
Notes for Reviewers