whisper.cpp v1.8.3 dropped the libwhisper.a Makefile target entirely in favour of CMake, breaking the Linux release workflow.
Changes
release.yml: Replace make -C ... libwhisper.a with a CMake configure + targeted build, building only the whisper target (pulls in ggml deps automatically) and disabling unneeded tests/examples/server:
If you need me to access, download, or install something from one of these locations, you can either:
Configure Actions setup steps to set up my environment, which run before the firewall is enabled
Add the appropriate URLs or hosts to the custom allowlist in this repository's Copilot coding agent settings (admins only)
Original prompt
This section details on the original issue you should resolve
<issue_title>Fix bug in linux github action workflow release</issue_title>
<issue_description>Error:
1s
Run git clone --depth 1 --branch v1.8.3 https://github.com/ggerganov/whisper.cpp internal/whisper/whisper.cpp
Cloning into 'internal/whisper/whisper.cpp'...
Note: switching to '2eeeba56e9edd762b4b38467bab96c2517163158'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
make: *** No rule to make target 'libwhisper.a'. Stop.
make: Entering directory '/home/runner/work/zop/zop/internal/whisper/whisper.cpp'
make: Leaving directory '/home/runner/work/zop/zop/internal/whisper/whisper.cpp'
Error: Process completed with exit code 2.
```</issue_description>
## Comments on the Issue (you are @copilot in this section)
<comments>
</comments>
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.
whisper.cpp v1.8.3 dropped the `libwhisper.a` Makefile target entirely in favour of CMake, breaking the Linux release workflow.
## Changes
- **`release.yml`**: Replace `make -C ... libwhisper.a` with a CMake configure + targeted build, building only the `whisper` target (pulls in ggml deps automatically) and disabling unneeded tests/examples/server:
```yaml
cmake -S internal/whisper/whisper.cpp \
-B internal/whisper/whisper.cpp/build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DWHISPER_BUILD_TESTS=OFF \
-DWHISPER_BUILD_EXAMPLES=OFF \
-DWHISPER_BUILD_SERVER=OFF
cmake --build internal/whisper/whisper.cpp/build --target whisper
```
- **`internal/whisper/whisper_cgo.go`**: Update CGo flags to match v1.8.3's directory layout:
- Include path: `whisper.cpp/include/` (header moved from repo root)
- Library paths: `build/src/` (whisper) + `build/ggml/src/` (ggml)
- Added ggml split-library deps (`-lggml -lggml-base -lggml-cpu`) and Linux `-fopenmp`, matching the [official Go bindings](https://github.com/ggerganov/whisper.cpp/blob/v1.8.3/bindings/go/whisper.go)
> [!WARNING]
>
> <details>
> <summary>Firewall rules blocked me from connecting to one or more addresses (expand for details)</summary>
>
> #### I tried to connect to the following addresses, but was blocked by firewall rules:
>
> - `https://api.github.com/repos/ggerganov/whisper.cpp/git/trees/v1.8.3`
> - Triggering command: `/home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js` (http block)
>
> If you need me to access, download, or install something from one of these locations, you can either:
>
> - Configure [Actions setup steps](https://gh.io/copilot/actions-setup-steps) to set up my environment, which run before the firewall is enabled
> - Add the appropriate URLs or hosts to the custom allowlist in this repository's [Copilot coding agent settings](https://github.com/peterwwillis/zop/settings/copilot/coding_agent) (admins only)
>
> </details>
<!-- START COPILOT ORIGINAL PROMPT -->
<details>
<summary>Original prompt</summary>
>
> ----
>
> *This section details on the original issue you should resolve*
>
> <issue_title>Fix bug in linux github action workflow release</issue_title>
> <issue_description>Error:
>
> ```
>
> 1s
> Run git clone --depth 1 --branch v1.8.3 https://github.com/ggerganov/whisper.cpp internal/whisper/whisper.cpp
> Cloning into 'internal/whisper/whisper.cpp'...
> Note: switching to '2eeeba56e9edd762b4b38467bab96c2517163158'.
>
> You are in 'detached HEAD' state. You can look around, make experimental
> changes and commit them, and you can discard any commits you make in this
> state without impacting any branches by switching back to a branch.
>
> If you want to create a new branch to retain commits you create, you may
> do so (now or later) by using -c with the switch command. Example:
>
> git switch -c <new-branch-name>
>
> Or undo this operation with:
>
> git switch -
>
> Turn off this advice by setting config variable advice.detachedHead to false
>
> make: *** No rule to make target 'libwhisper.a'. Stop.
> make: Entering directory '/home/runner/work/zop/zop/internal/whisper/whisper.cpp'
> make: Leaving directory '/home/runner/work/zop/zop/internal/whisper/whisper.cpp'
> Error: Process completed with exit code 2.
> ```</issue_description>
>
> ## Comments on the Issue (you are @copilot in this section)
>
> <comments>
> </comments>
>
</details>
<!-- START COPILOT CODING AGENT SUFFIX -->
- Fixes peterwwillis/zop#12
<!-- START COPILOT CODING AGENT TIPS -->
---
📍 Connect Copilot coding agent with [Jira](https://gh.io/cca-jira-docs), [Azure Boards](https://gh.io/cca-azure-boards-docs) or [Linear](https://gh.io/cca-linear-docs) to delegate work to Copilot in one click without leaving your project management tool.
copilot-pull-request-reviewer[bot]
(Migrated from github.com)
left a comment
Copy link
Pull request overview
Updates the Linux release pipeline and Whisper CGO integration to accommodate whisper.cpp v1.8.3’s switch from Makefile targets to a CMake-based build, keeping the whisper-enabled release artifacts building successfully.
Changes:
Replace the release workflow’s make ... libwhisper.a step with a CMake configure + build of the whisper target.
Update internal/whisper/whisper_cgo.go include/library paths and linked ggml split libraries to match v1.8.3’s build output layout.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
File
Description
.github/workflows/release.yml
Builds whisper.cpp via CMake (Release, static libs, tests/examples/server disabled) for the whisper-enabled Linux release job.
internal/whisper/whisper_cgo.go
Adjusts CGO include/lib paths and linked ggml libs to match the new whisper.cpp v1.8.3 CMake build layout.
## Pull request overview
Updates the Linux release pipeline and Whisper CGO integration to accommodate whisper.cpp v1.8.3’s switch from Makefile targets to a CMake-based build, keeping the whisper-enabled release artifacts building successfully.
**Changes:**
- Replace the release workflow’s `make ... libwhisper.a` step with a CMake configure + build of the `whisper` target.
- Update `internal/whisper/whisper_cgo.go` include/library paths and linked ggml split libraries to match v1.8.3’s build output layout.
### Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
| ---- | ----------- |
| `.github/workflows/release.yml` | Builds whisper.cpp via CMake (Release, static libs, tests/examples/server disabled) for the whisper-enabled Linux release job. |
| `internal/whisper/whisper_cgo.go` | Adjusts CGO include/lib paths and linked ggml libs to match the new whisper.cpp v1.8.3 CMake build layout. |
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?