Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: apple/swift-container-plugin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.4.1
Choose a base ref
...
head repository: apple/swift-container-plugin
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.5.0
Choose a head ref
  • 4 commits
  • 13 files changed
  • 1 contributor

Commits on Mar 25, 2025

  1. tar: Remove dependency on Foundation (#76)

    Motivation
    ----------
    
    Libraries should have as few dependencies as possible. `Tar` only
    depends on Foundation because of a convenience wrapper function which
    can easily be handled in the caller.
    
    Modifications
    -------------
    
    * Remove the `public func tar(_ data: Data, filename: String) throws ->
    [UInt8]` wrapper
    
    Result
    ------
    
    No functional change to `containertool`. `Tar` no longer depends on
    Foundation.
    
    Test Plan
    ---------
    
    Existing tests continue to pass.
    euanh authored Mar 25, 2025
    Configuration menu
    Copy the full SHA
    9016863 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2025

  1. ci: Runner now uses Swift 6.1; update the Static SDK to match (#79)

    Motivation
    ----------
    
    End to end and integration tests are failing because the underlying
    Swift CI runner has been updated to use Swift 6.1 but these tests
    install the 6.0.2 release of the Static Linux SDK.
    
    Modifications
    -------------
    
    Update end to end and integration workflows to install the the 6.1
    release of the Static Linux SDK.
    
    Result
    ------
    
    All tests will pass again.
    
    Test Plan
    ---------
    
    All existing tests pass again.
    euanh authored Apr 9, 2025
    Configuration menu
    Copy the full SHA
    7caaff7 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2025

  1. tests: Improve diagnostics and robustness of test shell scripts (#81)

    Motivation
    ----------
    
    Tests scripts are used by GitHub Actions and when running tests locally.
    They should have consistent structures, clean up after themselves and
    print useful messages so that failures can be diagnosed.
    
    Modifications
    -------------
    
    * Update all test scripts to use the same structure and cleanup options
    as `run-integration-tests.sh`
    * Add better diagnostic messages
    
    Result
    ------
    
    Test failures will be easier to diagnose
    
    Test Plan
    ---------
    
    Existing tests continue to pass.
    euanh authored Apr 10, 2025
    Configuration menu
    Copy the full SHA
    4c6f38d View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2025

  1. plugin: Add resource bundles defined in Package.swift to container im…

    …ages (#78)
    
    Motivation
    ----------
    
    A target in `Package.swift` can include
    [resources](https://developer.apple.com/documentation/packagedescription/target/resources).
    When the target is built, the resources are copied into a bundle
    directory and a
    [`Bundle`](https://developer.apple.com/documentation/foundation/bundle)
    class is generated, giving the executable a convenient way to retrieve
    them at run time.
    
    A target with resources should be able to access them when it is
    packaged in a container image. For example, a web server might bundle
    resources such as images or fonts.
    
    Fixes #48 
    
    Modifications
    -------------
    
    * Add a new `--resource` parameter to `containertool`. This specifies a
    resource bundle directory which is added to the container image using
    the directory archiving support added to the `Tar` module in #74. When
    `containertool` is used alone, multiple `--resource` flags can be
    specified and will be added to the image in the order in which they
    appear on the command line. A target in `Package.swift` can only define
    one resource bundle, so when used through the plugin only one bundle
    will be added.
    * Update the plugin to pass the `--resource` flag to `containertool`
    when an executable target has resources.
    
    Result
    ------
    
    If a target includes resources, the resource bundle will be copied into
    the container image at a path where the generated `Bundle` class can
    find it.
    If a target does not include resources, the container image will only
    include the executable.
    
    Test Plan
    ---------
    
    * Existing tests continue to pass.
    * New integration tests verify that all expected resources are present.
    euanh authored Apr 11, 2025
    Configuration menu
    Copy the full SHA
    1d1fac5 View commit details
    Browse the repository at this point in the history
Loading