Git Product home page Git Product logo

samples's People

Contributors

aidandelaney avatar ameyer-pivotal avatar anthonydahanne avatar dependabot[bot] avatar dfreilich avatar dgodd avatar dwillist avatar ekcasey avatar hone avatar jankoehnlein avatar jkutner avatar jromero avatar kseckinc avatar natalieparellano avatar nebhale avatar pugangxa avatar samj1912 avatar sclevine avatar simonjjones avatar sombochea avatar srishti-j18 avatar zmackie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

samples's Issues

Add support for stack paketobuildpacks/builder:tiny to sample buildpacks

Getting the following error:

pack build hello-java-img --buildpack from=builder --buildpack ../buildpack-samples/buildpacks/hello-world
ERROR: failed to build: validating stack mixins: buildpack samples/[email protected] does not support stack io.paketo.stacks.tiny

Using a simple Java app to test. The same app without the sample builder builds successfully with the tiny stack.

Can the samples be updated to support the tiny stack please?

Create samples more real world use-cases oriented

Issue created for tracking purposes

During our retro we identified that lots of samples don't address real use-cases and need to be updated.

As an improvement we can spend some team effort to review these samples and come out with more useful ones.

[Ruby] Errors when starting container made with Pack

Trying to pack build the ruby example in this repo and I get the following errors when trying to run it with docker run --rm -p 8080:8080 ruby-sample:

bundler: failed to load command: rackup (/layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/bin/rackup)
OptionParser::MissingArgument: missing argument: -p
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/server.rb:97:in `parse!'
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/server.rb:333:in `parse_options'
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/server.rb:195:in `initialize'
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/server.rb:148:in `new'
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/lib/rack/server.rb:148:in `start'
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/gems/rack-2.0.7/bin/rackup:4:in `<top (required)>'
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/bin/rackup:23:in `load'
  /layers/heroku_ruby/gems/vendor/bundle/ruby/2.5.0/bin/rackup:23:in `<top (required)>'

[java] Support additional maven options : HTTP_PROXY, settings.xml, maven_mirror, dir for maven multi-module

Additional maven options should certainly be implemented as we did here [1] to support to configure :

  • HTTP_PROXY
  • User's settings.xml
  • MAVEN MIRROR URL
  • DIR of the maven module to be compiled

Question :

  • Will it be possible to pass additional parameters to the mvn compile command ?
  • Will a /bin/develop script be created and extended /bin/build script in order to do mvn test

[1] https://github.com/fabric8io-images/s2i/blob/master/java/images/centos/s2i/assemble

Need minimal nanoserver-based Windows stack

To aid in development and experimentation for users who would like to run CNBs on Windows, we should create a minimal nanoserver-based Windows stack.

Acceptance Criteria

Given I'm targeting a Windows docker daemon
When I run ./build-stack.sh nanoserver-1809
Then the image builds
And running docker inspect cnbs/sample-stack-build:nanoserver-1809 | jq reveals the following values in the image config:

  • Label io.buildpacks.stack.id = io.buildpacks.samples.stacks.nanoserver-1809
  • Env var CNB_USER_ID = S-1-1-0
  • Env var CNB_GROUP_ID = S-1-1-0
  • Env var CNB_STACK_ID = io.buildpacks.samples.stacks.nanoserver-1809
  • User is cnb
  • OS is windows

And running docker inspect cnbs/sample-stack-run:nanoserver-1809 | jq reveals the following values in the image config:

  • Label io.buildpacks.stack.id = io.buildpacks.samples.stacks.nanoserver-1809
  • Env var CNB_USER_ID = S-1-1-0
  • Env var CNB_GROUP_ID = S-1-1-0
  • User is cnb
  • OS is windows

Add description, keywords and licenses to sample buildpacks

Add Implementation of buildpacks/rfcs#127

buildpacks/pack#1022 adds the functionality to pack to parse the description, keywords and licenses keys in a buildpack.toml. They should be added to some of the samples, in order to demonstrate how people can do them.

e.g.

[buildpack]
id = "samples/hello-world"
version = "0.0.1"
name = "Hello World Buildpack"
homepage = "https://github.com/buildpacks/samples/tree/main/buildpacks/hello-world"
descripton = "some-description"
keywords = ["something", "something-b"]
[[buildpack.licenses]]
type="MIT"
uri="https://example.com/license"

[[buildpack.licenses]]
type="MIT2"
uri="https://example.com/license"

[java] Allow for additional arguments to be passed to maven

Will it be possible to pass additional parameters to the mvn compile command?

Yes, this is possible similar to how the referenced script provides this functionally. A buildpack can take an environment variable to provide additional args. For example, MAVEN_ARGS_APPEND . This might be worth implementing here to show how it's possible.

Originally posted by @jromero in #8 (comment)

Additional Considerations

  • The REAME.md for the buildpack should be updated to provide information about the new configuration.

Sample builders should contain the latest lifecycle

When a new version of the lifecycle is released, we should automatically bump the version that is in the sample builders.

It looks like our GitHub actions trigger on pushes to the samples repository, but maybe we can trigger them on lifecycle releases as well.

cnbs/sample-builder:bionic currently has lifecycle version 0.7.2.

See buildpacks/docs#152 for an example of how not updating to the latest lifecycle has caused issues.

Java sample application failed to start

Checking the latest execution of the CI workflows in CircleCI I noticed the sample java app is not starting. see here

Screenshot 2023-12-01 at 3 17 36 PM

I tried t o reproduced the error with the following steps:

  1. I built the application image using latest pack version 0.32.1
> pack build -B cnbs/sample-builder:jammy -p apps/java-maven circleci-sample
// log messages 
Successfully built image circleci-sample
  1. I tried to run application using the same docker command we are running on CircleCI
> docker run -d -p 8080:8080 circleci-sample
5d7aedf1fb00652e9a9ee4ff78050fe061d0100b7ad5580714b485c97b14213d
  1. The container is not running, so I checked the logs
> docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
>  docker logs 5d7aedf1fb00652e9a9ee4ff78050fe061d0100b7ad5580714b485c97b14213d
ERROR: failed to launch: exec.d: failed to execute exec.d file at path '/layers/samples_java-maven/jdk/exec.d/jdk.sh': fork/exec /layers/samples_java-maven/jdk/exec.d/jdk.sh: exec format error

If I am not wrong the error fork/exec /layers/samples_java-maven/jdk/exec.d/jdk.sh: exec format error is thrown because the binary is not compatible with the host architecture.

Provide buildpacks as tar or tgz so they can be specified using --buildpack without cloning samples repo

Since the pack command requires a tar or tgz in order to specify a --buildpack by URL, it would be great if this repo contained the latest sample buildpacks in tar/tgz form. That way one can try out/demo using a sample buildpack without having to clone the repo.

e.g.:

pack set-default-builder gcr.io/paketo-buildpacks/builder:base
pack build my-app --buildpack from=builder --buildpack https://github.com/buildpacks/samples/tree/main/buildpacks/hello-world

Returns:
ERROR: checking format: failed to get next tar entry: archive/tar: invalid tar header

Desired behavior:
Have a tar/tgz releases available online

How / where do we run the build-stack.sh file

I've cloned the sample repo to Windows 10 laptop with WSL 2 (Ubuntu 20.04).

I want to make few changes to the "run" docker file and build the dotnet-framework-1809 stack images.

  1. when I run build-stack.sh from Windows command prompt as below, it opens a new bash window and the windows quickly exits with some error before I can read the error message.

C:\buildpacks-windows\stacks>build-stack.sh dotnet-framework-1809

  1. When I run the build-stack.sh from inside WSL 2, I get error about operation system incompatible.

Any help is appreciated!

Need minimal buildpack that can be run on Windows

To aid in development and experimentation for users who would like to run CNBs on Windows, we should create a minimal buildpack that can be run on Windows.

Basically, a minimal .bat hello world buildpack.

Sample stacks do not work

When using the sample stacks with pack version 0.4.1 the following error occurs:

ERROR: invalid builder 'cnbs/sample-stack-build:alpine': builder index.docker.io/cnbs/sample-stack-build:alpine missing label io.buildpacks.builder.metadata -- try recreating builder

seems like the sample builders are missing a newly required label io.buildpacks.builder.metadata

publish packs/samples on update

Add a builder.toml file to the root of buildpack/samples

When I push a change to buildpack/samples master branch
Then travis builds and publishes a new packs/samples
##Notes

  • should use pack create-builder and the builder.toml from the repo root
  • lifecycle travis should no longer publish packs/samples

Given I have pushed a new publish tag to buildpack/lifecycle
When travis has successfully built and pushed a new packs/build image
Then the buildpack/samples travis build is triggers and a new packs/samples image is built and publish using the updated packs/build as the base image

##Questions

  • as written this would imply that any changes to master are published, are we okay with that?
  • do we want this build to validate that the new packs/samples image works with pack cli (e.g. pack build --path <sample-app> --no-pull succeeds) before publishing?

Provide arm64 image of sample builder(s)

Problem

I tried running the Build an app example in the Buildpack docs, but hit an error while doing so. Any thoughts on how to troubleshoot would be greatly appreciated.

Steps to reproduce

  • Install pack cli: brew install buildpacks/tap/pack
  • Download samples: git clone https://github.com/buildpacks/samples
  • Run build command: pack build sample-app --path samples/apps/java-maven --builder cnbs/sample-builder:bionic

Outcome / Stack trace

$ pack build sample-app --path samples/apps/java-maven --builder cnbs/sample-builder:bionic
bionic: Pulling from cnbs/sample-builder
e4ca327ec0e7: Already exists 
55fae2d3d3bc: Pull complete 
6faf60e5f26d: Pull complete 
3baf523e9da9: Pull complete 
22012278af40: Pull complete 
58b1e653474f: Pull complete 
357fefdf9bc9: Pull complete 
a697cc8a1d5c: Pull complete 
5c2e4179bee1: Pull complete 
c4e3bdcbb8c3: Pull complete 
04f9e5a54d38: Pull complete 
c238db6a02a5: Pull complete 
53a52c7f9926: Pull complete 
0cceee8a8cb0: Pull complete 
a302059dbdba: Pull complete 
db1bbcc47135: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:01b9067fe10704647b0992b56699a4e59431d1162e769706dcf5da5dfda928c8
Status: Downloaded newer image for cnbs/sample-builder:bionic
bionic: Pulling from cnbs/sample-stack-run
e4ca327ec0e7: Already exists 
55fae2d3d3bc: Already exists 
6faf60e5f26d: Already exists 
Digest: sha256:38f19fee4ffd8caafb5550da2d26687feba159528d041101ad99cc7390a0f578
Status: Downloaded newer image for cnbs/sample-stack-run:bionic
0.11.3: Pulling from buildpacksio/lifecycle
5dea5ec2316d: Pull complete 
6d75e71a489d: Pull complete 
Digest: sha256:d6c578fbdf88f2e2594d9907307b17775e648656f62e1ae810d31c804f928cf9
Status: Downloaded newer image for buildpacksio/lifecycle:0.11.3
===> DETECTING
[detector] samples/java-maven 0.0.1
===> ANALYZING
[analyzer] Previous image with name "sample-app" not found
===> RESTORING
===> BUILDING
[builder] ---> Java buildpack
[builder] ---> Installing JDK
[builder] ---> Running Maven Wrapper
[builder] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
[builder] /cnb/buildpacks/samples_java-maven/0.0.1/bin/build: line 116:    60 Segmentation fault      ./mvnw clean install -B -DskipTests
[builder] ERROR: failed to build: exit status 139
ERROR: failed to build: executing lifecycle. This may be the result of using an untrusted builder: failed with status code: 51

Environment

  • pack CLI: 0.21.1+git-e09e397.build-2823
  • docker: Docker version 20.10.7, build f0df350
  • OS: macOS 11.6 (with an Apple M1 chip)

Does issue with MustRunAsNonRoot and USER <user> apply to Windows?

Summary

We need to investigate if the following issue for linux on k8s applies to Windows.

Details

Multiple users have reported an issue with the use of USER <user>.

Issue: #44

From slack:

We are trying to test our deployment against the suggested PodSecurityPolicy in k8s. K8s states the following:

MustRunAsNonRoot - Requires that the pod be submitted with a non-zero runAsUser or have the USER directive defined (using a numeric UID) in the image. Pods which have specified neither runAsNonRoot nor runAsUser settings will be mutated to set runAsNonRoot=true, thus requiring a defined non-zero numeric USER directive in the container. No default provided. Setting allowPrivilegeEscalation=false is strongly recommended with this strategy.

The Docker docs say:

USER <user>[:<group>] or
USER <UID>[:<GID>]

The following PR addresses this issue for sample linux stacks: #58

At an initial glance the solution applied to linux doesn't seem to translate directly to Windows due to the fact that UID and GID are unknown and can't be preset when creating a user. (This information was provided by @micahyoung)

Acceptance

  1. It is determined whether this issue applies to Windows or not.
  2. If it does, a proposed solution is provided.

Update stack images to better denote they are samples

The stack images under cnbs/run and cnbs/build are no longer maintained by the CNB team as they are not intended for production use. Instead, we are going to create images that better denote that they are solely samples.

Action items:

  • Move stacks to samples
  • Publish new images from samples to docker hub denoting they are samples. eg cnbs/sample-stack-run

Post actions:

  • Remove cnb/run and cnb/build images from docker hub (task created)

dotnet sample app needs a default entrypoint or README

The overall readme for sample apps says the sample apps can be built and run with:

pack build -p apps/<APP> --builder cnbs/sample-builder:<bionic OR alpine> sample-app
After building the app you should be able to simply run it via docker run -it -p 8080:8080 sample-app. Go to localhost:8080 to see the app running.

For the dotnet sample the build step works. However, docker run fails with:

❯ docker run -it -p 8080:8080 sample-app-dotnet
ERROR: failed to launch: determine start command: when there is no default process a command is required

The sample app should be fixed so it doesn't require a start command, or the dotnet sample should have its own readme indicating the correct command to start with. I've been digging and haven't been able to figure it out yet. The usual suspects ("dotnet" "dotnet run", etc) don't work.

Sample stack issue - is it because Mac Silicon?

pack build myapp --builder cnbs/sample-builder:bionic
e81ef84a8c4f: Exists
93406247463a: Exists
ERROR: failed to build: invalid builder cnbs/sample-builder:bionic: builder index.docker.io/cnbs/sample-builder:bionic missing label io.buildpacks.builder.metadata -- try recreating builder

pack create-builder cnbs/sample-builder:bionic --builder-config builders/bionic/builder.toml --no-pull
Error: unknown flag: --builder-config
Usage:
pack create-builder --config [flags]

Examples:
pack create-builder my-builder:bionic --config ./builder.toml

Flags:
-c, --config string Path to builder TOML file (required)
-h, --help help for create-builder
--publish Publish to registry
--pull-policy string Pull policy to use. Accepted values are always, never, and if-not-present. The default is always

Global Flags:
--no-color Disable color output
-q, --quiet Show less output
--timestamps Enable timestamps in output
-v, --verbose Show more output

pack create-builder cnbs/sample-builder:bionic --builder-config builders/bionic/builder.toml --no-pull
Error: unknown flag: --builder-config
Usage:
pack create-builder --config [flags]

Examples:
pack create-builder my-builder:bionic --config ./builder.toml

Flags:
-c, --config string Path to builder TOML file (required)
-h, --help help for create-builder
--publish Publish to registry
--pull-policy string Pull policy to use. Accepted values are always, never, and if-not-present. The default is always

Global Flags:
--no-color Disable color output
-q, --quiet Show less output
--timestamps Enable timestamps in output
-v, --verbose Show more output

pack create-builder cnbs/sample-builder:bionic --config builders/bionic/builder.toml --no-pull
Error: unknown flag: --no-pull
Usage:
pack create-builder --config [flags]

Examples:
pack create-builder my-builder:bionic --config ./builder.toml

Flags:
-c, --config string Path to builder TOML file (required)
-h, --help help for create-builder
--publish Publish to registry
--pull-policy string Pull policy to use. Accepted values are always, never, and if-not-present. The default is always

Global Flags:
--no-color Disable color output
-q, --quiet Show less output
--timestamps Enable timestamps in output
-v, --verbose Show more output

pack create-builder cnbs/sample-builder:bionic --config builders/bionic/builder.toml
Warning: Command pack create-builder has been deprecated, please use pack builder create instead

4753e82d7deb: Download complete
8cc0bf7c4c3f: Download complete
ERROR: invalid run image config: stack io.buildpacks.samples.stacks.bionic from builder config is incompatible with stack from run image cnbs/sample-stack-run:bionic

pack builder create cnbs/sample-builder:bionic --config builders/bionic/builder.toml
4753e82d7deb: Exists
8cc0bf7c4c3f: Exists
ERROR: invalid run image config: stack io.buildpacks.samples.stacks.bionic from builder config is incompatible with stack from run image cnbs/sample-stack-run:bionic
pack builder create sample-builder:bionic --config builders/bionic/builder.toml
4753e82d7deb: Exists
8cc0bf7c4c3f: Exists
ERROR: invalid run image config: stack io.buildpacks.samples.stacks.bionic from builder config is incompatible with stack from run image cnbs/sample-stack-run:bionic

Error when building apps/java-maven

Message:

...
[create] Paketo Maven Buildpack 6.5.1
[create]   https://github.com/paketo-buildpacks/maven
[create]   Build Configuration:
[create]     $BP_MAVEN_BUILD_ARGUMENTS  -Dmaven.test.skip=true --no-transfer-progress package  the arguments to pass to Maven
[create]     $BP_MAVEN_BUILT_ARTIFACT   target/*.[ejw]ar                                       the built application artifact explicitly.  Supersedes $BP_MAVEN_BUILT_MODULE
[create]     $BP_MAVEN_BUILT_MODULE                                                            the module to find application artifact in
[create]     $BP_MAVEN_DAEMON_ENABLED   false                                                  use maven daemon
[create]     $BP_MAVEN_POM_FILE         pom.xml                                                the location of the main pom.xml file, relative to the application root
[create]     Creating cache directory /home/cnb/.m2
[create]   Compiled Application: Contributing to layer
[create]     Executing mvnw --batch-mode -Dmaven.test.skip=true --no-transfer-progress package
[create]       Unable to parse command line options: Unrecognized option: --no-transfer-progress
[create]
[create]       usage: mvn [options] [<goal(s)>] [<phase(s)>]
[create]
[create]       Options:
[create]        -am,--also-make                        If project list is specified, also
[create]                                               build projects required by the
[create]                                               list
[create]        -amd,--also-make-dependents            If project list is specified, also
[create]                                               build projects that depend on
[create]                                               projects on the list
[create]        -B,--batch-mode                        Run in non-interactive (batch)
[create]                                               mode (disables output color)
[create]        -b,--builder <arg>                     The id of the build strategy to
...

Building a Spring Boot project fails - Unknown flag: chown

Issue

The pack build command reports the following error Error: image build: Unknown flag: chown

pack build --path ./ cmoulliard/snowdrop:v1.0.0.alpha1
2018/11/07 10:07:20 Pulling builder image 'packs/samples' (use --no-pull flag to skip this step)
2018/11/07 10:07:53 Selected run image 'packs/run' from stack 'io.buildpacks.stacks.bionic'
2018/11/07 10:07:53 Pulling run image 'packs/run' (use --no-pull flag to skip this step)
*** DETECTING:
2018/11/07 09:07:59 Group: Sample Node.js Buildpack: fail
2018/11/07 09:07:59 Group: Sample Java Buildpack: pass
*** ANALYZING: Reading information from previous image for possible re-use
2018/11/07 10:07:57 WARNING: skipping analyze, image not found
*** BUILDING:
*** EXPORTING:
---> Java buildpack
---> Installing JDK
Step 1/3 : FROM packs/run
---> 2adf4cd3fc67
Step 2/3 : ADD --chown=1000:1000 /workspace/app /workspace/app
Step 2/3 : ADD --chown=1000:1000 /workspace/app /workspace/app
Error: image build: Unknown flag: chown

Steps to reproduce the error

curl http://start.spring.io/starter.zip -o demo.zip && unzip demo.zip
  • Execute the build pack command
pack build --path ./ cmoulliard/snowdrop:v1.0.0.alpha1

Builds fail with example builder images unless experimental image extension enabled

If I try a Pack build using Pack CLI 0.30.0 and pack build --builder cnbs/sample-builder:alpine ..., I currently get the following error:

$ pack build example-basics --builder cnbs/sample-builder:alpine --trust-builder --buildpack packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_basics --path examples/
alpine: Pulling from cnbs/sample-builder
...
Status: Downloaded newer image for cnbs/sample-stack-run:alpine
ERROR: failed to build: experimental features must be enabled when builder contains image extensions

eg:
https://github.com/heroku/libcnb.rs/actions/runs/6113111959/job/16591949217?pr=668#step:10:119

I was wondering whether it might be best to move the experimental extension support to a different Docker image tag until Pack CLI can support it out of the box (without needing to enable non-default features).

(Originally discussed at: https://cloud-native.slack.com/archives/C033DV8D9FB/p1694119138551089)

USER instruction should use $CNB_USER_ID and not a user name.

All use of the USER instruction to setup the final closing user for an image should use:

USER $CNB_USER_ID

and not:

USER cnb

The reason for this is that it ensures that the user in the image manifest is recorded as an integer user ID that can then be used by a container platform such as Kubernetes, to verify that the image will not run as the root user.

This comes up when using pod security policies in Kubernetes. By using a name for USER, the platform cannot verify what actual user ID the image would run as. This means you can't use MustRunAs for the runUser setting of a pod security policy as it will be rejected. Instead you are forced to use in the pod security policy RunAsAny which means you have a service account in the namespace which a user could then apply to run any image as root. So using a user name for USER is going to force people to configure their platform in a less secure way when using pod security policies.

The reason Kubernetes will reject the image where USER is a user name rather than an integer user ID, is that a user name which is not root is not a guarantee that it will not run as user ID 0, as the non root user name could map to user ID 0 in the /etc/passwd file, which the platform wouldn't be able to validate.

Any examples and documentation should therefore use an integer user ID for USER. In this case it can be picked up from the environment variable set from the original build argument.

Extension samples don't work as described in tutorial

Problem

Extension samples didn't work as described in tutorial: https://buildpacks.io/docs/extension-guide/create-extension/why-dockerfiles/

Issue 1: Buildpack API incompatibility when creating the builder

I followed the tutorial to set up the local env and create the builder. Got the error of Buildpack API incompatibility:

$ pack builder create localhost:5000/extensions-builder \
  --config $PWD/samples/builders/alpine/builder.toml \
  --publish
Downloading from https://github.com/buildpacks/lifecycle/releases/download/v0.15.2/lifecycle-v0.15.2+linux.x86-64.tgz
9.76 MB/9.76 MB
ERROR: validating extensions: extension samples/[email protected] (Buildpack API 0.10) is incompatible with lifecycle 0.15.2 (Buildpack API(s) 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)

I added the following snippet to "$PWD/samples/builders/alpine/builder.toml" as a fix:

[lifecycle]
version = "0.17.0-rc.3"

Issue 2: hello-extensions buildpack didn't pass the detection

Command:

pack build hello-extensions \
  --builder localhost:5000/extensions-builder \
  --network host \
  --path $PWD/samples/apps/java-maven \
  --pull-policy always \
  --verbose

The expected behavior is that hello-extensions buildpack passes the detection but failes the build. The result I got was the detection failed.

Output:

[detector] ======== Results ========
[detector] pass: samples/[email protected]
[detector] pass: samples/[email protected]
[detector] pass: samples/[email protected]
[detector] fail: samples/[email protected]
[detector] ======== Results ========
[detector] fail: samples/[email protected]
[detector] ======== Results ========
[detector] pass: samples/[email protected]
[detector] pass: samples/[email protected]
[detector] pass: samples/[email protected]
[detector] pass: samples/[email protected]
[detector] Resolving plan... (try #1)
[detector] skip: samples/[email protected] provides unused cowsay
[detector] skip: samples/[email protected] provides unused vim
[detector] skip: samples/[email protected] provides unused curl
[detector] 1 of 4 buildpacks participating
[detector] samples/java-maven 0.0.1

Environment

  • pack CLI: 0.29.0+git-95c8060.build-4209
  • docker: 20.10.21
  • OS: Linux 6.1.25-1rodete1-amd64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.