Skip to content

refactor: 使用versions库替换自定义版本比较功能 #9

refactor: 使用versions库替换自定义版本比较功能

refactor: 使用versions库替换自定义版本比较功能 #9

Workflow file for this run

name: Go Tests and Examples
on:
push:
pull_request:
branches: [ main, master ]
jobs:
setup:
name: 依赖检查和环境准备
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
cache: true
- name: Check out code
uses: actions/checkout@v3
- name: Get dependencies
run: go mod download
unit-tests:
name: 单元测试
needs: setup
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
cache: true
- name: Check out code
uses: actions/checkout@v3
- name: Get dependencies
run: go mod download
- name: Run unit tests
run: go test -v ./...
build-examples:
name: 示例构建
needs: setup
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
cache: true
- name: Check out code
uses: actions/checkout@v3
- name: Get dependencies
run: go mod download
- name: Build examples
run: |
for dir in examples/*; do
if [ -d "$dir" ]; then
echo "Building example: $dir"
cd "$dir"
go build -v
cd -
fi
done
run-examples:
name: 示例运行
needs: build-examples
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
cache: true
- name: Check out code
uses: actions/checkout@v3
- name: Get dependencies
run: go mod download
- name: Build examples
run: |
for dir in examples/*; do
if [ -d "$dir" ]; then
echo "Building example: $dir"
cd "$dir"
go build -v
cd -
fi
done
- name: Run examples
run: |
for dir in examples/*; do
if [ -d "$dir" ]; then
echo "Running example: $dir"
cd "$dir"
if [ -f "$(basename $dir)" ]; then
timeout 30s ./$(basename $dir) || echo "Example $dir timed out after 30 seconds"
fi
cd -
fi
done