Skip to content

CI

CI #253

Workflow file for this run

name: CI
on:
push:
branches: [master, develop]
pull_request:
branches: [master]
schedule:
- cron: '30 12 */15 * *'
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.22.x', '1.23.x' ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Download dependencies
run: make deps
- name: Run tests
run: make test COVERAGE_FILE=cover.out
- name: Send coverage data to Coveralls
uses: essentialkaos/goveralls-action@v2
env:
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
profile: cover.out
parallel: true
flag-name: linux-${{ matrix.go }}
- name: Send coverage data to Codacy
env:
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
run: |
bash <(curl -Ls https://coverage.codacy.com/get.sh) report \
--force-coverage-parser go \
-r cover.out \
--partial
SendCoverage:
name: Send Coverage
runs-on: ubuntu-latest
if: success() || failure()
needs: Go
steps:
- name: Finish parallel tests (Coveralls)
uses: essentialkaos/goveralls-action@v2
env:
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
parallel-finished: true
- name: Finish parallel tests (Codacy)
env:
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }}
run: bash <(curl -Ls https://coverage.codacy.com/get.sh) final
Typos:
name: Typos
runs-on: ubuntu-latest
needs: Go
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check spelling
continue-on-error: true
uses: crate-ci/typos@master