Commit Graph
17 Commits
Author SHA1 Message Date
zeekay 7844a60aff refactor(pack): modernize to github.com/hanzoai/pack and remove upstream branding
- Migrate module path to github.com/hanzoai/pack across all Go packages
- Remove legacy upstream docs and competitor brand references
- Modernize LLM.md and mise.toml for pristine Hanzo Pack builder
2026-09-04 00:40:42 -07:00
Michael BiancoandGitHub 392d3fef96 feat: respect dockerignore on initial source load (#373)
* docs: add claude ref to agents

* refactor: simplify DockerignoreContext passing and make it required

* refactor: another take at fixing the initial docker ignore load stuff

* style: whitespace formatting tweaks

I'm not sure how it got into this state :/

* fix: apply dockerignore rules when copying local app context, not later in the build process

* fix: merge dockerignore excludes with top-level railpack.json excludes/includes

* test: top-level railpack.json exclude/include

* docs: update excluding files docs

* test: add negation to an existing dockerignore to expand test coverage

* fix: hack to determine if I'm understanding the llb exclude functionality right

* refactor: remove Includes and instead use negation operators and Excludes

* test: respect dockerignore on initial source load

- Apply exclude and include filters during the initial buildkit context load to improve local build performance
- Support top-level exclude and include configurations in railpack.json

Generated-by: aiautocommit

* feat: respect dockerignore on initial source load

- Load local source layers using the plan package directly to ensure .dockerignore patterns are respected at the buildkit level.
- Prevent unnecessary loading of ignored files like node_modules and virtual environments during local builds.

Generated-by: aiautocommit

* style: formatting updates

* docs(config): update documentation for dockerignore and exclude pattern handling

Generated-by: aiautocommit

* feat(plan): respect dockerignore on initial source load

Generated-by: aiautocommit

* refactor(core): access include rules directly from layer struct

Generated-by: aiautocommit

* feat(buildkit): respect exclude patterns on initial source load

- Apply exclude patterns at the buildkit level during local context loading to prevent transferring unnecessary large directories like node_modules or virtual environments.

Generated-by: aiautocommit

* feat: respect dockerignore on initial source load

Generated-by: aiautocommit

* feat(core): respect dockerignore on initial source load

- Expose the parsed dockerignore context via the build generate context
- Ensure build results preserve the correct dockerignore metadata and excludes on initial load

Generated-by: aiautocommit

* style(docs): fix trailing whitespace in CLAUDE.md

Generated-by: aiautocommit

* feat(core): respect dockerignore on initial source load

- Apply exclude and include filters during buildkit context setup to avoid loading large ignored directories locally.
- Support top-level exclude and include configuration in railpack.json.

Generated-by: aiautocommit

* test(plan): assert all expected empty dockerignore examples are found

Generated-by: aiautocommit

* docs(config): fix typo in excluding-files guide

Generated-by: aiautocommit

* feat(dockerignore): respect dockerignore on initial source load

- Apply exclude and include filters during Buildkit context establishment to drastically improve local build performance.
- Support top-level `exclude` and `include` rules directly in `railpack.json`.

Generated-by: aiautocommit

* docs(config): clarify directory matching behavior in excluding-files guide

Generated-by: aiautocommit

* refactor(core): remove dead dockerignore context fields

- Remove unused dockerignore context properties from build plans and options
- Clean up obsolete metadata checks in core tests

Generated-by: aiautocommit

* feat: add top-level exclude option to railpack config

Generated-by: aiautocommit
2026-07-31 07:41:35 -06:00
Michael BiancoandGitHub 269d29f774 fix: allow node_modules removal in build phase (#259)
* test: test install in build phase

* fix: detect node_modules removal and avoid caching node_modules/.cache

* test: add new snapshot

* build: adding go debugging tool and helper task

* refactor: node_modules detection is working

* test: test install in build phase

* refactor: pull plan cleansing into a separate file

* refactor: ai cleanup

* refactor: move cleanse to the provider level, stubs for all providers

* refactor: move existing node cleanse logic to a provider-specific implementation

* test: snapshot update

* docs: why we need node cleanse operation

* docs: note on corepack

* docs: on cache handling of node_modules
2025-11-18 10:52:48 -07:00
24f0a773d8 feat: dockerignore support (#263)
* test: dockerignore test project

* docs: claude.md update

* feat: parse dockerignore files

* fixup! feat: parse dockerignore files

* feat: use revised local layer

* feat: parse dockerfiles and pass includes/excludes to the local layer

* test: snapshot

* refactor: ai cleanup

* test: dockerignore parsing tests

* refactor: remove obvious comment

* test: dockerignore failure tests

* Apply suggestion from @coffee-cup

Co-authored-by: Jake Runzer <[email protected]>

* Apply suggestion from @coffee-cup

Co-authored-by: Jake Runzer <[email protected]>

* docs: always use App for fs ops

* refactor: pass App to dockerignore context instead of a path to the repo

* test: pass app to dockerignore

---------

Co-authored-by: Jake Runzer <[email protected]>
2025-09-24 16:11:40 -06:00
Michael BiancoandGitHub 5af5eb5161 refactor: use consistent local layers entrypoint (#241)
* fix: show-plan not showing json output

regression from $schema addition

* refactor: all providers using a consistent local layer entrypoint

* refactor: add local filesystem through a consistent entrypoint

* fix: improved error message on invalid firstInput

* test: remove path argument from NewLocalLayer test

* test: failing workspace example with uv

* test: passing workspace example

* feat: detect uv workspaces

* test: add packaged uv example

* test: snapshot update
2025-09-03 10:39:48 -06:00
Aleks RūtiņšandGitHub aacb422040 java: Add production build flag (#205)
* Add production flag

* Update snapshots
2025-08-01 04:47:22 -04:00
Jake RunzerandGitHub d8f31b4589 Custom config step deploy outputs (#118)
* rename plan inputs to layers and use deploy base layer

* runtime deps installed

* step builders can create multiple steps

* support config step deploy outputs

* optimize when we merge vs copy layers

* update snapshots

* validate the deploy layers

* fix tests

* dont add mise if no packages

* fix pruning for php

* update layer merging and snapshot tests

* dont include mise commands or variables if no packages

* update docs

* update snapshots and normalization

* add guide for adding custom steps

* support .node-version file

* fix compile errors

* update snapshot tests
2025-04-01 13:33:30 -04:00
Jake Runzer 46640704be add metadata to java provider 2025-03-13 20:01:45 -04:00
Aleks RūtiņšandGitHub dae8184457 Missed a spot 2025-03-11 15:21:18 -04:00
Aleks RūtiņšandGitHub ca520f70e2 ditto 2025-03-11 15:20:08 -04:00
Aleks RūtiņšandGitHub 1ed0d183f8 This feels stupid 2025-03-11 15:17:43 -04:00
Aleks RūtiņšandGitHub 5492ca4f3f Fix lint 2025-03-11 15:16:08 -04:00
Aleks Rūtiņš 21c67d9131 Fix nits + Gradle test 2025-03-10 17:34:45 -04:00
Aleks Rutins c66faf4f67 Better runtimeDeps display name 2025-03-05 20:34:14 -05:00
Aleks Rutins 5d0204f7ee Follow best practices, fix gradle test 2025-03-05 20:23:18 -05:00
Aleks Rutins 72cbcb3e1e Maven test 2025-03-05 07:15:46 -05:00
Aleks Rūtiņš 7eec1db69c Basic Java provider code (ported from Nixpacks) 2025-03-04 23:11:17 -05:00