Skip to content

Ci centralize workflow config#1095

Open
qnaveed87 wants to merge 18 commits into
mainfrom
ci-centralize-workflow-config
Open

Ci centralize workflow config#1095
qnaveed87 wants to merge 18 commits into
mainfrom
ci-centralize-workflow-config

Conversation

@qnaveed87

@qnaveed87 qnaveed87 commented Apr 6, 2026

Copy link
Copy Markdown
Contributor

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

  • Adds .github/workflows/shared-config.yml with reusable workflow outputs.
  • Replaces hard-coded Xcode/Ruby/simulator values across SDK, API library, docs, release, Firebase, and SBOM workflows.
  • Adds get-config jobs and dependencies to consuming workflows.

@qnaveed87 qnaveed87 marked this pull request as draft April 6, 2026 10:02
Comment thread .github/workflows/shared-config.yml Fixed
qnaveed87 added 2 commits May 28, 2026 14:45
…lize-workflow-config

# Conflicts:
#	.github/workflows/health-sdk.build.xcframeworks.yml
#	.github/workflows/internal-payment-sdk.release.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.yml with reusable workflow outputs.
  • Replaces hard-coded Xcode/Ruby/simulator values across SDK, API library, docs, release, Firebase, and SBOM workflows.
  • Adds get-config jobs 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.

Comment thread .github/workflows/bank-sdk.release.yml Outdated
Comment thread .github/workflows/merchant-sdk.release.yml Outdated
Comment thread .github/workflows/utilites.release.yml Outdated
Comment thread .github/workflows/bank-api-library.release.yml Outdated
Comment thread .github/workflows/capture-sdk.release.yml Outdated
Comment thread .github/workflows/health-api-library.release.yml Outdated
Comment thread .github/workflows/health-sdk.release.yml Outdated
Comment thread .github/workflows/internal-payment-sdk.release.yml Outdated
Comment thread .github/workflows/health-sdk.build.xcframeworks.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 30 changed files in this pull request and generated 2 comments.

Comment thread .github/workflows/shared-config.yml
Comment thread .github/workflows/health-sdk.build.xcframeworks.yml
@qnaveed87 qnaveed87 marked this pull request as ready for review June 2, 2026 15:24

@zladzeyka zladzeyka left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @qnaveed87 LGTM

qnaveed87 added 4 commits June 3, 2026 17:14
…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
…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 ValentinaIancu-Gini left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@qnaveed87 I checked the Pr and let a couple of comments. Please check them and see what we can fix.

Comment thread .github/workflows/bank-api-library.release.yml Outdated
Comment thread .github/workflows/bank-sdk.release.yml Outdated
steps:
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0
with:
xcode-version: ${{ needs.get-config.outputs.xcode-version }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@qnaveed87 please check if we should keep this or we can clean up.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread .github/workflows/health-api-library.release.yml Outdated
Comment thread .github/workflows/health-sdk.release.yml Outdated
Comment thread .github/workflows/internal-payment-sdk.release.yml Outdated
Comment thread .github/workflows/utilites.release.yml Outdated
jobs:
get-config:
uses: ./.github/workflows/shared-config.yml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 31 out of 31 changed files in this pull request and generated 58 comments.

Comment thread .github/workflows/shared-config.yml
Comment thread .github/workflows/shared-config.yml
Comment thread .github/workflows/sdk.release.yml
Comment thread .github/workflows/sdk.release.yml
Comment thread .github/workflows/utilites.release.yml
Comment thread .github/workflows/sdk.publish.docs.yml
Comment thread .github/workflows/generate-sboms.yml
Comment thread .github/workflows/codeql.yml
Comment thread .github/workflows/codeql.yml
Comment thread .github/workflows/shared-config.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants