Welcome, and thanks for you interest in contributing to Lunchpail.
Fork the repository and submit all work as pull requests from a branch on your fork. If you are not quite ready for a full review, you can mark the pull request as Draft. If ready for a review and merge, please squash all of your commits down to a single commit.
Tip
When submitting a PR, use conventional
commit messages,
where each PR'd commit (and the PR itself) has a title prefix of
feat:
or fix:
or chore:
or refactor:
or doc:
.
It will be helpful to have a local build of the CLI:
./hack/setup/cli.sh
This will build ./lunchpail
for your current OS and architecture. If
you want to test on other platforms, use the cli-all.sh
command
instead. You may provide an output path via e.g. cli.sh /tmp/lunchpail
.
Currently, local development requires a container runtime and Kubernetes cluster. If you do not already have these set up on your laptop, you may run:
./lunchpail dev init --build-images
This will install Podman, create a Podman
machine, install Kind, and
create a Kind cluster named lunchpail
. Later, if you only want to
test rebuilding the images:
./lunchpail dev build --verbose
Be careful about passing --production
to this command, as this will
result in images being pushed to the default image repository.
Now you can build your first application:
./lunchpail build https://github.com/IBM/lunchpail-demo -o demo -N
And try it out!
./demo up
This will start the application and also launch the status
dashboard. If you only want to launch the application, run with
--watch=false
. Later, you can run ./demo status
to see the status
of the current run.
To stop a run, issue
./demo down
After making a change, you can run a test, e.g.:
./tests/bin/rerun.sh tests/tests/test7f
The "re" part of rerun.sh
means that all of the above steps will be
repeated. This includes rebuilding base images (which is included in
lunchpail dev init --build-images
or ./lunchpail dev build
)
and rebuilding the CLI.