...
1# This workflow will build a golang project
2# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
3
4name: Go
5
6on:
7 push:
8 branches: [ "main" ]
9 pull_request:
10
11jobs:
12
13 lint:
14 runs-on: ubuntu-latest
15 strategy:
16 matrix:
17 # We make use of the `slices` feature, only available in 1.21 and newer
18 go-version: [ '1.21', '1.22' ]
19
20 steps:
21 - uses: actions/checkout@v4
22
23 - name: Set up Go
24 uses: actions/setup-go@v5
25 with:
26 go-version: ${{ matrix.go-version }}
27
28 - name: Lint
29 uses: golangci/golangci-lint-action@v6
30 with:
31 version: v1.56.2
32 args: --verbose
33
34 build:
35 runs-on: ubuntu-latest
36 strategy:
37 matrix:
38 # We make use of the `slices` feature, only available in 1.21 and newer
39 go-version: [ '1.21', '1.22' ]
40
41 steps:
42 - uses: actions/checkout@v4
43
44 - name: Set up Go
45 uses: actions/setup-go@v5
46 with:
47 go-version: ${{ matrix.go-version }}
48
49 - name: Build
50 run: go build -v ./...
51
52 - name: Test
53 run: go test -v -race ./...
54
55 examples:
56 runs-on: ubuntu-latest
57 strategy:
58 matrix:
59 # We make use of the `slices` feature, only available in 1.21 and newer
60 go-version: [ '1.21', '1.22' ]
61
62 steps:
63 - uses: actions/checkout@v4
64
65 - name: Set up Go
66 uses: actions/setup-go@v5
67 with:
68 go-version: ${{ matrix.go-version }}
69
70 - name: Build minimal example
71 run: |
72 cd examples/minimal
73 go build -v ./...
74
75 - name: Build RAG Wikipedia Ollama
76 run: |
77 cd examples/rag-wikipedia-ollama
78 go build -v ./...
79
80 - name: Semantic search arXiv OpenAI
81 run: |
82 cd examples/semantic-search-arxiv-openai
83 go build -v ./...
84
85 - name: S3 export/import
86 run: |
87 cd examples/s3-export-import
88 go build -v ./...
View as plain text