通用 GitHub Actions
commit lint
name: commit lint
on:
pull_request:
branches:
- main
jobs:
commitlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: wagoid/commitlint-github-action@v5
line lint
name: line lint
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
name: line lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: linelint
uses: fernandrone/linelint@master
Go
golangci-lint
name: go ci Lint
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
args: --timeout 3m0s
go mod check
name: go mod check
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
go_mod_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Go Mod Check Action
uses: hezhangjian/go-mod-check-action@main
with:
prohibitIndirectDepUpdate: 'true'
go unit tests
name: go unit test
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
go_unit_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: setup OpenGemini
uses: hezhangjian/setup-opengemini-action@main
- name: Run coverage
run: go test ./... -coverpkg=./padmin/... -race -coverprofile=coverage.out -covermode=atomic
Java GitHub Actions
maven checkstyle
name: java checkstyle
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
java_checkstyle:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Maven Central Repository
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: checkstyle
run: mvn -B clean checkstyle:check
maven spotbugs
name: java spotbugs
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
java_spotbugs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Maven Central Repository
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: spotbugs
run: mvn -B -DskipTests clean verify spotbugs:spotbugs
maven unit tests
name: java unit tests
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
java_unit_tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Maven Central Repository
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: unit tests
run: mvn -B clean test
TypeScript GitHub Actions
npm build test
name: npm build test
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
npm_buid_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- run: npm install
- run: npm run build
- name: setup pulsar
uses: hezhangjian/setup-pulsar-action@main
- run: npm run test
prettier
name: prettier
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- run: npm install --save-dev prettier
- run: npm install --global prettier
- run: prettier --check '**/*.ts'