1
0
mirror of https://github.com/tektoncd/catalog.git synced 2024-12-02 06:52:15 +00:00
catalog/golang
Vincent Demeester a50f01a3d7 Port golang to v1beta1 🦇
Signed-off-by: Vincent Demeester <vdemeest@redhat.com>
2020-03-06 07:49:46 -06:00
..
build.yaml Port golang to v1beta1 🦇 2020-03-06 07:49:46 -06:00
lint.yaml Port golang to v1beta1 🦇 2020-03-06 07:49:46 -06:00
OWNERS Add initial OWNERS to some folders 📄 2019-10-23 04:53:23 -05:00
README.md Port golang to v1beta1 🦇 2020-03-06 07:49:46 -06:00
tests.yaml Port golang to v1beta1 🦇 2020-03-06 07:49:46 -06:00

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: latest)
  • 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: latest)
  • 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/v1beta1
kind: TaskRun
metadata:
  name: lint-my-code
spec:
  taskRef:
    name: golangci-lint
  resources:
    inputs:
    - 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/v1beta1
kind: TaskRun
metadata:
  name: test-my-code
spec:
  taskRef:
    name: golang-test
  resources:
    inputs:
    - 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/v1beta1
kind: TaskRun
metadata:
  name: build-my-code
spec:
  taskRef:
    name: golang-build
  resources:
    inputs:
    - name: source
      resourceSpec:
        type: git
        params:
        - name: url
          value: https://github.com/tektoncd/pipeline
  params:
  - name: package
    value: github.com/tektoncd/pipeline