Skip to content

🔀 合并远程更改并解决冲突 #18

🔀 合并远程更改并解决冲突

🔀 合并远程更改并解决冲突 #18

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: |
cd examples
for dir in */; do
if [ -d "$dir" ]; then
dir=${dir%/} # 移除末尾的斜杠
echo "Building example: $dir"
cd "$dir"
go build -v -o "$dir"
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 and run examples
run: |
cd examples
for dir in */; do
if [ -d "$dir" ]; then
dir=${dir%/} # 移除末尾的斜杠
echo "Building and running example: $dir"
cd "$dir"
# 构建二进制文件
go build -v -o "$dir"
# 检查二进制文件是否存在并运行
if [ -f "$dir" ]; then
echo "Running example: $dir"
timeout 30s ./"$dir" || echo "Example $dir timed out or failed with exit code $?"
else
echo "Warning: Binary not created for $dir"
fi
cd ..
fi
done