blob: fd8257897100ee1a16f824512968b6e645403d58 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
name: CI
on:
pull_request:
jobs:
tests:
name: Tests
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Set up Go 1.18
uses: actions/setup-go@v2
with:
go-version: 1.18
- name: Check out code into the Go module directory
uses: actions/checkout@v2
with:
submodules: true
- name: Check License
uses: apache/skywalking-eyes@9bd5feb86b5817aa6072b008f9866a2c3bbc8587
- name: Test
run: make test
- name: Lint
run: make lint
build:
name: Build on ${{ matrix.os }} with Go ${{ matrix.go-version }}
needs:
- tests
strategy:
fail-fast: true
matrix:
os: [ ubuntu, macos, windows ]
go-version: [ 1.18, 1.19 ]
runs-on: ${{ matrix.os }}-latest
timeout-minutes: 60
steps:
- name: Set up Go ${{ matrix.go-version }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Check out code into the Go module directory
uses: actions/checkout@v2
with:
submodules: true
- name: Get dependencies
run: make deps
- name: Build
run: make build
required:
if: always()
name: Required
needs:
- build
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Merge Requirement
run: |
if [[ ${{ needs.build.result }} != 'success' ]]; then
exit -1
fi