Skip to content

Improve CI workflow #45

Improve CI workflow

Improve CI workflow #45

Workflow file for this run

name: CI
on:
push:
branches: [master, develop]
pull_request:
branches: [master]
workflow_dispatch:
inputs:
force_run:
description: 'Force workflow run'
required: true
type: choice
options: [yes, no]
permissions:
actions: read
contents: read
statuses: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Go:
name: Go
runs-on: ubuntu-latest
strategy:
matrix:
go: [ '1.19.x', '1.20.x' ]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go }}
- name: Download dependencies
run: make deps
- name: Run tests
run: go test -v -covermode count -coverprofile cover.out ./...
- name: Send coverage data
uses: essentialkaos/goveralls-action@v2
env:
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
profile: cover.out
parallel: true
flag-name: linux-${{ matrix.go }}
SendCoverage:
name: Send Coverage
runs-on: ubuntu-latest
needs: Go
steps:
- name: Finish parallel tests
uses: essentialkaos/goveralls-action@v2
env:
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
parallel-finished: true
Aligo:
name: Aligo
runs-on: ubuntu-latest
needs: Go
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.19.x'
- name: Check Golang sources with Aligo
uses: essentialkaos/aligo-action@v2
with:
files: ./...
Typos:
name: Typos
runs-on: ubuntu-latest
needs: Go
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check spelling
uses: crate-ci/typos@master