Skip to content

[CI] Additional release checks#3907

Merged
testableapple merged 1 commit intodevelopfrom
ci/run-integration-test-before-every-release
Dec 19, 2025
Merged

[CI] Additional release checks#3907
testableapple merged 1 commit intodevelopfrom
ci/run-integration-test-before-every-release

Conversation

@testableapple
Copy link
Contributor

@testableapple testableapple commented Dec 19, 2025

🎯 Goal

Secure releases by adding more checks.

📝 Summary

  • Run integration test before every release
  • Check for unsafe flags in Package.swift

Summary by CodeRabbit

  • Chores

    • Enhanced release workflow with deeper checkout, CI caching and an automated integration-test trigger to speed and stabilize builds.
    • Added an extra validation step in the release build to improve safety and reliability.
    • Bumped a Fastlane plugin dependency to a newer version.
  • Tests

    • Integration tests are now triggered automatically as part of the release flow.

✏️ Tip: You can customize this high-level summary in your review settings.

@testableapple testableapple requested a review from a team as a code owner December 19, 2025 10:34
@testableapple testableapple added the 🤖 CI/CD Any work related to CI/CD label Dec 19, 2025
@testableapple testableapple marked this pull request as draft December 19, 2025 10:34
@coderabbitai
Copy link

coderabbitai bot commented Dec 19, 2025

Walkthrough

Adds caching and an integration-test trigger to the release-start GitHub Actions workflow, bumps a fastlane plugin version, and inserts a check_unsafe_flags invocation into the Fastlane :release lane (placed after artifacts_changes and before match_me).

Changes

Cohort / File(s) Summary
GitHub Actions Workflow
\.github/workflows/release-start.yml``
Adds checkout step pinned to v4.1.1 with fetch-depth: 0, adds Ruby and Xcode cache actions, and adds an Integration Test step that runs gh workflow run test.yml --repo GetStream/apple-internal-testing-pipeline using GITHUB_TOKEN; existing Create Release PR step preserved.
Fastlane: Fastfile change
\fastlane/Fastfile``
Inserts a call to check_unsafe_flags in the :release lane immediately after the artifacts_changes block and before match_me.
Fastlane: Pluginfile change
\fastlane/Pluginfile``
Bumps fastlane-plugin-stream_actions from 0.3.101 to 0.3.102.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Inspect .github/workflows/release-start.yml for correct checkout inputs, cache action versions/keys, and the gh workflow run invocation and token usage.
  • Verify fastlane/Fastfile that check_unsafe_flags is inserted at the intended point (after artifacts_changes, before match_me) and its arguments/path.
  • Confirm fastlane/Pluginfile version bump aligns with any lockfile or dependency constraints.

Possibly related PRs

Suggested reviewers

  • nuno-vieira
  • laevandus

Poem

"I hopped through YAML, swift and spry,
Cached my gems and watched tests fly,
Checked flags that whispered 'unsafe' near,
Then nudged the release PR clear.
🐇✨"

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The PR title '[CI] Additional release checks' is partially related to the changeset but does not capture the main objectives. The PR objectives specifically highlight running integration tests before release and checking for unsafe flags, but the title uses vague language ('Additional release checks') that doesn't convey these specific improvements. Consider using a more specific title like '[CI] Run integration tests and check unsafe flags before release' to clearly communicate the primary changes and objectives.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci/run-integration-test-before-every-release

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@testableapple testableapple force-pushed the ci/run-integration-test-before-every-release branch from 4240dd0 to b40f02a Compare December 19, 2025 10:43
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between d7dbe12 and 4240dd0.

📒 Files selected for processing (3)
  • .github/workflows/release-start.yml (1 hunks)
  • .github/workflows/smoke-checks.yml (1 hunks)
  • fastlane/Fastfile (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to Tests/**/*.swift : Add or extend tests in the matching module's Tests/ folder for changes to StreamChat or StreamChatUI code, covering core models, API surfaces, and view controller behaviors; use fakes/mocks from test helpers provided by the repo

Applied to files:

  • .github/workflows/smoke-checks.yml
📚 Learning: 2025-11-25T12:17:18.459Z
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to **/*.swift : Write Swift code compatible with iOS deployment targets specified in Package.swift and podspec files; do not lower deployment targets without approval

Applied to files:

  • fastlane/Fastfile
🔇 Additional comments (1)
.github/workflows/release-start.yml (1)

21-27: LGTM! Caching steps will improve workflow performance.

Adding Ruby and Xcode caching along with proper git history (fetch-depth: 0) are good preparatory steps for the release workflow.

@testableapple testableapple marked this pull request as ready for review December 19, 2025 10:56
@testableapple testableapple enabled auto-merge (squash) December 19, 2025 11:50
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between aa68e58 and 212c0cb.

⛔ Files ignored due to path filters (1)
  • Gemfile.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • fastlane/Fastfile (1 hunks)
  • fastlane/Pluginfile (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • fastlane/Fastfile
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Applies to Tests/**/*.swift : Add or extend tests in the matching module's Tests/ folder for changes to StreamChat or StreamChatUI code, covering core models, API surfaces, and view controller behaviors; use fakes/mocks from test helpers provided by the repo
Learnt from: CR
Repo: GetStream/stream-chat-swift PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T12:17:18.459Z
Learning: Maintain high test coverage when changing code in the Stream iOS Chat SDK

@testableapple testableapple force-pushed the ci/run-integration-test-before-every-release branch from ee8afa2 to 44a5f23 Compare December 19, 2025 12:18
@testableapple testableapple enabled auto-merge (squash) December 19, 2025 12:22
@testableapple testableapple changed the title [CI] Run integration test before every release [CI] Additional release checks Dec 19, 2025
@testableapple testableapple merged commit 35873e7 into develop Dec 19, 2025
5 of 6 checks passed
@testableapple testableapple deleted the ci/run-integration-test-before-every-release branch December 19, 2025 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 CI/CD Any work related to CI/CD

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants