# 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 git checkout ``` Sync the onnxruntime Objective-C source files. ``` # Replace objectivec directory. rm -r /objectivec cp -r /objectivec /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 ```swift // 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`.