Add custom image name configuration #1883
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
lint: | |
name: "[core] lint" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.58.1 | |
args: --timeout=10m | |
test-core: | |
name: "[core] gnomock, gnomockd" | |
# strategy: | |
# matrix: | |
# os: [ubuntu-latest, macos-latest] | |
# runs-on: ${{ matrix.os }} | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Install Task | |
uses: arduino/setup-task@v1 | |
with: | |
version: '3.0.0' | |
- uses: docker-practice/actions-setup-docker@master | |
if: ${{ matrix.os == 'macos-latest' }} | |
- name: Test Gnomock | |
run: task test:core:gnomock | |
- name: Test gnomockd | |
run: task test:core:gnomockd | |
- name: Test internal | |
run: task test:core:internal | |
- name: Report coverage | |
run: | | |
cat gnomock-cover.txt gnomockd-cover.txt internal-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-github-action: | |
name: "[core] github action" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Install Task | |
uses: arduino/setup-task@v1 | |
with: | |
version: '3.0.0' | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v1 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- name: Build orlangure/gnomock image | |
run: task gnomock:build:server | |
- name: Start Gnomock server | |
uses: gnomock/github-action@master | |
- name: Test Gnomock connection | |
run: curl localhost:23042/stop -d '{"id":"42"}' | |
test-service-containers: | |
name: "[core] service container" | |
runs-on: ubuntu-latest | |
services: | |
gnomock: | |
image: orlangure/gnomock:v0.20.0 | |
options: -v /var/run/docker.sock:/var/run/docker.sock | |
ports: | |
- 23042:23042 | |
steps: | |
- name: Setup postgres | |
run: | | |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/runner/.bash_profile | |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
brew install httpie | |
http --ignore-stdin -v :23042/start/postgres options[custom_named_ports][default][protocol]=tcp options[custom_named_ports][default][port]:=5432 options[custom_named_ports][default][host_port]:=15432 options[debug]:=true | |
- name: Connect 1 | |
run: PGPASSWORD=password psql -h 127.0.0.1 -U postgres -p 15432 -c "select 1;" | |
- name: Connect 2 | |
run: PGPASSWORD=password psql -h 127.0.0.1 -U postgres -p 15432 -c "select 1;" | |
- name: Connect 3 | |
run: PGPASSWORD=password psql -h 127.0.0.1 -U postgres -p 15432 -c "select 1;" | |
test-localstack: | |
name: "[preset] localstack" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/localstack/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestLocalstack | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-elastic: | |
name: "[preset] elastic" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -covermode=atomic -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/elastic/... | |
- name: Test server | |
run: go test -race -cover -covermode=atomic -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestElastic | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-memcached: | |
name: "[preset] memcached" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/memcached/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestMemcached | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-rabbitmq: | |
name: "[preset] rabbitmq" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/rabbitmq/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestRabbitMQ | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-kafka: | |
name: "[preset] kafka" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/kafka/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestKafka | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-postgres: | |
name: "[preset] postgres" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/postgres/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestPostgres | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-mariadb: | |
name: "[preset] mariadb" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/mariadb/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestMariaDB | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-splunk: | |
name: "[preset] splunk" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/splunk/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestSplunk | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-redis: | |
name: "[preset] redis" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/redis/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestRedis | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-mysql: | |
name: "[preset] mysql" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/mysql/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestMySQL | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-mssql: | |
name: "[preset] mssql" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/mssql/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestMSSQL | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-mongo: | |
name: "[preset] mongo" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/mongo/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestMongo | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-k3s: | |
name: "[preset] k3s" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/k3s/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestK3s | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-cockroachdb: | |
name: "[preset] cockroachdb" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/cockroachdb/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestCockroachDB | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-influxdb: | |
name: "[preset] influxdb" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/influxdb/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestInfluxDB | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-cassandra: | |
name: "[preset] cassandra" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/cassandra/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestCassandra | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-azurite: | |
name: "[preset] azurite" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/azurite/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestAzurite | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
test-vault: | |
name: "[preset] vault" | |
runs-on: ubuntu-latest | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- name: Set up Go 1.21 | |
uses: actions/setup-go@v1 | |
with: | |
go-version: 1.21 | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v1 | |
- name: Get dependencies | |
run: go get -v -t -d ./... | |
- name: Test preset | |
run: go test -race -cover -coverprofile=preset-cover.txt -coverpkg=./... -v ./preset/vault/... | |
- name: Test server | |
run: go test -race -cover -coverprofile=server-cover.txt -coverpkg=./... -v ./internal/gnomockd -run TestVault | |
- name: Report coverage | |
run: | | |
cat preset-cover.txt server-cover.txt > coverage.txt | |
bash <(curl -s https://codecov.io/bash) | |
### preset tests go here |