|
- # Copyright © 2023 OpenIM open source community. All rights reserved.
- #
- # 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.
-
- name: OpenKF CI
-
- on:
- push:
- branches:
- - main
- paths-ignore:
- - "docs/**"
- - "README.md"
- - "README_zh-CN.md"
- - "CONTRIBUTING.md"
- pull_request:
- branches:
- - main
- paths-ignore:
- - "README.md"
- - "README_zh-CN.md"
- - "CONTRIBUTING.md"
- - "docs/**"
-
- env:
- GO_VERSION: "1.19"
- GOLANGCI_VERSION: "v1.50.1"
-
- jobs:
- openkf:
- name: Test with go ${{ matrix.go_version }} on ${{ matrix.os }}
- runs-on: ${{ matrix.os }}
- environment:
- name: openkf
-
- strategy:
- matrix:
- go_version: ["1.19","1.20"]
- os: [ubuntu-latest]
-
- 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 into the Go module directory
- uses: actions/checkout@v2
-
- - name: Run go modules tidy
- run: |
- make tidy
-
- - name: Run go format
- run: |
- make format
-
- - name: Generate all necessary files, such as error code files
- run: |
- make generate
-
- - name: Check syntax and styling of go sources
- run: |
- set -e
- make lint
-
- - name: Run unit test and get test coverage
- run: |
- make cover
-
- - name: Build source code for host platform
- run: |
- make build # skip build for now
-
- - name: Collect Test Coverage File
- uses: actions/upload-artifact@v1.0.0
- with:
- name: main-output
- path: _output/tmp/coverage.out
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v1
-
- docker-image-tests:
- runs-on: ubuntu-20.04
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: Set up Go
- uses: actions/setup-go@v3
- with:
- go-version: ${{ env.GO_VERSION }}
-
- - name: Run tests
- run: make build
-
- - name: Test docker image
- run: |
- docker build -t openkf:ci-build .
|