mirror of
https://github.com/tektoncd/catalog.git
synced 2024-11-22 06:02:51 +00:00
151 lines
3.4 KiB
Markdown
151 lines
3.4 KiB
Markdown
|
# Golang tasks
|
||
|
|
||
|
These Tasks are Golang task to build, test and validate Go projects.
|
||
|
|
||
|
## Install the tasks
|
||
|
|
||
|
```
|
||
|
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/golang/golangci-lint.yaml
|
||
|
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/golang/golang-build.yaml
|
||
|
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/golang/golang-test.yaml
|
||
|
```
|
||
|
|
||
|
## `golangci-lint`
|
||
|
|
||
|
### Inputs
|
||
|
|
||
|
#### Parameters
|
||
|
|
||
|
#### Resources
|
||
|
|
||
|
* **package**: base package under validation
|
||
|
* **flags**: flags to use for `golangci-lint` command (_default:_--verbose)
|
||
|
* **version**: golangci-lint version to use (_default:_ v1.16)
|
||
|
* **GOOS**: operating system target (_default:_ linux)
|
||
|
* **GOARCH**: architecture target (_default:_ amd64)
|
||
|
|
||
|
* **source**: A `git`-type `PipelineResource` specifying the location of the
|
||
|
source to build.
|
||
|
|
||
|
### `golang-build`
|
||
|
|
||
|
### Inputs
|
||
|
|
||
|
#### Parameters
|
||
|
|
||
|
* **package**: base package under test
|
||
|
* **packages**: packages to test (_default:_ ./...)
|
||
|
* **version**: golang version to use for tests (_default:_ 1.12)
|
||
|
* **flags**: flags to use for `go test` command (_default:_ -race -cover -v)
|
||
|
* **GOOS**: operating system target (_default:_ linux)
|
||
|
* **GOARCH**: architecture target (_default:_ amd64)
|
||
|
|
||
|
#### Resources
|
||
|
|
||
|
* **source**: A `git`-type `PipelineResource` specifying the location of the
|
||
|
source to build.
|
||
|
|
||
|
### `golang-test`
|
||
|
|
||
|
### Inputs
|
||
|
|
||
|
#### Parameters
|
||
|
|
||
|
* **package**: base package to build in
|
||
|
* **packages**: packages to test (_default:_ ./cmd/...)
|
||
|
* **version**: golang version to use for builds (_default:_ 1.12)
|
||
|
* **flags**: flags to use for `go test` command (_default:_ -v)
|
||
|
* **GOOS**: operating system target (_default:_ linux)
|
||
|
* **GOARCH**: architecture target (_default:_ amd64)
|
||
|
|
||
|
#### Resources
|
||
|
|
||
|
* **source**: A `git`-type `PipelineResource` specifying the location of the
|
||
|
source to build.
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
### `golangci-lint`
|
||
|
|
||
|
This TaskRun runs the Task to validate
|
||
|
[`tektoncd/pipeline`](https://github.com/tektoncd/pipeline) `pkg` package with
|
||
|
`golangci-lint`.
|
||
|
|
||
|
```
|
||
|
apiVersion: tekton.dev/v1alpha1
|
||
|
kind: TaskRun
|
||
|
metadata:
|
||
|
name: lint-my-code
|
||
|
spec:
|
||
|
taskRef:
|
||
|
name: golangci-lint
|
||
|
inputs:
|
||
|
resources:
|
||
|
- name: source
|
||
|
resourceSpec:
|
||
|
type: git
|
||
|
params:
|
||
|
- name: url
|
||
|
value: https://github.com/tektoncd/pipeline
|
||
|
params:
|
||
|
- name: package
|
||
|
value: github.com/tektoncd/pipeline
|
||
|
- name: flags
|
||
|
value: --verbose
|
||
|
```
|
||
|
|
||
|
### `golang-test`
|
||
|
|
||
|
This TaskRun runs the Task to run unit-tests on
|
||
|
[`tektoncd/pipeline`](https://github.com/tektoncd/pipeline).
|
||
|
|
||
|
```
|
||
|
apiVersion: tekton.dev/v1alpha1
|
||
|
kind: TaskRun
|
||
|
metadata:
|
||
|
name: test-my-code
|
||
|
spec:
|
||
|
taskRef:
|
||
|
name: golang-test
|
||
|
inputs:
|
||
|
resources:
|
||
|
- name: source
|
||
|
resourceSpec:
|
||
|
type: git
|
||
|
params:
|
||
|
- name: url
|
||
|
value: https://github.com/tektoncd/pipeline
|
||
|
params:
|
||
|
- name: package
|
||
|
value: github.com/tektoncd/pipeline
|
||
|
- name: packages
|
||
|
value: ./pkg/...
|
||
|
```
|
||
|
|
||
|
### `golang-build`
|
||
|
|
||
|
This TaskRun runs the Task to compile commands from
|
||
|
[`tektoncd/pipeline`](https://github.com/tektoncd/pipeline).
|
||
|
`golangci-lint`.
|
||
|
|
||
|
```
|
||
|
apiVersion: tekton.dev/v1alpha1
|
||
|
kind: TaskRun
|
||
|
metadata:
|
||
|
name: build-my-code
|
||
|
spec:
|
||
|
taskRef:
|
||
|
name: golang-build
|
||
|
inputs:
|
||
|
resources:
|
||
|
- name: source
|
||
|
resourceSpec:
|
||
|
type: git
|
||
|
params:
|
||
|
- name: url
|
||
|
value: https://github.com/tektoncd/pipeline
|
||
|
params:
|
||
|
- name: package
|
||
|
value: github.com/tektoncd/pipeline
|
||
|
```
|