Skip to content

Conversation

leogdion
Copy link
Member

@leogdion leogdion commented Jun 8, 2025

Summary by CodeRabbit

  • Chores
    • Enabled Windows CI for a single-target package with a matrix of Swift versions; fail-fast disabled to allow independent runs.
    • Temporarily disabled other CI jobs (macOS, iOS/watchOS/visionOS, Ubuntu) to focus validation on Windows.
    • Updated CI action to explicitly detect Windows and Ubuntu, separating Swift and OS version detection.
    • Expanded build/test and caching steps to support Windows alongside existing platforms.
  • Refactor
    • Streamlined workflow structure and conditions to improve multi-OS compatibility and maintainability.

@leogdion leogdion linked an issue Jun 8, 2025 that may be closed by this pull request
Copy link

coderabbitai bot commented Sep 11, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

The CI configuration disables macOS, iOS/watchOS/visionOS, and Ubuntu jobs, leaving a Windows single-target test workflow active with a Swift version matrix. The composite action updates expand OS detection, separate OS/Swift version retrieval, and enable build/test and caching on Windows alongside Ubuntu and macOS.

Changes

Cohort / File(s) Summary of Changes
CI workflow focus on Windows
.github/workflows/*
Commented out non-Windows jobs; added active Windows job (test-single-target-windows) on windows-2025 with a Swift matrix; installs Swift via compnerd/gha-setup-swift and runs swift test for SingleTargetPackage; fail-fast disabled for matrix; retains other Windows examples commented.
Composite action multi-OS logic
action.yml
Expanded OS detection with explicit windows/linux branches; split Swift and OS version retrieval (Ubuntu-only OS_VERSION step); allowed Get Swift on ubuntu/windows; extended cache to ubuntu/windows; enabled Build and Test on macos/ubuntu/windows; structural step gating updates.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer
  participant GH as GitHub Actions (Workflow)
  participant R as Runner (windows-2025)
  participant TS as compnerd/gha-setup-swift
  participant Swift as Swift Toolchain

  Dev->>GH: Push/PR triggers workflow
  GH->>R: Start job test-single-target-windows (matrix: Swift versions)
  rect rgba(200,230,255,0.4)
    GH->>TS: Setup Swift (version/build from matrix)
    TS-->>R: Swift toolchain installed
  end
  R->>Swift: swift test -c debug -v (SingleTargetPackage)
  Swift-->>R: Test results per matrix entry
  R-->>GH: Report status (fail-fast: false)
Loading
sequenceDiagram
  autonumber
  participant CA as Composite Action (action.yml)
  participant Runner as Runner (macos/ubuntu/windows)
  participant OS as OS Detector
  participant Sys as System Env

  CA->>OS: Detect OS
  alt macos
    OS-->>CA: os=macos
  else ubuntu
    OS-->>CA: os=ubuntu
    CA->>Sys: Read /etc/os-release (VERSION_CODENAME)
    Sys-->>CA: OS_VERSION exported
  else windows
    OS-->>CA: os=windows, OS_VERSION=windows
  end

  rect rgba(220,255,220,0.4)
    CA->>Runner: Get Swift (ubuntu/windows)
    CA->>Runner: Restore/Save cache (ubuntu/windows)
  end

  CA->>Runner: Build and Test (macos if !type, or ubuntu/windows)
  Runner-->>CA: Build/test outcome
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "Adding Windows Support" is a short, single-sentence summary that directly reflects the PR's primary change—introducing Windows support in CI and OS detection—so it clearly communicates the main intent to reviewers scanning history.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I tap my paws on Windows ground,
Swift winds swirl, new matrices found.
Mac and Ubuntu take a nap,
While single targets run the lap.
Actions learn each OS tune—
Cache and build beneath the moon.
Thump-thump: all green soon! 🐇✨

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 12-windows

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.

@leogdion leogdion changed the base branch from main to v1.3.0 September 11, 2025 16:56
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: 0

🧹 Nitpick comments (7)
.github/workflows/swift-test.yml (3)

175-178: Remove stale/incorrect commented URLs.

The second URL duplicates “swift” and is misleading. Clean both for clarity.

-      # https://download.swift.org/swift-6.2-branch/windows10/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a-windows10.exe
-
-      # https://download.swift.org/swift-6.2-branch/windows10/swift-swift-6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a/swift-swift-6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a-windows10.exe
+      # Example: https://download.swift.org/swift-6.2-branch/windows10/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a-windows10.exe

185-192: Leverage the composite action you just made Windows-aware.

To validate action.yml’s Windows path and keep workflows consistent, install Swift with compnerd and then invoke your action (remember: provide scheme as required by the action).

       - name: Install Windows Swift toolchain
         uses: compnerd/gha-setup-swift@main
         with:
           swift-version: ${{ matrix.swift-version }}
           swift-build: ${{ matrix.swift-build }}
-      - run: |
-          swift test --package-path=test/SingleTargetPackage --verbose
+      - name: Build and Test via composite action
+        uses: ./
+        with:
+          working-directory: test/SingleTargetPackage
+          scheme: SingleTargetPackage

21-21: Fix YAML lint nits (trailing spaces, excess blank lines).

Trailing spaces and >2 consecutive blank lines can break linters.

-# (lines contain trailing spaces)                                
+# (remove trailing spaces)
 
-# (more trailing spaces) 
+# (remove trailing spaces)
 
-      # -Xbuild-tools-swiftc ... ${env:UCRTVersion}
-         
+      # -Xbuild-tools-swiftc ... ${env:UCRTVersion}
+
-  #         scheme: MultiTargetPackage 
+  #         scheme: MultiTargetPackage

Also collapse >2 consecutive blank lines near Line 196.

Also applies to: 34-34, 51-51, 71-71, 78-78, 151-151, 168-168, 171-171, 193-193, 196-196, 207-207

action.yml (4)

94-102: Preflight check for Swift availability (Windows/Ubuntu).

The composite assumes Swift is preinstalled; on Windows that’s rarely true. Add a clear failure early to avoid confusing errors.

     - name: Get Swift
       if: steps.detect-os.outputs.os == 'ubuntu' || steps.detect-os.outputs.os == 'windows'
       shell: bash
       working-directory: ${{ inputs.working-directory }}
       run: |
+        if ! command -v swift >/dev/null 2>&1; then
+          echo "Swift toolchain not found on PATH. Please install Swift (e.g., compnerd/gha-setup-swift on Windows or use a Swift container on Linux)." >&2
+          exit 1
+        fi
         SWIFT_VERSION=$(swift --version | head -n 1 | cut -d ' ' -f 3)
         echo "SWIFT_VERSION=$SWIFT_VERSION" >> $GITHUB_ENV

121-130: Cache key should hash the correct Package.resolved path.

hashFiles() resolves from repo root, not inputs.working-directory. Use the full path to avoid cache miss collisions when working-directory ≠ root.

-        key: spm-${{ env.OS_VERSION }}-${{ env.SWIFT_VERSION }}-${{ hashFiles('Package.resolved') }}
+        key: spm-${{ env.OS_VERSION }}-${{ env.SWIFT_VERSION }}-${{ hashFiles(format('{0}/Package.resolved', inputs.working-directory)) }}

(Consider the same adjustment for the macOS cache key above for consistency.)


133-139: Clarify boolean precedence in job condition.

Make evaluation explicit to avoid surprises.

-      if: steps.detect-os.outputs.os == 'macos' && !inputs.type || steps.detect-os.outputs.os == 'ubuntu' || steps.detect-os.outputs.os == 'windows'
+      if: (steps.detect-os.outputs.os == 'macos' && !inputs.type) || steps.detect-os.outputs.os == 'ubuntu' || steps.detect-os.outputs.os == 'windows'

110-110: Trim trailing space.

Minor YAML style cleanup.

-        echo "OS_VERSION=$OS_VERSION" >> $GITHUB_ENV
-        
+        echo "OS_VERSION=$OS_VERSION" >> $GITHUB_ENV
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1f86afc and 21b2163.

📒 Files selected for processing (2)
  • .github/workflows/swift-test.yml (1 hunks)
  • action.yml (4 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
.github/workflows/swift-test.yml

📄 CodeRabbit inference engine (CLAUDE.md)

When invoking this GitHub Action in workflows, provide the required scheme input (and other inputs as needed)

Files:

  • .github/workflows/swift-test.yml
🪛 YAMLlint (1.37.1)
action.yml

[error] 110-110: trailing spaces

(trailing-spaces)

.github/workflows/swift-test.yml

[error] 21-21: trailing spaces

(trailing-spaces)


[error] 34-34: trailing spaces

(trailing-spaces)


[error] 51-51: trailing spaces

(trailing-spaces)


[error] 71-71: trailing spaces

(trailing-spaces)


[error] 78-78: trailing spaces

(trailing-spaces)


[error] 151-151: trailing spaces

(trailing-spaces)


[error] 168-168: trailing spaces

(trailing-spaces)


[error] 171-171: trailing spaces

(trailing-spaces)


[error] 193-193: trailing spaces

(trailing-spaces)


[warning] 196-196: too many blank lines (3 > 2)

(empty-lines)


[error] 207-207: trailing spaces

(trailing-spaces)

🔇 Additional comments (3)
.github/workflows/swift-test.yml (2)

159-174: Matrix looks good for broad Swift coverage.

Nice spread (6.2 dev snapshot down to 5.9). No issues spotted here.


153-156: No change required — windows-2025 is a valid GitHub-hosted runner

Verified: GitHub-hosted runners include windows-2025 (GA Apr 8, 2025). Keep runs-on: windows-2025; optionally use runs-on: windows-latest to track updates automatically.

action.yml (1)

137-138: Compatibility with Swift 5.9: avoid --force-resolved-versions or gate by version.

Older toolchains may not support --force-resolved-versions. Either drop it or guard by $SWIFT_VERSION.

-        swift build  --build-tests --cache-path .cache  --force-resolved-versions
-        swift test --enable-code-coverage --cache-path .cache  --force-resolved-versions
+        if swift --version | grep -qE 'Swift version (6|7)\.'; then
+          swift build  --build-tests --cache-path .cache  --force-resolved-versions
+          swift test --enable-code-coverage --cache-path .cache  --force-resolved-versions
+        else
+          swift build  --build-tests --cache-path .cache
+          swift test --enable-code-coverage --cache-path .cache
+        fi

Please confirm 5.9 behavior in your environment.

Fixing detect-os

Fixing AGain

fixing script

fixing windows container

fixing swift for windows [skip ci]

Update swift-test.yml

Update swift-test.yml

Update swift-test.yml

Update swift-test.yml

--accept-source-agreements --accept-package-agreements

Update swift-test.yml

Trying to add Path and refreshenv

Update swift-test.yml

Using Compared Actions (#15)

* Update swift-test.yml

* Fixing OS Version

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml

* Update swift-test.yml
Copy link

claude bot commented Sep 11, 2025

Pull Request Review: Adding Windows Support

I've completed a comprehensive review of the Windows support implementation. Here's my detailed feedback:

Positive Aspects

Code Structure & Design:

  • Clean separation of OS detection logic in action.yml:107-113 with proper Windows handling
  • Consistent use of Ubuntu caching strategy for Windows (action.yml:347) which is appropriate for SPM builds
  • Good use of fail-fast: false to allow independent Swift version testing

Windows Implementation:

  • Proper use of compnerd/gha-setup-swift action for Windows Swift toolchain installation
  • Correct Swift version matrix covering 6.0, 6.1, and development 6.2 branch

🚨 Critical Issues

1. Missing OS Version Environment Variable (action.yml:274-277)

# Current (problematic):
SWIFT_VERSION=$(swift --version | head -n 1 | cut -d ' ' -f 3)
echo "SWIFT_VERSION=$SWIFT_VERSION" >> $GITHUB_ENV
# Missing: OS_VERSION environment variable

Issue: The code removes OS_VERSION detection but the cache key at line 354 still references ${{ env.OS_VERSION }}, causing undefined cache keys on Windows.

Fix Required:

- name: Get Swift and OS versions
  if: steps.detect-os.outputs.os == 'ubuntu' || steps.detect-os.outputs.os == 'windows'
  shell: bash
  working-directory: ${{ inputs.working-directory }}
  run: |
    SWIFT_VERSION=$(swift --version | head -n 1 | cut -d ' ' -f 3)
    echo "SWIFT_VERSION=$SWIFT_VERSION" >> $GITHUB_ENV
    if [[ "$RUNNER_OS" == "Windows" ]]; then
      echo "OS_VERSION=windows" >> $GITHUB_ENV
    else
      OS_VERSION=$(. /etc/os-release && echo $VERSION_CODENAME)
      echo "OS_VERSION=$OS_VERSION" >> $GITHUB_ENV
    fi

2. Inconsistent Runner Configuration

  • Uses runs-on: windows-2025 but windows-2025 is not a standard GitHub runner
  • Should use windows-latest or windows-2022 for reliability

3. Missing Multi-Target Windows Testing

  • Only test-single-target-windows is implemented
  • test-multi-target-windows is commented out, creating incomplete test coverage

⚠️ Potential Issues

Security Considerations:

  • External action compnerd/gha-setup-swift@main uses @main tag instead of pinned version
  • Consider pinning to specific commit hash for supply chain security

Performance Concerns:

  • Windows builds don't leverage the Swift toolchain caching that Ubuntu/macOS benefit from
  • No derived data or build artifact caching specific to Windows Swift builds

Code Quality:

  • Commented-out code blocks (lines 248-252, 258-262, 268, 271, 276-286) should be removed
  • Inconsistent commenting style with mixed single/multi-line comments
  • Hard-coded URLs in comments should be validated or removed

📋 Missing Documentation

action.yml Header Comment (action.yml:7-22):

  • Still lists "Multi-platform support: Ubuntu and macOS" - needs Windows addition
  • Platform support matrix doesn't mention Windows Swift versions
  • Missing Windows-specific usage examples

🧪 Test Coverage Gaps

  1. Missing Windows Multi-Target Testing: No validation that complex package dependencies work on Windows
  2. Limited Swift Version Coverage: Only testing 3 Swift versions vs Ubuntu's 5-version matrix
  3. No Windows-Specific Edge Cases: Missing tests for Windows path handling, case sensitivity, etc.

📝 Recommendations

Priority 1 (Must Fix):

  1. Fix the OS_VERSION environment variable issue
  2. Use standard GitHub runners (windows-latest)
  3. Enable multi-target Windows testing

Priority 2 (Should Fix):

  1. Pin external action versions for security
  2. Clean up commented code
  3. Update documentation and comments

Priority 3 (Nice to Have):

  1. Add Windows-specific caching optimizations
  2. Expand Swift version matrix to match Ubuntu coverage
  3. Add Windows path handling tests

🎯 Overall Assessment

This is a solid foundation for Windows support with good architectural decisions, but has critical bugs that will cause cache failures and incomplete test coverage. The missing OS_VERSION variable is a blocker that needs immediate attention.

Recommendation: Request changes to address the critical issues before merging.

- Add comprehensive Windows support to GitHub Action with new input parameters
- Implement Windows Swift toolchain installation using compnerd/gha-setup-swift
- Add Windows-specific environment setup and caching strategy
- Update workflow to test Windows support with single and multi-target packages
- Enable previously commented Windows multi-target workflow
- Simplify Windows testing by using action instead of manual setup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Copy link

claude bot commented Sep 11, 2025

Pull Request Review: Adding Windows Support

Overall Assessment

This PR successfully adds Windows support to the Swift Build action, extending platform compatibility from Ubuntu/macOS to include Windows. The implementation follows established patterns and maintains consistency with existing code structure.

Strengths

Code Quality & Architecture:

  • Clean separation of Windows-specific logic using conditional steps
  • Consistent naming conventions and documentation style
  • Proper integration with existing caching strategies
  • Well-structured OS detection with explicit error handling

Documentation:

  • Comprehensive inline comments explaining Windows-specific behavior
  • Updated header documentation reflecting new platform support
  • Clear parameter descriptions for Windows Swift toolchain inputs

Testing Strategy:

  • Appropriate test matrix covering Swift 6.1 and 6.2 versions
  • Both single-target and multi-target package validation
  • Conservative approach with commented-out older Swift versions

🔍 Areas for Improvement

1. Missing Ubuntu OS Version Detection (action.yml:318-324)
The Ubuntu step removes OS_VERSION environment variable extraction but the cache key at line 415 still references ${{ env.OS_VERSION }}. This will cause cache misses.

Fix needed:

# In "Get Swift and OS versions" step, add back:
OS_VERSION=$(. /etc/os-release && echo $VERSION_CODENAME)
echo "OS_VERSION=$OS_VERSION" >> $GITHUB_ENV

2. Workflow File Missing Newline
The workflow file ends without a trailing newline, which can cause git warnings.

3. Consider Windows Swift Version Validation
No validation exists for Windows Swift version compatibility. Consider adding a step to verify the requested version is available.

4. Test Coverage Gap
Only testing Swift 6.1+ on Windows. Consider testing older versions (5.9, 6.0) if Windows toolchain supports them.

🛡️ Security Considerations

  • Using compnerd/gha-setup-swift@main is appropriate for official Swift Windows toolchain
  • No security concerns with the Windows-specific implementation
  • Proper input validation through GitHub Actions schema

🚀 Performance Considerations

  • Windows caching strategy mirrors Ubuntu approach - good consistency
  • Cache key isolation by platform prevents cross-contamination
  • Windows Swift toolchain installation will add ~2-5 minutes to cold builds

🧪 Test Coverage

Good:

  • Matrix testing across Swift versions
  • Both package types (single/multi-target) covered
  • Fail-fast disabled for independent testing

Suggestions:

  • Add validation that Windows builds actually work with cached artifacts
  • Consider testing with different working directories

📋 Required Changes

  1. Critical: Fix Ubuntu OS_VERSION detection in action.yml:318-324
  2. Minor: Add trailing newline to swift-test.yml

🎯 Optional Enhancements

  1. Add Windows Swift version validation step
  2. Test broader Swift version range on Windows
  3. Add Windows-specific error handling for common setup issues

Verdict

Approve with required changes. The Windows support implementation is well-architected and follows project conventions. The missing Ubuntu OS_VERSION fix is critical for proper caching behavior.

Critical fixes:
- Add missing OS_VERSION detection to Ubuntu step (fixes cache key bug)
- Clean up commented code blocks in Windows workflow
- Update documentation to reflect Windows 2022/2025 support

Enhanced testing:
- Implement cross-product matrix for Windows testing
- Test both Swift 6.1/6.2 on both Windows 2022/2025 runners
- Expand coverage from 2 to 8 Windows test combinations (4 single + 4 multi target)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Copy link

claude bot commented Sep 11, 2025

PR Review: Adding Windows Support

I've thoroughly reviewed the Windows support implementation. Overall, this is a well-structured addition that follows existing patterns. Here's my detailed feedback:

Positive Aspects

  1. Consistent Architecture: The implementation follows the existing multi-platform detection pattern (macOS/Ubuntu/Windows), maintaining architectural consistency.

  2. Comprehensive Documentation: Excellent inline documentation explaining Windows-specific toolchain installation and caching strategies.

  3. Proper Error Handling: The OS detection includes proper error handling for unsupported operating systems.

  4. Caching Strategy: Windows-specific caching follows the established pattern with appropriate cache keys.

⚠️ Issues & Concerns

Critical Issues

  1. Matrix Configuration Bug (.github/workflows/swift-test.yml:240-243):

    include:
      - swift-version: swift-6.2-branch
        swift-build: 6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a
      - swift-version: swift-6.1-release
        swift-build: 6.1-RELEASE

    Problem: The include section doesn't map to the runs-on matrix values. This will result in all jobs getting the same Swift versions regardless of Windows version.

    Fix: Either use a proper matrix or make Swift versions consistent:

    matrix:
      runs-on: [windows-2022, windows-2025]
      swift-version: [swift-6.1-release, swift-6.2-branch]
      include:
        - swift-version: swift-6.1-release
          swift-build: 6.1-RELEASE
        - swift-version: swift-6.2-branch  
          swift-build: 6.2-DEVELOPMENT-SNAPSHOT-2025-09-06-a
  2. Missing Validation (action.yml:262):

    if: steps.detect-os.outputs.os == 'windows' && inputs.windows-swift-version

    Problem: Only checks for windows-swift-version but not windows-swift-build. If only one is provided, the toolchain installation will fail silently.

    Fix: Validate both parameters or make windows-swift-build optional with a default.

Security Considerations

  1. Third-party Action Dependency (action.yml:263):

    uses: compnerd/gha-setup-swift@main

    Issue: Using @main instead of a pinned version creates supply chain security risks.

    Recommendation: Pin to a specific commit hash or tagged version:

    uses: compnerd/[email protected]  # or @sha256:abc123...

Minor Issues

  1. Inconsistent Scheme Naming (.github/workflows/swift-test.yml:270):

    scheme: MultiTargetPackage-Package

    vs line 249:

    scheme: SingleTargetPackage  

    Question: Is MultiTargetPackage-Package the correct scheme name? This inconsistency suggests a potential copy-paste error.

  2. Missing Newline (.github/workflows/swift-test.yml:272):
    The file ends without a newline, which violates standard conventions.

🔧 Suggested Improvements

  1. Add Input Validation: Consider adding a validation step to ensure Windows parameters are provided together.

  2. Error Messages: Enhance error messages in the OS detection step to be more helpful.

  3. Documentation: Add a brief section to README.md showing Windows usage examples.

  4. Testing: The Windows jobs are currently the only active tests. Consider re-enabling other platforms once Windows support is validated.

📊 Test Coverage Assessment

The PR adds comprehensive Windows testing covering both single and multi-target packages, which is excellent. The matrix strategy properly tests across Windows versions, though the configuration needs the fixes mentioned above.

Performance Considerations

The Windows caching strategy looks well-designed and should provide similar performance benefits to other platforms (65-80% build time reduction as documented).


Recommendation: Address the critical matrix configuration issue and security concerns before merging. The overall implementation is solid and ready for production with these fixes.

@leogdion leogdion merged commit 3f40ef8 into v1.3.0 Sep 11, 2025
59 checks passed
@leogdion leogdion deleted the 12-windows branch September 11, 2025 18:29
@coderabbitai coderabbitai bot mentioned this pull request Sep 11, 2025
leogdion added a commit that referenced this pull request Sep 11, 2025
* Adding Windows Support (#13)
* Improve robustness and platform handling (#31)
- Update all README examples to use @v1.3.0 (#24)
- Skip platform download for macOS builds to avoid no-op (#23)
- Make XCODE_NAME robust with fallback logic and handle missing input (#22)
- Fix bracket notation for hyphenated matrix keys in workflows (#18)
- Align documentation (type input already included macos) (#21)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
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.

Add Windows Support
1 participant