86 lines
2.1 KiB
YAML
86 lines
2.1 KiB
YAML
name: CI
|
||
on:
|
||
push:
|
||
branches:
|
||
- '*'
|
||
pull_request:
|
||
branches:
|
||
- '*'
|
||
jobs:
|
||
# 预热 Go 依赖缓存(调用 reusable workflow)
|
||
go-cache:
|
||
uses: ./.github/workflows/go-cache.yaml
|
||
|
||
build:
|
||
needs: go-cache
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Set up Go
|
||
uses: actions/setup-go@v6
|
||
with:
|
||
go-version: '1.25'
|
||
cache: true
|
||
cache-dependency-path: '**/go.sum'
|
||
- name: Setup Node.js environment
|
||
uses: actions/setup-node@v4
|
||
with:
|
||
node-version-file: '.node-version'
|
||
- name: Build
|
||
run: make build-web bililive
|
||
test:
|
||
needs: go-cache
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Set up Go
|
||
uses: actions/setup-go@v6
|
||
with:
|
||
go-version: '1.25'
|
||
cache: true
|
||
cache-dependency-path: '**/go.sum'
|
||
- name: Setup Node.js environment
|
||
uses: actions/setup-node@v4
|
||
with:
|
||
node-version-file: '.node-version'
|
||
- name: Test
|
||
run: make build-web test
|
||
- name: Codecov
|
||
uses: codecov/codecov-action@v2
|
||
lint:
|
||
name: Lint
|
||
needs: go-cache
|
||
runs-on: ubuntu-latest
|
||
if: github.event_name == 'pull_request'
|
||
timeout-minutes: 3
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
with:
|
||
fetch-depth: 1
|
||
- name: Setup Go
|
||
uses: actions/setup-go@v6
|
||
with:
|
||
go-version: '1.25'
|
||
cache: true
|
||
cache-dependency-path: '**/go.sum'
|
||
- uses: golangci/golangci-lint-action@v8
|
||
with:
|
||
working-directory: src/
|
||
args: --build-tags=dev
|
||
check-agents:
|
||
name: Check AI Instruction Files
|
||
needs: go-cache
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
- name: Setup Go
|
||
uses: actions/setup-go@v6
|
||
with:
|
||
go-version: '1.25'
|
||
cache: true
|
||
cache-dependency-path: '**/go.sum'
|
||
- name: Check AI instruction files consistency
|
||
run: make check-agents
|