1
1
Fork
You've already forked zop
0

Fix release pipeline: whisper CGo headers, Android manifest, Windows build removal, whisper CI coverage #16

Merged
Copilot merged 4 commits from copilot/fix-linux-amd64-and-android-builds into main 2026年03月17日 03:45:21 +01:00
Copilot commented 2026年03月17日 02:48:53 +01:00 (Migrated from github.com)
Copy link

Release CI had two hard failures—Linux/amd64 whisper build missing C headers, Android APK packaging rejecting the manifest—and tests ran without whisper enabled, masking build regressions until release time.

Changes

  • internal/whisper/whisper_cgo.go — add ggml/include to #cgo CFLAGS so whisper.h can resolve transitive ggml.h includes; add #include <stdlib.h> for C.free

    // #cgo CFLAGS: -I${SRCDIR}/whisper.cpp/include -I${SRCDIR}/whisper.cpp/ggml/include// #include <stdlib.h>// #include "whisper.h"
  • cmd/zop-mobile/AndroidManifest.xml — add required android.app.lib_name=gojni <meta-data>; remove manual android:icon (rejected by fyne-cross)

  • .github/workflows/release.yml

    • test job now clones/builds whisper.cpp v1.8.3 and runs go vet/go test with -tags whisper and CGO_ENABLED=1 before the build matrix runs
    • Windows matrix entries commented out
  • .github/workflows/test.yml

    • New test-whisper job: clones/builds whisper.cpp, then runs go vet -tags whisper, go build -tags whisper, and go test -race -tags whisper — whisper failures now block PRs
    • screenshot job needs updated to include test-whisper
    • Windows matrix entry commented out
Original prompt

This section details on the original issue you should resolve

<issue_title>Linux amd64 and Android builds failed</issue_title>
<issue_description>Failed Linux AMD64 build: https://github.com/peterwwillis/zop/actions/runs/23174263174/job/67332928004

Failed Android build: https://github.com/peterwwillis/zop/actions/runs/23174263174/job/67332927977

Examine the build logs for failures, fix failures. Run the builds again to test them, fix any further issues. Loop until you have a successful build (but don't take any shortcuts).</issue_description>

Comments on the Issue (you are @copilot in this section)


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Release CI had two hard failures—Linux/amd64 whisper build missing C headers, Android APK packaging rejecting the manifest—and tests ran without whisper enabled, masking build regressions until release time. ## Changes - **`internal/whisper/whisper_cgo.go`** — add `ggml/include` to `#cgo CFLAGS` so `whisper.h` can resolve transitive `ggml.h` includes; add `#include <stdlib.h>` for `C.free` ```go // #cgo CFLAGS: -I${SRCDIR}/whisper.cpp/include -I${SRCDIR}/whisper.cpp/ggml/include // #include <stdlib.h> // #include "whisper.h" ``` - **`cmd/zop-mobile/AndroidManifest.xml`** — add required `android.app.lib_name=gojni` `<meta-data>`; remove manual `android:icon` (rejected by `fyne-cross`) - **`.github/workflows/release.yml`** - `test` job now clones/builds `whisper.cpp` v1.8.3 and runs `go vet`/`go test` with `-tags whisper` and `CGO_ENABLED=1` before the build matrix runs - Windows matrix entries commented out - **`.github/workflows/test.yml`** - New `test-whisper` job: clones/builds `whisper.cpp`, then runs `go vet -tags whisper`, `go build -tags whisper`, and `go test -race -tags whisper` — whisper failures now block PRs - `screenshot` job `needs` updated to include `test-whisper` - Windows matrix entry commented out <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>Linux amd64 and Android builds failed</issue_title> > <issue_description>Failed Linux AMD64 build: https://github.com/peterwwillis/zop/actions/runs/23174263174/job/67332928004 > > Failed Android build: https://github.com/peterwwillis/zop/actions/runs/23174263174/job/67332927977 > > Examine the build logs for failures, fix failures. Run the builds again to test them, fix any further issues. Loop until you have a successful build (but don't take any shortcuts).</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> <!-- START COPILOT CODING AGENT SUFFIX --> - Fixes peterwwillis/zop#15 <!-- START COPILOT CODING AGENT TIPS --> --- 🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. [Learn more about Advanced Security.](https://gh.io/cca-advanced-security)
peterwwillis (Migrated from github.com) reviewed 2026年03月17日 02:48:53 +01:00
copilot-pull-request-reviewer[bot] (Migrated from github.com) reviewed 2026年03月17日 03:15:24 +01:00
copilot-pull-request-reviewer[bot] (Migrated from github.com) left a comment
Copy link

Pull request overview

Fixes release workflow build blockers for whisper-enabled Linux builds and Android APK packaging by aligning CGO header includes with whisper.cpp’s ggml layout and adjusting the Android manifest to match GoNativeActivity/fyne-cross expectations.

Changes:

  • Extend CGO include paths to include whisper.cpp’s ggml headers and include <stdlib.h> for C.free.
  • Update Android manifest to add android.app.lib_name=gojni metadata and remove the manual android:icon attribute.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
internal/whisper/whisper_cgo.go Adds ggml include path and <stdlib.h> include to resolve Linux/amd64 whisper CGO build failures.
cmd/zop-mobile/AndroidManifest.xml Adds required android.app.lib_name metadata and removes android:icon to satisfy fyne-cross packaging.
## Pull request overview Fixes release workflow build blockers for whisper-enabled Linux builds and Android APK packaging by aligning CGO header includes with whisper.cpp’s ggml layout and adjusting the Android manifest to match GoNativeActivity/fyne-cross expectations. **Changes:** - Extend CGO include paths to include whisper.cpp’s ggml headers and include `<stdlib.h>` for `C.free`. - Update Android manifest to add `android.app.lib_name=gojni` metadata and remove the manual `android:icon` attribute. ### Reviewed changes Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments. | File | Description | | ---- | ----------- | | internal/whisper/whisper_cgo.go | Adds ggml include path and `<stdlib.h>` include to resolve Linux/amd64 whisper CGO build failures. | | cmd/zop-mobile/AndroidManifest.xml | Adds required `android.app.lib_name` metadata and removes `android:icon` to satisfy fyne-cross packaging. |
github-actions[bot] commented 2026年03月17日 03:15:30 +01:00 (Migrated from github.com)
Copy link

Mobile UI Screenshot

zop mobile UI

### Mobile UI Screenshot ![zop mobile UI](https://raw.githubusercontent.com/peterwwillis/zop/ui-screenshots/pr-16/zop-mobile-ui.png) <!-- Sticky Pull Request Commentzop-mobile-ui -->
peterwwillis commented 2026年03月17日 03:23:14 +01:00 (Migrated from github.com)
Copy link

@copilot+claude-sonnet-4.6 The tests should run with whisper built in. Otherwise the release fails on whisper while the tests seem to pass. Also, disable windows builds/tests (comment them out in the workflow files).

@copilot+claude-sonnet-4.6 The tests should run with whisper built in. Otherwise the release fails on whisper while the tests seem to pass. Also, disable windows builds/tests (comment them out in the workflow files).
Copilot commented 2026年03月17日 03:26:53 +01:00 (Migrated from github.com)
Copy link

@copilot+claude-sonnet-4.6 The tests should run with whisper built in. Otherwise the release fails on whisper while the tests seem to pass. Also, disable windows builds/tests (comment them out in the ...

Done in commit 8552883.

  • The release test job now clones and builds whisper.cpp v1.8.3 before running go vet -tags whisper ./... and go test -race -tags whisper ./... with CGO_ENABLED=1, so any whisper build failures will block the build matrix from running.
  • Commented out both Windows matrix entries in release.yml and the windows-latest matrix entry in test.yml.
> @copilot+claude-sonnet-4.6 The tests should run with whisper built in. Otherwise the release fails on whisper while the tests seem to pass. Also, disable windows builds/tests (comment them out in the ... Done in commit `8552883`. - The release `test` job now clones and builds whisper.cpp v1.8.3 before running `go vet -tags whisper ./...` and `go test -race -tags whisper ./...` with `CGO_ENABLED=1`, so any whisper build failures will block the build matrix from running. - Commented out both Windows matrix entries in `release.yml` and the `windows-latest` matrix entry in `test.yml`.
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mutablecc/zop!16
Reference in a new issue
mutablecc/zop
No description provided.
Delete branch "copilot/fix-linux-amd64-and-android-builds"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?