69 lines
2 KiB
YAML
69 lines
2 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
# trying and staging branches are for BORS config
|
|
branches:
|
|
- trying
|
|
- staging
|
|
- main
|
|
|
|
jobs:
|
|
linter:
|
|
name: linter
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: 1.17
|
|
- uses: actions/checkout@v4
|
|
- name: golangci-lint
|
|
uses: golangci/golangci-lint-action@v6
|
|
with:
|
|
version: v1.45.2
|
|
- name: Run go vet
|
|
run: go vet
|
|
- name: Yaml linter
|
|
uses: ibiqlik/action-yamllint@v3
|
|
with:
|
|
config_file: .yamllint.yml
|
|
|
|
integration_tests:
|
|
runs-on: ubuntu-latest
|
|
# Will not run if the event is a PR to bump-meilisearch-v* (so a pre-release PR)
|
|
# Will still run for each push to bump-meilisearch-v*
|
|
if: github.event_name != 'pull_request' || !startsWith(github.base_ref, 'bump-meilisearch-v')
|
|
strategy:
|
|
matrix:
|
|
# Current go.mod version and latest stable go version
|
|
go: [1.16, 1.17]
|
|
include:
|
|
- go: 1.16
|
|
tag: current
|
|
- go: 1.17
|
|
tag: latest
|
|
|
|
name: integration-tests (go ${{ matrix.tag }} version)
|
|
steps:
|
|
- name: Set up Go ${{ matrix.go }}
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v4
|
|
- name: Get dependencies
|
|
run: |
|
|
go get -v -t -d ./...
|
|
if [ -f Gopkg.toml ]; then
|
|
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
|
dep ensure
|
|
fi
|
|
- name: Meilisearch setup (latest version) with Docker
|
|
run: docker run -d -p 7700:7700 getmeili/meilisearch:latest meilisearch --master-key=masterKey --no-analytics
|
|
- name: Run integration tests
|
|
run: go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
|
|
- name: Upload coverage report
|
|
uses: codecov/codecov-action@v5
|
|
env:
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|