Skip to content

Prepare for gowhisper release#87

Merged
djthorpe merged 12 commits intomainfrom
djt/0118/release
Jan 19, 2026
Merged

Prepare for gowhisper release#87
djthorpe merged 12 commits intomainfrom
djt/0118/release

Conversation

@djthorpe
Copy link
Copy Markdown
Member

@djthorpe djthorpe commented Jan 18, 2026

This pull request introduces significant improvements to the build system, continuous integration workflows, and documentation for the project. The changes focus on enhancing Docker build support for GPU acceleration (CUDA and Vulkan), reorganizing and clarifying the Makefile, updating and splitting GitHub Actions workflows, and providing clearer and more comprehensive documentation for users and developers.

Build and Docker workflow improvements:

  • Added separate Docker build and manifest jobs for Vulkan and CUDA, enabling the creation and publishing of GPU-accelerated images for both platforms. The workflows now use dedicated environment variables (GGML_CUDA, GGML_VULKAN) to control build options, and support multi-architecture builds. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafL32-R43), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafL65-R107), [[3]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafR133-R167))
  • Refactored the Makefile to streamline Docker image tagging, selection of Dockerfiles, and build flags for CUDA and Vulkan. The Makefile now defaults to Vulkan builds unless overridden, and sets appropriate tags and arguments for each build type. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R29-R68), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L93-R121))
  • Cleaned up and reorganized Makefile targets, grouping related commands, improving third-party dependency handling, and enhancing the clean target to remove additional build artifacts. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R78-R99), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L123-R136), [[3]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R171-R173), [[4]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R192))

Continuous integration workflow updates:

  • Renamed and refactored GitHub Actions workflow files for clarity: .github/workflows/release.ymlcli.yml and .github/workflows/docker.yamlon_publish.yaml. This clarifies the distinction between CLI builds and Docker image publishing. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-302cf6f60da3e4f2ef11792a8bcf7b39c384c4c0e4e065b575e0aaf7d5fa5c79L1-R1), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafL1-R1))
  • Simplified artifact renaming and removed redundant quarantine attribute handling in the CLI build workflow. ([.github/workflows/cli.ymlL48-L55](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-302cf6f60da3e4f2ef11792a8bcf7b39c384c4c0e4e065b575e0aaf7d5fa5c79L48-L55))

Documentation enhancements:

  • Expanded the README.md with a detailed feature matrix, clearer model support table, and improved quick start instructions for both server and CLI usage. Added links to GoDoc for key packages and clarified the project structure. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L6-R78), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L98-R115))
  • Updated doc/API.md to clarify the HTTP API structure, base URL, and response formats, and added links to relevant package documentation. ([doc/API.mdL1-R22](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-a2de6365a672739c2f856b7cd7490846abd9f21db00de63702a6e1e062795507L1-R22))

Other improvements:

  • Increased the default HTTP client/server timeout from 2 minutes to 10 minutes to better handle long-running transcription jobs. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-424e2fa6b48ada63dd9e226f9c772f6246ee1d720cf194eb2783ba665839a3fcL38-R38), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-e529fe8ca8294f7962e1909a83763da27ee0277b5fb103b83588bdb27c489dd6L153-R159))

Build and Docker improvements

  • Added dedicated Docker build and manifest jobs for CUDA and Vulkan, with multi-architecture support and GPU-acceleration flags in the workflow (on_publish.yaml). ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafL32-R43), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafL65-R107), [[3]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafR133-R167))
  • Refactored Makefile to select the correct Dockerfile and tags based on build type (CUDA/Vulkan), and restructured targets for clarity and maintainability. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R29-R68), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L93-R121), [[3]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52R78-R99), [[4]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L123-R136))

CI/CD workflow updates

  • Renamed and clarified GitHub Actions workflow files for CLI and Docker builds, and simplified artifact renaming logic. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-302cf6f60da3e4f2ef11792a8bcf7b39c384c4c0e4e065b575e0aaf7d5fa5c79L1-R1), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-17e3400d876978d12bbad517dcf82312b54fa62723408b1ce011b2755458bdafL1-R1), [[3]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-302cf6f60da3e4f2ef11792a8bcf7b39c384c4c0e4e065b575e0aaf7d5fa5c79L48-L55))

Documentation

  • Improved README.md with a model support table, clearer usage instructions, and links to GoDoc for package navigation. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L6-R78), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L98-R115))
  • Updated doc/API.md for clearer API documentation and added links to package documentation. ([doc/API.mdL1-R22](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-a2de6365a672739c2f856b7cd7490846abd9f21db00de63702a6e1e062795507L1-R22))

Configuration and timeout

  • Increased the default HTTP timeout to 10 minutes and ensured the server uses the configured timeout value. ([[1]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-424e2fa6b48ada63dd9e226f9c772f6246ee1d720cf194eb2783ba665839a3fcL38-R38), [[2]](https://github.com/mutablelogic/go-whisper/pull/87/files#diff-e529fe8ca8294f7962e1909a83763da27ee0277b5fb103b83588bdb27c489dd6L153-R159))This pull request updates our GitHub Actions workflows to improve naming consistency and clarify their purposes. The most important changes are the renaming of workflow files and updates to their display names.

Workflow file renaming and naming improvements:

  • Renamed .github/workflows/release.yml to .github/workflows/cli.yml and updated the workflow name to "Build CLI Commands" for clarity.
  • Renamed .github/workflows/docker.yaml to .github/workflows/on_publish.yaml and updated the workflow name to "Build Docker Containers" for consistency.

@djthorpe djthorpe self-assigned this Jan 18, 2026
Copilot AI review requested due to automatic review settings January 18, 2026 19:36
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the display names of two GitHub Actions workflows to improve clarity and naming consistency. The changes properly capitalize the "Docker" brand name and make the workflow purposes more explicit.

Changes:

  • Updated docker workflow name from "Build docker container on publish" to "Build Docker Containers" with proper capitalization
  • Updated CLI workflow name from "Build and Release" to "Build CLI Commands" for better clarity

Reviewed changes

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

File Description
.github/workflows/docker.yaml Updated workflow display name to properly capitalize "Docker" and pluralize "Containers"
.github/workflows/cli.yml Updated workflow display name to be more descriptive ("Build CLI Commands")
Comments suppressed due to low confidence (1)

.github/workflows/docker.yaml:1

  • The workflow name has been updated to properly capitalize "Docker" (brand name) and pluralize "Containers", which improves consistency. However, the PR description states that this file was renamed from "docker.yaml" to "on_publish.yaml", but the file still appears as "docker.yaml". If the file rename was intended, it should be completed; otherwise, the PR description should be corrected to reflect that only the workflow name (not the filename) was changed.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 11 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (2)

.github/workflows/docker.yaml:167

  • Duplicate docker manifest push command. The manifest is pushed twice - once in the "Annotate" step (line 164) and again in the "Push" step (line 167). The push in the "Annotate" step should be removed as it's redundant.
    .github/workflows/docker.yaml:132
  • Duplicate docker manifest push command. The manifest is pushed twice - once in the "Annotate" step (line 129) and again in the "Push" step (line 132). The push in the "Annotate" step should be removed as it's redundant.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

djthorpe and others added 3 commits January 19, 2026 08:10
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@djthorpe djthorpe merged commit 0e5dfa1 into main Jan 19, 2026
@djthorpe djthorpe deleted the djt/0118/release branch January 19, 2026 07:12
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.

2 participants