# This workflow will build a golang project # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go name: Go on: push: branches: [ "main" ] pull_request: jobs: lint: runs-on: ubuntu-latest strategy: matrix: # We make use of the `slices` feature, only available in 1.21 and newer go-version: [ '1.21', '1.22' ] steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: ${{ matrix.go-version }} - name: Lint uses: golangci/golangci-lint-action@v6 with: version: v1.56.2 args: --verbose build: runs-on: ubuntu-latest strategy: matrix: # We make use of the `slices` feature, only available in 1.21 and newer go-version: [ '1.21', '1.22' ] steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: ${{ matrix.go-version }} - name: Build run: go build -v ./... - name: Test run: go test -v -race ./... examples: runs-on: ubuntu-latest strategy: matrix: # We make use of the `slices` feature, only available in 1.21 and newer go-version: [ '1.21', '1.22' ] steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: ${{ matrix.go-version }} - name: Build minimal example run: | cd examples/minimal go build -v ./... - name: Build RAG Wikipedia Ollama run: | cd examples/rag-wikipedia-ollama go build -v ./... - name: Semantic search arXiv OpenAI run: | cd examples/semantic-search-arxiv-openai go build -v ./... - name: S3 export/import run: | cd examples/s3-export-import go build -v ./...