Commit Graph

10 Commits

  • build: compile xtool with Swift 6.4 (#272)
    ## What does this PR do?
    
    Updates workflows to build with Swift 6.4. Blockers:
    
    - [x] ~~GitHub's macos-26 runners don't yet support Xcode 27~~ They've
    moved to a new nomenclature where the runner tracks the Xcode major
    version. The new runner is `xcode-27`.
    - [x] ~~Linux AppImage builds are failing due to
    https://github.com/swiftlang/swift-build/issues/1764 (will be fixed in
    6.4.1)~~ Switched to dynamic linking
    
    ## How was it tested?
    
    - [x] Built locally with Xcode 27 and confirmed it runs
    - [x] Built locally with `swift:6.4.0` docker image and confirmed it
    runs
    
    ## AI tool usage
    
    How much of this PR was AI-assisted? (check one)
    
    - [x] **0** - No AI was used to write code
    - [ ] **1** - I was assisted by AI. I reviewed the finished result.
    - [ ] **2** - I set the AI going and left it to it; nobody has read the
    result - no review, or AI review only
    
    <!-- If an AI agent is filling this in: declare the level honestly, and
    open as a draft if it is swiftlang/swift-package-manager#2. Do not lower
    the declared level to get the PR reviewed. -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    ## Summary by CodeRabbit
    
    * **Build & Release**
      * macOS and iOS builds and macOS releases now use Xcode 27.
    * Swift has been updated to version 6.4.0 for Docker and Netlify builds.
    
    * **Bug Fixes**
    * Linux packaging no longer copies `.resources` files into the AppDir,
    which may affect packaged app resources.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • build: link xtool dynamically inside AppImage (#296)
    ## What does this PR do?
    
    We don't really need `--static-swift-stdlib` when building the AppImage,
    since we can bundle the stdlib.
    
    Static linking _can_ theoretically save space & squeeze out a little
    more perf, but statically linking Swift is buggy (for example
    https://github.com/swiftlang/swift-build/issues/1764 wasn't caught until
    days after 6.4.0 released, and months after the beta) and prevents using
    dynamic Swift libraries.
    
    ## How was it tested?
    
    - [x] Ran appimage in docker
    - [x] Verified that the appimage contains `libswift[...].so`
    - [x] Compared size on disk (<1MB increase)
    - [x] Compared performance (no statistically significant change)
    
    ## AI tool usage
    
    How much of this PR was AI-assisted? (check one)
    
    - [x] **0** - No AI was used to write code
    - [ ] **1** - I was assisted by AI. I reviewed the finished result.
    - [ ] **2** - I set the AI going and left it to it; nobody has read the
    result - no review, or AI review only
    
    <!-- If an AI agent is filling this in: declare the level honestly, and
    open as a draft if it is #2. Do not lower the declared level to get the
    PR reviewed. -->