Skip to content

ci : add release job and include xcframework #2889

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 18, 2025

Conversation

danbev
Copy link
Collaborator

@danbev danbev commented Mar 17, 2025

This commit adds a release job that uploads the xcframework as an artifact and creates a release with the xcframework as an asset.

This job can be triggered manually and enables a pre-release tag name to be specified to that these releases can be distinguished from the regular releases more easily.

Resolves: #2886

@danbev
Copy link
Collaborator Author

danbev commented Mar 17, 2025

@ggerganov Is it alright if I trigger this workflow manually and create a few pre-releases. I'll delete them when things are working as expected.

@ggerganov
Copy link
Member

Yes, that's OK.

This commit adds a release job that uploads the xcframework as an
artifact and creates a release with the xcframework as an asset.

This job can be triggered manually and enables a pre-release tag name to
be specified to that these releases can be distinguished from the
regular releases more easily.

Resolves: ggml-org#2886
@danbev danbev force-pushed the ci-add-release-job branch from fc6cbaa to 63b4cb9 Compare March 17, 2025 11:46
Add check for pull_request event in the CI workflow jobs.
@danbev
Copy link
Collaborator Author

danbev commented Mar 17, 2025

I'm not sure how I can test the manual workflow on this repository before it is actually commited. So I used my fork to run the manual workflow which created this pre-release. I've was able to test the xcframework using the following Package.swift file:

// swift-tools-version: 5.10
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "Whisper",
    targets: [
        .executableTarget(
            name: "Whisper",
            dependencies: [
                "WhisperFramework"
            ]),
        .binaryTarget(
            name: "WhisperFramework",
            url: "https://github.com/danbev/whisper.cpp/releases/download/danbev-testing-pre-release2/whisper-danbev-testing-pre-release2-xcframework.zip",
            checksum: "e3f34fb305d0b20b2d6203e79997719625e52f7e5eb1d20156adce6e8741ccd1"
        )
    ]
)

If the CI run succeeds then perhaps we can merge this and then I can run the workflow on this repo and verify that is works here as well 🤞

@danbev danbev marked this pull request as ready for review March 17, 2025 12:24
@danbev danbev merged commit c8e12f5 into ggml-org:master Mar 18, 2025
47 checks passed
@danbev
Copy link
Collaborator Author

danbev commented Mar 18, 2025

I ran the manual workflow which created a pre-release:

pre-release

And I was able to run this using:

// swift-tools-version: 5.10
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "Whisper",
    targets: [
        .executableTarget(
            name: "Whisper",
            dependencies: [
                "WhisperFramework"
            ]),
        .binaryTarget(
            name: "WhisperFramework",
            url: "https://github.com/ggerganov/whisper.cpp/releases/download/danbev-testing-pre-release/whisper-danbev-testing-pre-release-xcframework.zip",
            checksum: "4e2379614a20c1a0694b7519d80cb41563120cce3af4fd1edf4b6c87af268d2e"
        )
    ]
)

I'm documenting this here as I'm going to delete this pre-release now.

Currently only the ios-xcode-build jobs artifact are included but this could be extended by adding more needed jobs.

buxuku pushed a commit to buxuku/whisper.cpp that referenced this pull request Mar 26, 2025
* ci : add release job and include xcframework

This commit adds a release job that uploads the xcframework as an
artifact and creates a release with the xcframework as an asset.

This job can be triggered manually and enables a pre-release tag name to
be specified to that these releases can be distinguished from the
regular releases more easily.

Resolves: ggml-org#2886
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add xcframework to github releases
2 participants