31 Commits
Author SHA1 Message Date
3e53630854 feat: respect cache backend type for registry cache import/export, add cache support to build subcommand (#595)
* 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]>
2026-07-13 11:15:16 -06:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>Michael Bianco
2bfb71b385 chore: mise update 2026.7.2 (#618)
* 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]>
2026-07-09 11:08:08 -06:00
Michael BiancoandGitHub dbed125d33 feat: configure en_US.UTF-8 locale in Debian images (#576)
* feat: configure en_US.UTF-8 locale in docker images

Generated-by: aiautocommit

* docs: add documentation for locale configuration

Generated-by: aiautocommit

* feat(tasks): add local build option to mise-builder-shell task

Generated-by: aiautocommit
2026-06-09 13:14:49 +02:00
Michael BiancoandGitHub b419644e5b feat: include tzdata by default in build and runtime images (#580)
* 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
2026-06-09 12:18:51 +02:00
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>Michael Bianco
b43519e82c chore: mise update 2026.3.12 (#525)
* chore: update mise to 2026.3.12

* test: update snapshots

* build: remove mise keyring after install

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Michael Bianco <[email protected]>
2026-03-23 08:30:10 -06:00
Michael BiancoandGitHub 13ad6257d4 build: upgrade go version (#515)
* 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
2026-03-16 20:26:16 -06:00
Michael BiancoandGitHub d890d56005 feat: use consistent mise version in the builder image (#471)
* 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
2026-03-09 08:09:00 -06:00
Michael BiancoandGitHub d683170d37 test: exact test match when tests share a common prefix (#397)
* test: ensure no duplicate test runs for tests with a common prefix

* docs: misc comments
2025-12-20 08:32:32 -07:00
Jake RunzerandGitHub a36c48b837 sync mise version between Go code and Dockerfile (#394)
* 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
2025-12-19 01:46:11 -05:00
Jake RunzerandGitHub 0ac7577d4d fix builder mise location (#393) 2025-12-18 22:07:28 -05:00
Jake RunzerandGitHub c1e2b0703c install mise from script (#392) 2025-12-18 22:03:42 -05:00
Jake RunzerandGitHub 073ca05b1a do a release build for now (#391) 2025-12-18 21:46:44 -05:00
Jake RunzerandGitHub 4f4b813d39 build mise image faster (#390) 2025-12-18 21:38:41 -05:00
Jake RunzerandGitHub 55c5de9d6c update mise veresions (#389) 2025-12-18 21:34:25 -05:00
Jake RunzerandGitHub cae56f857e Revert "set ld library path" 2025-03-20 01:32:29 -04:00
Jake Runzer 0b24c12ecb add library path to runtime dockerfile too 2025-03-20 00:37:30 -04:00
Jake Runzer 4fe698e85b set ld library path 2025-03-20 00:35:08 -04:00
Jake Runzer 2e871a4ed2 ensure that the /root/.cache directory exists 2025-03-18 12:24:43 -04:00
Jake Runzer 0c8ae6ed68 move debian interactive about apt install 2025-03-06 17:05:28 -05:00
Jake Runzer 80ffe4ee50 install additional packages available at build and runtime 2025-03-06 16:56:30 -05:00
Jake Runzer 2ce2a49919 copy mise bin to /usr/local/bin 2025-02-28 00:57:23 -05:00
Jake Runzer 54ca0ed308 fix path to mise binary 2025-02-28 00:57:13 -05:00
Jake Runzer e6a5c51f27 pull mise from mise image 2025-02-27 21:57:49 -05:00
Jake Runzer 507e631942 publish separate mise image 2025-02-27 21:53:07 -05:00
Jake Runzer fcc33d45e6 checkpoint laravel working 2025-02-21 18:41:15 -05:00
Jake Runzer 88307582be smaller runtime docker image 2025-02-17 11:52:08 -05:00
Jake Runzer e4897d8bf9 decrease size of mise binary by building from source 2025-02-15 17:50:27 -05:00
Jake Runzer e8e0e9e20d use runtime base image 2025-02-13 13:25:26 -07:00
Jake Runzer df852c26a8 publish runtime base image 2025-02-13 13:18:25 -07:00
Jake Runzer b29d48e346 use built base image for mise 2025-02-13 13:11:53 -07:00
Jake Runzer 8e5117c6ac build and publish base image 2025-02-13 10:59:32 -07:00