Skip to content

Commit

Permalink
Chore: added a new test CI to run unit test and build test for Pull R…
Browse files Browse the repository at this point in the history
…equests (#2883)
  • Loading branch information
nekomeowww authored Aug 16, 2023
1 parent 218c3b4 commit a19a9fe
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 11 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,6 @@ jobs:
restore-keys: |
${{ runner.os }}-go-
- name: Get dependencies, run test
run: |
go test ./...
- name: Build
if: startsWith(github.ref, 'refs/tags/')
env:
Expand Down
60 changes: 60 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Test

on: [push, pull_request]

jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Setup Go
uses: actions/setup-go@v4
with:
check-latest: true
go-version: '1.21'

- name: Check out code into the Go module directory
uses: actions/checkout@v3

- name: Cache go module
uses: actions/cache@v3
with:
path: |
~/go/pkg/mod
~/.cache/go-build
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Get dependencies, run test
run: |
go test ./...
build-test:
name: Build Test
runs-on: ubuntu-latest
steps:
- name: Setup Go
uses: actions/setup-go@v4
with:
check-latest: true
go-version: '1.21'

- name: Check out code into the Go module directory
uses: actions/checkout@v3

- name: Cache go module
uses: actions/cache@v3
with:
path: |
~/go/pkg/mod
~/.cache/go-build
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Build
env:
NAME: clash
BINDIR: bin
run: make -j $(go run ./test/main.go) all
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,10 @@ linux-mips64le:
GOARCH=mips64le GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@

linux-riscv64:
GOARCH=riscv64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
GOARCH=riscv64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@

linux-loong64:
GOARCH=loong64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
GOARCH=loong64 GOOS=linux $(GOBUILD) -o $(BINDIR)/$(NAME)-$@

freebsd-386:
GOARCH=386 GOOS=freebsd $(GOBUILD) -o $(BINDIR)/$(NAME)-$@
Expand Down
12 changes: 7 additions & 5 deletions rule/parser_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,16 +116,18 @@ func TestParseRule(t *testing.T) {
expectedRule: lo.Must(NewProcess("/opt/example/example", policy, false)),
},
{
tp: C.RuleConfigIPSet,
payload: "example",
target: policy,
expectedRule: lo.Must(NewIPSet("example", policy, true)),
tp: C.RuleConfigIPSet,
payload: "example",
target: policy,
// unit test runs on Linux machine and NewIPSet(...) won't be available
expectedError: errors.New("operation not permitted"),
},
{
tp: C.RuleConfigIPSet,
payload: "example",
target: policy, params: []string{noResolve},
expectedRule: lo.Must(NewIPSet("example", policy, false)),
// unit test runs on Linux machine and NewIPSet(...) won't be available
expectedError: errors.New("operation not permitted"),
},
{
tp: C.RuleConfigMatch,
Expand Down

0 comments on commit a19a9fe

Please sign in to comment.