func/.github/workflows/knative-go-build.yaml

66 lines
1.8 KiB
YAML

# Copyright 2020 The Knative Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This file is automagically synced here from github.com/knative-sandbox/.github
# repo by knobots: https://github.com/knative-sandbox/knobots and will be overwritten.
name: Build
on:
pull_request:
branches: [ 'main', 'master', 'release-*' ]
jobs:
build:
name: Build
strategy:
matrix:
go-version: [1.17.x]
platform: [ubuntu-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Set up Go ${{ matrix.go-version }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
id: go
- name: Check out code
uses: actions/checkout@v2
- id: go_mod
uses: andstor/file-existence-action@v1
with:
files: go.mod
- name: Build
if: ${{ steps.go_mod.outputs.files_exists == 'true' }}
run: |
tags="$(grep -I -r '// +build' . | \
grep -v '^./vendor/' | \
grep -v '^./hack/' | \
grep -v '^./third_party' | \
cut -f3 -d' ' | \
tr ',' '\n' | \
sort | uniq | \
grep -v '^!' | \
tr '\n' ' ')"
echo "Building with tags: ${tags}"
go test -vet=off -tags "${tags}" -exec echo ./...