name: Integration tests on: push: tags-ignore: - '**' pull_request: branches: - '**' jobs: run: strategy: matrix: db: [cockroach, postgres] runs-on: ubuntu-20.04 env: DOCKER_BUILDKIT: 1 INTEGRATION_DB_FLAVOR: ${{ matrix.db }} ZITADEL_MASTERKEY: MasterkeyNeedsToHave32Characters steps: - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.19 - name: Source checkout uses: actions/checkout@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: driver: docker install: true - name: Generate gRPC definitions run: docker build -f build/grpc/Dockerfile -t zitadel-base:local . - name: Copy gRPC definitions run: docker build -f build/zitadel/Dockerfile . -t zitadel-go-base --target go-copy -o . - name: Download Go modules run: go mod download - name: Start ${{ matrix.db }} database run: docker compose -f internal/integration/config/docker-compose.yaml up --wait ${INTEGRATION_DB_FLAVOR} - name: Run zitadel init and setup run: | go run main.go init --config internal/integration/config/zitadel.yaml --config internal/integration/config/${INTEGRATION_DB_FLAVOR}.yaml go run main.go setup --masterkeyFromEnv --config internal/integration/config/zitadel.yaml --config internal/integration/config/${INTEGRATION_DB_FLAVOR}.yaml - name: Run integration tests run: go test -tags=integration -race -p 1 -v -coverprofile=profile.cov -coverpkg=./internal/...,./cmd/... ./internal/integration ./internal/api/grpc/... - name: Publish go coverage uses: codecov/codecov-action@v3.1.0 with: file: profile.cov name: integration-tests