* fix: respect cache backend type for registry cache import/export
* docs: update local development build instructions
- Update local image building to use the provided project task.
- Document the workflow for building with a local registry.
- Add examples for configuring buildctl with caching and debugging flags.
Generated-by: aiautocommit
* refactor(buildkit): clean up code comments and formatting
- Remove redundant comments and improve internal documentation.
- Fix minor formatting inconsistencies in code blocks and comment descriptions.
Generated-by: aiautocommit
* feat: add ParseBool utility to handle common boolean string variants
Generated-by: aiautocommit
* feat: integrate local registry and buildkit configuration
- Add buildkitd configuration to enable HTTP/insecure access to the local registry.
- Introduce a local registry service container on port 7890.
- Update the buildkit setup to mount the new registry configuration.
- Add tasks for building the frontend image and running project builds using the local registry and buildctl.
Generated-by: aiautocommit
* docs: update CLAUDE.md with architecture and style guidance
Generated-by: aiautocommit
* feat: add support for multiple cache-from and cache-to build flags
- Allow users to configure external cache sources and destinations via the `build` subcommand.
- Update cache parsing logic to support multiple entries matching the Docker buildx CLI format.
- Remove hardcoded default cache type to provide better control over BuildKit cache configurations.
Generated-by: aiautocommit
* test: add integration tests for cache-import parsing
Generated-by: aiautocommit
* refactor(buildkit): extract cache entry parsing logic
- Centralize cache configuration logic by moving loop-based parsing into a reusable `cacheEntriesFromFlags` helper.
- Improve code maintainability and readability by reducing duplication in `BuildWithBuildkitClient`.
- Add comprehensive unit tests for cache entry processing, including edge cases for flag parsing and empty inputs.
Generated-by: aiautocommit
* fix(test): remove unused buildkit cache flags from integration tests
* Remove unused flag variables that were meant for remote BuildKit caching.
* Ensure integration tests avoid remote cache (e.g., type=gha) to prevent exceeding GitHub Actions cache limits and excessive eviction.
Generated-by: aiautocommit
* test(buildkit): consolidate cache import tests
- Move TestParseCacheImports from its own file to frontend_test.go to consolidate related buildkit frontend tests.
Generated-by: aiautocommit
* style: fix indentation in build test helper
Generated-by: aiautocommit
* docs: document support for BuildKit cache backends
Generated-by: aiautocommit
* docs(developing-locally): add information on Docker, BuildKit, and caching
- Add missing setup prerequisites.
- Include debugging and configuration guidance for BuildKit/Docker.
- Clarify cache export and import implementation expectations in Railpack.
Generated-by: aiautocommit
* docs: clarify cache flag parsing and pnpm version logic
Generated-by: aiautocommit
---------
Co-authored-by: Matt Van Horn <[email protected]>
Co-authored-by: Michael Bianco <[email protected]>
Co-authored-by: Hanzo Dev <[email protected]>
* fix: update mise to 2026.7.2
* test: update snapshots
* chore: update go, mise, and bun packages
* test: update mise lock with latest version
* fix: use musl install for mise on builder image
Generated-by: aiautocommit
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Michael Bianco <[email protected]>
* test: update snapshots
* feat: include tzdata by default in build and runtime images
- Install tzdata in both build and runtime Docker images to ensure timezone support is available.
- Update the Golang provider to ensure tzdata is added as a default apt package for Go applications.
Generated-by: aiautocommit
* build: update go version
* build: lockfile upgrades
* refactor: use switch statements for conditionals
* style: fix blank identifier assignments as receivers
* fix: ignore deferred io and removal errors
* refactor: general code improvements and staticcheck fixes
* test: bump golangci-lint-action version
* build: add go package upgrade task
* build: go package bump
* build: add go mod check to mise check task
* build: upgrade go packages automatically when upgrading mise
* build: update go version in local frontend image
* build: remove Dockerfiles/ folder to keep image management consistent
* docs: document purpose of various docker images
* docs: internal documentation on the how the build system works
* build: merge all of the image building workflows into a single release workflow
* build: use the mise installer for installing the mise binary
* docs: document purposes of the various images
* refactor: move builder to where it's used
* feat: pin mise build and runtime image versions to specific mise versions
* refactor: use mise task for starting buildkit runner
* test: build new builder and runtime mise images if needed for integration tests
* build: add mise.lock file
* refactor: rename integration tests
* test: add MISE_ENV=ci to all workflows
* fix: mise upgrade
* build: move the docs build and install process into mise
* test: use mise CI vars for tagged release process
* fix: cpp-meson installation process
something changed with mise pipx backend that requires us to manually install python and pipx
* fix: revert mise version
to separate out the build improvements from mise upgrades
* test: snapshot update
* docs: update ex to use mise reference example
* build: move ci bun logic into mise
* docs: explain how docker images are used in public docs
* build: don't push stable tags on prod so we can test a dry run release
* test: bump checkout actions
* docs: minor LLM rule tweak
* fix: remove yml frontend image reference
* docs: why mise.ci.toml is used
* sync mise version between Go code and Dockerfile
Use go:embed to read mise version from version.txt, pass as build-arg to Dockerfile
* set HOME env for mise subprocess (kerl requires it)
* set MIX_HOME and MIX_ARCHIVES for elixir builds
fixes mix/hex not finding archives when running through mise shims