Files
go-telegram-bot/.github/workflows/go-ci.yaml
HugeFrog24 547dc8ca1a Upd deps
2026-02-11 18:39:02 +01:00

59 lines
1.2 KiB
YAML

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
# Common setup job that other jobs can depend on
setup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.24.2'
- uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- run: go mod tidy
# Lint job
lint:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: golangci/golangci-lint-action@v7
with:
version: v2.0
args: --timeout 5m
# Test job
test:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.24.2'
- run: go test ./... -v
# Security scan job
security:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: securego/gosec@master
with:
args: ./...