mirror of
https://github.com/tektoncd/catalog.git
synced 2024-11-22 06:02:51 +00:00
a844eaa0be
The default value of GO11MODULE is auto in golang. We should allow to change the value, in order to force module support on or off regardless of directory location Signed-off-by: jtcheng <jtcheng0616@gmail.com>
3.6 KiB
3.6 KiB
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/lint.yaml
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/golang/build.yaml
kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/golang/tests.yaml
golangci-lint
Inputs
Parameters
- 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)
- GO111MODULE: value of module support (default: auto)
Resources
- source: A
git
-typePipelineResource
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: -v) - GOOS: operating system target (default: linux)
- GOARCH: architecture target (default: amd64)
- GO111MODULE: value of module support (default: auto)
Resources
- source: A
git
-typePipelineResource
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: -race -cover -v) - GOOS: operating system target (default: linux)
- GOARCH: architecture target (default: amd64)
- GO111MODULE: value of module support (default: auto)
Resources
- source: A
git
-typePipelineResource
specifying the location of the source to build.
Usage
golangci-lint
This TaskRun runs the Task to validate
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
.
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
.
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