mirror of https://github.com/buildpacks/pack.git
* WIP - adding flag to set the CNB_EXEC_ENV
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* adding . and - to the regular expression to validate and cnn exec env
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* WIP - adding exec-env on project.toml schema verion 0.3, it is still in progress
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* fixing some lint errors
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* WIP - refacting test case
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* adding more test cases
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* adding exec-env to builder.toml
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* adding exec-env to builder.toml
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* Adding unit test for exec-env in buildpack.toml
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* Removing for now the platform API version validation
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* Fixing unit tests
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* fixing some unit tests
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* Fixing formatting issue
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* Test Coverage Improvements Summary
Changes Made:
1. internal/build/lifecycle_executor.go (2 lines added)
- Added Platform API versions 0.14 and 0.15 to SupportedPlatformAPIVersions
- This allows pack to support the new execution environment feature which requires Platform API 0.15
2. internal/build/phase_config_provider.go (1 line changed)
- Updated the Platform API version check from 0.13 to 0.15 for the CNB_EXEC_ENV environment variable
3. internal/build/fakes/fake_builder.go (7 lines added)
- Added WithExecutionEnvironment() helper function for tests
- Allows tests to easily set the execution environment in lifecycle options
4. internal/build/phase_config_provider_test.go (41 lines added)
- Added comprehensive tests for the execution environment feature:
- ✅ Test that CNB_EXEC_ENV is set when Platform API >= 0.15
- ✅ Test that CNB_EXEC_ENV is NOT set when Platform API < 0.15
- Added import for "github.com/buildpacks/lifecycle/api" package
Existing Test Coverage (Already in PR):
1. internal/commands/build_test.go
- ✅ Tests that default exec-env is 'production'
- ✅ Tests with valid characters (letters, numbers, dots, hyphens)
- ✅ Tests with invalid characters (shows proper error)
- ✅ Comprehensive validation tests for exec-env flag
2. builder/config_reader_test.go
- ✅ Tests reading exec-env from builder configuration
3. pkg/project/project_test.go
- ✅ Tests reading exec-env from project.toml (schema v0.3)
- ✅ Tests for buildpack groups, pre-groups, and post-groups
Test Results:
- All phase config provider tests: PASSING ✅
- All build command tests: PASSING ✅
- Coverage for exec-env flag validation: COMPLETE ✅
- Coverage for CNB_EXEC_ENV environment variable: COMPLETE ✅
- Coverage for Platform API version gating: COMPLETE ✅
The test coverage for your ExecutionEnvironment feature is now comprehensive and covers:
- Command-line flag validation
- Environment variable setting based on Platform API version
- Builder and project configuration reading
- Edge cases and error conditions
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* Fixing Acceptance Tests API Platform expected versions
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
* fix: add missing api import in phase_config_provider_test
Add missing import for github.com/buildpacks/lifecycle/api package
required by execution environment tests that use api.MustParse().
The tests added in this branch for CNB_EXEC_ENV functionality
reference api.Version and api.MustParse() but the import was missing,
causing compilation errors after merging latest changes from main.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
---------
Signed-off-by: Juan Bustamante <bustamantejj@gmail.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
|
||
|---|---|---|
| .github | ||
| acceptance | ||
| benchmarks | ||
| builder | ||
| buildpackage | ||
| cmd | ||
| internal | ||
| pkg | ||
| registry | ||
| resources | ||
| testdata | ||
| testhelpers | ||
| tools | ||
| .gitignore | ||
| .gitpod.yml | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| DEVELOPMENT.md | ||
| Dockerfile | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| RELEASE.md | ||
| codecov.yml | ||
| go.mod | ||
| go.sum | ||
| golangci.yaml | ||
| main.go | ||
| project.toml | ||
README.md
pack - Buildpack CLI
pack makes it easy for...
- App Developers to use buildpacks to convert code into runnable images.
- Buildpack Authors to develop and package buildpacks for distribution.
- Operators to package buildpacks for distribution and maintain applications.
Usage
Getting Started
Get started by running through our tutorial: An App’s Brief Journey from Source to Image
Contributing
- CONTRIBUTING - Information on how to contribute, including the pull request process.
- DEVELOPMENT - Further detail to help you during the development process.
- RELEASE - Further details about our release process.
Documentation
Check out the command line documentation here
Specifications
pack is a CLI implementation of the Platform Interface Specification for Cloud Native Buildpacks.
To learn more about the details, check out the specs repository.