1
0
mirror of https://github.com/tektoncd/catalog.git synced 2024-11-26 06:23:37 +00:00
catalog/golang/README.md
jtcheng a844eaa0be Support to set go11module in golang task
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>
2019-08-30 07:59:04 -05:00

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-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: -v)
  • GOOS: operating system target (default: linux)
  • GOARCH: architecture target (default: amd64)
  • GO111MODULE: value of module support (default: auto)

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: -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-type PipelineResource 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