Skip to content

Update Workflows to Improve Inputs and Edge Case Handling#4

Merged
PSchmiedmayer merged 6 commits into
mainfrom
updateWorkflows
Jun 19, 2026
Merged

Update Workflows to Improve Inputs and Edge Case Handling#4
PSchmiedmayer merged 6 commits into
mainfrom
updateWorkflows

Conversation

@PSchmiedmayer

@PSchmiedmayer PSchmiedmayer commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Update Workflows to Improve Inputs and Edge Case Handling

⚙️ Release Notes

  • Update Workflows to Improve Inputs and Edge Case Handling

Code of Conduct & Contributing Guidelines

By creating and submitting this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

Summary by CodeRabbit

  • Chores
    • Updated CI behavior so CodeQL-enabled runs build but skip test execution and only enable related test/coverage steps when tests are effectively enabled.
    • Improved xcodebuild command behavior by only applying test plan/coverage when appropriate.
    • Adjusted artifact upload resolution and naming for build result bundles, and updated Swift package test calls to pass resultBundle.
    • Added concurrency controls to the validator and release workflows, and updated Markdown link checker defaults to use ubuntu-latest.
  • New Features
    • Added an optional artifact_path input to the Firebase emulator workflow for conditional artifact uploads even when the command fails.
  • Documentation
    • Refreshed CI/workflow examples and clarified CodeQL and artifact/result bundle behaviors.

@PSchmiedmayer PSchmiedmayer self-assigned this Jun 19, 2026
Copilot AI review requested due to automatic review settings June 19, 2026 14:54
@PSchmiedmayer PSchmiedmayer added the enhancement New feature or request label Jun 19, 2026
@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 787da204-49ac-4677-8244-8f6538f52df9

📥 Commits

Reviewing files that changed from the base of the PR and between 5f7d425 and 13e39f3.

📒 Files selected for processing (4)
  • .github/workflows/firebase-emulators-exec.yml
  • .github/workflows/swift-package-test.yml
  • .github/workflows/xcodebuild.yml
  • README.md

📝 Walkthrough

Walkthrough

The xcodebuild.yml workflow is refactored to suppress tests when CodeQL is enabled by computing an effective_test_enabled flag forced to false during CodeQL runs. Input descriptions are clarified for scheme, result bundle, and test behavior. The resolve step adds CodeQL-aware logic to compute artifact paths conditionally. The firebase-emulators-exec.yml workflow gains optional artifact_path support with conditional artifact uploads. Workflow infrastructure is updated: markdown-links.yml default runner changes to ubuntu-latest, and both validate.yml and release.yml receive concurrency configurations to manage simultaneous execution.

Changes

xcodebuild Workflow Refactoring for CodeQL and Artifacts

Layer / File(s) Summary
Input contract definitions
.github/workflows/xcodebuild.yml
Workflow input descriptions for scheme, resultBundle, test, and artifactname are updated to document inference behavior, CodeQL interaction, and default artifact naming.
Input resolution and build execution
.github/workflows/xcodebuild.yml
The resolve step injects CODEQL_ENABLED and computes artifact_path/artifact_name conditionally (only for non-CodeQL runs with tests enabled). The build step uses an effective_test_enabled flag forced false when CodeQL is active, determining xcodebuild command (test vs. build), code coverage enabling, and -testPlan inclusion. Artifact upload uses the computed paths.
Consumer workflows and documentation
.github/workflows/swift-package-test.yml, README.md
swift-package-test and ui_tests jobs are updated to pass resultBundle instead of artifactname to xcodebuild. README documents scheme inference, CodeQL permissions, and CodeQL-enabled runs building without executing tests.

Firebase Emulator Artifact Support

Layer / File(s) Summary
Artifact path input and upload logic
.github/workflows/firebase-emulators-exec.yml
A new optional artifact_path input is added. After command execution, a sanitized artifact name is derived from the path, and the artifact is uploaded via actions/upload-artifact if artifact_path is non-empty, running regardless of command success or failure.

Workflow Concurrency and Runner Configuration

Layer / File(s) Summary
Concurrency blocks for validate and release
.github/workflows/validate.yml, .github/workflows/release.yml
Validate.yml defines concurrency using workflow name and ref with in-progress pull request cancellation. Release.yml defines concurrency using workflow name only without automatic cancellation.
Runner default and validate integration
.github/workflows/markdown-links.yml, .github/workflows/validate.yml, README.md
Markdown-links input runs_on_labels default changes from macOS/self-hosted to ubuntu-latest. Validate.yml markdown_link_check job removes its explicit runs_on_labels input to rely on the updated default. README example is updated.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • SchmiedmayerLab/.github#2: Both PRs extend the reusable firebase-emulators-exec.yml workflow to add artifact artifact handling and updates to the artifact-related inputs.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is largely incomplete, missing critical sections required by the template. It lacks 'Current situation & Problem', 'Documentation', and 'Testing' sections, and provides only a minimal 'Release Notes' entry that merely repeats the title. Complete the PR description by adding the missing sections: explain the problem being solved, document the changes (especially concurrency and CodeQL improvements), describe testing performed, and provide a more detailed release notes summary.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Update Workflow to Improve CodeQL Handling' is related to changes in the PR, but it only partially captures the scope. The changes include CodeQL improvements and concurrency configuration, but the title emphasizes only CodeQL without mentioning the broader workflow updates (markdown links runner defaults, concurrency management).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch updateWorkflows

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown

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 updates the reusable xcodebuild.yml workflow and its documentation to clarify and enforce that when CodeQL scanning is requested, the workflow performs a build without running tests (even if test: true is provided), improving reliability of CodeQL handling.

Changes:

  • Document that codeql: true causes the workflow to build without running tests, even though test defaults to true.
  • Update the workflow to compute an effective_test_enabled flag and use it to select xcodebuild test vs xcodebuild build and to gate -testPlan.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
README.md Documents the “CodeQL implies build-only (no tests)” behavior and required permissions when calling the workflow.
.github/workflows/xcodebuild.yml Implements the build-only behavior for CodeQL via an effective_test_enabled flag and adjusts test plan handling accordingly.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/xcodebuild.yml Outdated
@PSchmiedmayer PSchmiedmayer changed the title Update Workflow to Improve CodeQL Handling Update Workflows to Improve Inputs and Edge Case Handling Jun 19, 2026
@PSchmiedmayer PSchmiedmayer merged commit 703097d into main Jun 19, 2026
5 of 6 checks passed
@PSchmiedmayer PSchmiedmayer deleted the updateWorkflows branch June 19, 2026 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants