Commit Graph

36 Commits

  • meta: update readme and agents.md (#412)
    ## What does this PR do?
    
    Updates readme & agents guidance
    
    ## How was it tested?
    
    i read it back with mine own eyes
    
    ## 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. -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    <!-- coderabbit-ai-generated:v1 -->
    
    ## Summary by CodeRabbit
    
    * **Documentation**
    * Clarified how to consume xtool as a Swift Package and that CLI
    stability guarantees do not apply to Swift interfaces.
    * Updated Swift development conventions with dependency-injection
    examples, concurrency guidance, and commit-message formatting.
    * **Chores**
    * Updated the pull request template to ask how much code was AI-assisted
    and note that the completed work was reviewed.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • build: update to Xcode 27.1, Swift 6.4.1 (#382)
    ## What does this PR do?
    
    Updates the Xcode and Swift versions used to build xtool on macOS/Linux
    respectively
    
    ## How was it tested?
    
    CI
    
    ## 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. -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    <!-- coderabbit-ai-generated:v1 -->
    
    ## Summary by CodeRabbit
    
    - **Updates**
    - Updated the Xcode version used by the build action to 27.1.0 and the
    Swift version used in build environments to 6.4.1.
    - **Documentation**
    - Updated the Linux installation guide to reference Xcode 27.1 and the
    matching `Xcode_27.1.xip` download filename. These updates align the
    documented installation steps with the current tool versions.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • build: fix xcodegen install (#338)
    ## What does this PR do?
    
    Fix CI maybe
    
    ## How was it tested?
    
    Praying for the best
    
    ## 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. -->
  • 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 -->
  • tests: add integration tests (#252)
    ## What does this PR do?
    
    Adds integration tests
    
    ## How was it tested?
    
    CI
    
    ## 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. -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    ## Summary by CodeRabbit
    
    * **Tests**
    * Added integration smoke tests covering version checks, app creation,
    iOS build metadata, and slim SDK update behavior.
    * Added validation for locating Xcode and verifying the Swift toolchain.
    
    * **Chores**
    * Added automated integration-test execution for pushes and pull
    requests.
    * Added Docker and Compose support for running integration tests in a
    consistent environment.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • docs: update contributor guide (#250)
    ## What does this PR do?
    
    Adds more info for contributors, plus AI policy.
    
    ## How was it tested?
    
    Read the docs on GitHub
    
    ## 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. -->
  • Bump Swift version, dependencies (#166)
    Notably:
    
    - Build xtool with Swift 6.2
    - Resolve https://github.com/advisories/GHSA-xvr7-p2c6-j83w. That
    advisory shouldn't really affect us since we don't use NIO as a server
    but good hygiene anyway.
  • Add iOS CI job (#31)
    * Add iOS CI job
    
    * dummy iOS failure
    
    * Revert "dummy iOS failure"
    
    This reverts commit 7c3ee19323.
    
    * Use xcbeautify
    
    * Pipefail
    
    * Revert "Revert "dummy iOS failure""
    
    This reverts commit 6b3608d396.
    
    * Revert "Revert "Revert "dummy iOS failure"""
    
    This reverts commit c08ff31b09.
  • Fix SPI Linux build, hopefully (#21)
    * Use CMD instead of ENTRYPOINT
    
    * Point SPI to xtool-dev image
  • Add macOS .app to releases (#13)
    * Set up fastlane
    
    * Add release-macos workflow
    
    * for now
    
    * bundle install
    
    * Ruby versioning
    
    * Fix Ruby 3.4
    
    * Maybe fix CI
    
    * Maybe unlock?
    
    * Update Release workflow
    
    * on push
    
    * tweaks
    
    * don’t use frozen
    
    * Trying something a lil different
  • fml
  • Move artifact upload to release-linux
    build.yml doesn’t package, silly