Files
onnxruntime-swift-package-m…/release_instructions.md
T
2024-11-26 17:07:05 -08:00

2.2 KiB

Release Instructions

These are the steps to create a new onnxruntime-swift-package-manager release. Typically, an onnxruntime-swift-package-manager release will follow soon after an onnxruntime release.

1. Sync onnxruntime Objective-C source files

Check out the corresponding onnxruntime release version, i.e., a release tag.

cd <onnxruntime repo>
git checkout <release tag, e.g., v1.20.0>

Sync the onnxruntime Objective-C source files.

# Replace objectivec directory.
rm -r <onnxruntime-swift-package-manager repo>/objectivec
cp -r <onnxruntime repo>/objectivec <onnxruntime-swift-package-manager repo>/objectivec

2. Update dependency versions in Package.swift

Find the onnxruntime and onnxruntime-extensions binary target configuration in the Package.swift file. For example:

https://github.com/microsoft/onnxruntime-swift-package-manager/blob/bbc428e168a0374eb7d0503cdb7c73fdc1d99751/Package.swift#L98-L104

https://github.com/microsoft/onnxruntime-swift-package-manager/blob/bbc428e168a0374eb7d0503cdb7c73fdc1d99751/Package.swift#L110-L116

    // ORT release
    package.targets.append(
       Target.binaryTarget(name: "onnxruntime",
                           url: "https://download.onnxruntime.ai/pod-archive-onnxruntime-c-1.19.2.zip",
                           //                                                              ^^^^^^ Update version
                           // SHA256 checksum
                           checksum: "28787ee2f966a2c47eb293322c733c5dc4b5e3327cec321c1fe31a7c698edf68")
                           //         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Update checksum
    )

Update the version in the URL and checksum for both onnxruntime and onnxruntime-extensions targets.

To compute the checksum, download the file from the updated URL and compute its SHA256 checksum (e.g., with sha256sum on Linux or MacOS).

3. Check in updates and create a release

Check in the changes made in the previous steps to main.

Note: This repo is updated relatively infrequently, so we currently do not have a release process that uses a separate release branch.

Create the release tag from the main. The tag should match the tag of the corresponding onnxruntime version, e.g., v1.20.0.