Skip to content

Latest commit

 

History

History
89 lines (63 loc) · 2.39 KB

README.md

File metadata and controls

89 lines (63 loc) · 2.39 KB

Lunchpail: Development of Lunchpail Itself

Welcome, and thanks for you interest in contributing to Lunchpail.

Step 1: Fork the Repository

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: .

Step 2: Build the CLI

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.

Step 3: Initialize Podman

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.

Step 4: Build and Run a Demo

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

Step 5: Run a Test

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.