* go 1.22
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* Updated golangci-lint to v1.57.2
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
---------
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* Add support for darwin-arm64 chipset
Signed-off-by: Domenico Luciani <dluciani@vmware.com>
* Split darwin builder into a separate module extracting the code for a more generic use
Signed-off-by: Domenico Luciani <dluciani@vmware.com>
* Split darwin.mk to lifecycle.mk and launcher.mk
Signed-off-by: Domenico Luciani <dluciani@vmware.com>
* Update launcher.mk with a better naming
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Domenico Luciani <dluciani@vmware.com>
* Update lifecycle.mk with a better naming
Co-authored-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Domenico Luciani <dluciani@vmware.com>
* Adjusted called function
Signed-off-by: Domenico Luciani <dluciani@vmware.com>
---------
Signed-off-by: Domenico Luciani <dluciani@vmware.com>
Co-authored-by: Natalie Arellano <narellano@vmware.com>
* Small fixes from user testing
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fixes from user acceptance
- Removes -stack flag from analyzer
- Fixes debug log message
- Removes deprecated rand.Seed
Signed-off-by: Joe Kimmel <joe-kimmel-vmw@vmware.com>
* Bump linter to a version that will work with go 1.20
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Restorer should ensure ownership of kaniko directory
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* pull the less-than case for flags out of the switch
Signed-off-by: Joe Kimmel <jkimmel@vmware.com>
* appease the windows linter
Signed-off-by: Joe Kimmel <jkimmel@vmware.com>
* Fix weird log output
Signed-off-by: Natalie Arellano <narellano@vmware.com>
---------
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Joe Kimmel <joe-kimmel-vmw@vmware.com>
Signed-off-by: Joe Kimmel <jkimmel@vmware.com>
Co-authored-by: Joe Kimmel <joe-kimmel-vmw@vmware.com>
Co-authored-by: Joe Kimmel <jkimmel@vmware.com>
* Updates go to version 1.19
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Use go-version-file to detect go version
This is one less thing to change when we upgrade
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Consolidate logic in the platform package
- Remove the platform/launch package as it is not needed to avoid having the launcher depend on the lifecycle
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Reinstate platform/launch package to keep the launcher binary smaller
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix constant
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Remove comment
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* WIP
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* WIP
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Don't mount layers fixture in container
This way changes from the first build (/layers/config/metadata.toml, /layers/sbom, etc.)
are not propagated to the second build.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Set environment variables from the extended build image in the build context
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix format string
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Restorer pulls builder manifest and config
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Copy extend-config.toml from extension output to /layers/generated
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Only import kaniko on linux
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* WIP: units pass
Refactor buildpack build, detect, and generate to separate data model from service
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* WIP: fixed some TODOs
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* WIP: addressed some more TODOs, units pass
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* WIP: units pass
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* WIP: acceptance tests pass
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Address some minor TODOs
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* When running extender acceptance, don't mount in /workspace directory
This leads to incorrect permissions issues when running on linux
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Don't try to check for specific curl version
This appears flaky
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* fixes from testing. (#902)
Signed-off-by: Ozzy Osborne <bardweller@gmail.com>
Signed-off-by: Ozzy Osborne <bardweller@gmail.com>
* Lint
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Add tests and TODO
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Change CNB_BUILDPACK_DIR -> CNB_EXTENSION_DIR
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fill in default generated dir
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Ensure kaniko doesn't try to pull 'oci:/kaniko/cache/base/sha256:XXX' from a remote registry
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Add test
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix panic
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix assertion
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Pass build_id as UUID to Dockerfile
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Add tests for selective package
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Remove kaniko fork
- Fix acceptance by adding CacheRunLayers option and moving 'ARG build_id=0' statements
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix windows
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Dockerfile validation (#918)
* Add Dockerfile Validation
Signed-off-by: Ozzy Osborne <bardweller@gmail.com>
* use mobi buildkit dockerfile parsing
Signed-off-by: Ozzy Osborne <bardweller@gmail.com>
Signed-off-by: Ozzy Osborne <bardweller@gmail.com>
* Add units for Dockerfile validation
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix launcher
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Minor improvements
- Test ReadGroup for extensions
- Ensure stderr is captured for acceptance test that might expect it
- Read group.toml into an accurate struct (that has extension and optional set for extensions)
and set these fields to false before writing out to TOML or JSON
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Skip image extensions tests on Windows
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Ozzy Osborne <bardweller@gmail.com>
Co-authored-by: Javier Romero <rjavier@vmware.com>
Co-authored-by: Ozzy Osborne <bardweller@gmail.com>
* Upgrade go to 1.18 (#907)
* Use go 1.18 in CI
* Bump deps (except toml)
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix process type parsing (#912)
* Use the last part of the path when trying to find matching process. (#903)
* Use the last part of the path when trying to find matching process.
The process was comparing the base path minus the extension, which was blocking types with a `.` in them from ever matching.
Fixes#895
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* fixup! Use the last part of the path when trying to find matching process.
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* fixup! Use the last part of the path when trying to find matching process.
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* fixup! Use the last part of the path when trying to find matching process.
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* fixup! Use the last part of the path when trying to find matching process.
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* fixup! Use the last part of the path when trying to find matching process.
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* fixup! Use the last part of the path when trying to find matching process.
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
* Upgrade go to 1.18 (#907)
* Use go 1.18 in CI
* Bump deps (except toml)
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Test path lookup (#909)
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Revert "Merge branch 'release/0.14.2' into jab/fix-process-type-parsing"
This reverts commit 6f56a31733, reversing
changes made to e544937760.
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Co-authored-by: Natalie Arellano <narellano@vmware.com>
* Bump imgutil
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Co-authored-by: Jesse Brown <jabrown85@gmail.com>
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Jesse Brown <jabrown85@gmail.com>
Co-authored-by: Jesse Brown <jabrown85@gmail.com>
* Upgrade to go 1.17
Now that go 1.18 is out, go 1.16 is no longer supported.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
* Fix Windows
In go 1.17, child processes do not automatically inherit handles from the parent process.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
This changes make build to build for linux/amd64, windows/amd64, and
newly, linux/arm64. Binaries are built to paths like
out/$GOOS-$GOARCH/lifecycle, etc.
This also changes the CI image build process to build and attach the
amd64 binary to the build, and to include the linux/arm64 image in the
manifest list.
Acceptance tests were updated to build arch-specific binaries and to
look for them in the new correct place.
Signed-off-by: Jason Hall <jasonhall@redhat.com>
Also use module-aware go install to install version-pinned Go tooling,
instead of using tools/tools.go, and remove the separate Go module in
tools/
This change requires Go 1.16+ to build, so also update all CI configs to
use 1.16.
Signed-off-by: Jason Hall <jasonhall@redhat.com>
This helper simplifies running tests against remote Windows daemon from a Unix workstation
- Updates docker cli to 20.10.5
- Adds richgo, docker build compression
Signed-off-by: Micah Young <ymicah@vmware.com>
This requires extra processing in cmd/version.go because Version when it includes the commit will not contain
'-dirty'.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
For local development and commits to main, we derive the lifecycle version
from `git describe --tags`.
For new commits to release branches, we derive the lifecycle version
from the branch name.
New commits to main and release branches will trigger a new lifecycle image.
After publishing new releases, the lifecycle image will be re-tagged.
PRs to any branch won't trigger a new lifecycle image.
Signed-off-by: Natalie Arellano <narellano@vmware.com>
Signed-off-by: Yael Harel <yharel@vmware.com>
* Uses Normalizing tar writer to fix paths when running on windows
* Move lifecycle.toml to top-level in archive
* Zeros UID/GID
Signed-off-by: Emily Casey <ecasey@vmware.com>