- Create a GitHub account
- Setup GitHub access via SSH
- Create and checkout a repo fork
- Set up your shell environment
- Install requirements
- Set up a Kubernetes cluster
- Running Tests
Then you can iterate.
The Go tools require that you clone the repository to the
src/github.com/openshift-pipelines/tektoncd-pruner
directory in your
GOPATH
.
To check out this repository:
- Create your own fork of this repo
- Clone it to your machine:
mkdir -p ${GOPATH}/src/github.com/openshift-pipelines
cd ${GOPATH}/src/github.com/openshift-pipelines
git clone [email protected]:${YOUR_GITHUB_USERNAME}/tektoncd-pruner.git
cd tektoncd-pruner
git remote add upstream [email protected]:openshift-pipelines/tektoncd-pruner.git
git remote set-url --push upstream no_push
Adding the upstream
remote sets you up nicely for regularly
syncing your fork.
You must install these tools:
go
: The language Tekton Pruner is built ingit
: For source controlkubectl
(optional): For interacting with your kube cluster
To setup a Kubernetes cluster for development, see the Tekton Pipelines documentation.
To build the Tekton Pruner project, you'll need to set GO111MODULE=on
environment variable to force go
to use go
modules.
You can stand up a version of this controller on-cluster (to your kubectl config current-context
):
ko apply -f config/
As you make changes to the code, you can redeploy your controller with:
ko apply -f config/controller.yaml
You can clean up everything with:
ko delete -f config/
To look at the controller logs, run:
kubectl -n tekton-pipelines logs deployment/tekton-pruner-controller
Pruner uses the standard go testing framework. Unit tests can be run with:
TO BE UPDATED
Integration tests require a running cluster and Pruner to be installed. These are protected by a build tag "e2e". To run integration tests:
TO BE UPDATED