RespKit

Compatibility

RespKit separates its core response API from optional integrations. Each module declares its own Go requirements and dependencies, and CI checks those modules independently.

Go and module requirements

The minimum Go version for each module is declared in its go.mod file. Optional integrations can require a newer toolchain than the core library.

ModulePurposeCurrent requirements
CorePublic response helpers and internal runtime packages; standard library onlyRoot go.mod
Framework testsRuntime checks against upstream HTTP frameworksFramework test go.mod
Optional pgx adapterPostgreSQL error mapping with pgxpgx adapter go.mod

For a released version, select its tag on GitHub before inspecting the manifest. This keeps the requirements aligned with the code you install.

HTTP framework support

Gin, Echo, and Fiber use their native contexts. Standard net/http handlers, Chi, Gorilla/mux, and Beego use resp.HTTP(w, r). The framework guide shows how to connect each router.

The integration suite sends requests through real upstream routers. It checks status codes, JSON bodies, localization and cache headers, error confidentiality, Location, and empty 204 responses. The framework test manifest lists the versions selected for those checks.

Passing the suite establishes compatibility with the dependency versions used by that run. Applications should also exercise their handlers with the framework version they install.

CI checks

CheckScope
Core platform checksUnit tests and go vet on Linux, macOS, and Windows
Race detectionConcurrent behavior in the core and integration suites
Statement coverageA 100% combined coverage requirement for resp and internal runtime packages
Framework runtime testsResponses sent through upstream framework routers
Optional mapper testsDatabase-specific error mapping in separate modules

The CI workflow defines the current toolchain and platform matrix. To inspect results, open GitHub Actions, select the branch or tag, and open the run for the commit you want to use.

Run the checks locally using the testing guide. Integration suites download upstream dependencies and require network access. These dependencies remain outside the core module.

Interpreting results

Statement coverage measures executed statements in the packages included by the coverage command. It does not establish that every branch, input, or framework version has been exercised. Framework tests and optional mapper tests are reported separately because they live in separate modules.

A cross-build confirms that binaries compile for a target platform. Runtime compatibility requires tests that actually execute on that platform.

On this page