---

if: ${{ github.ref == 'refs/heads/master' }}
needs: [test]

defaults:
  run:
    shell: bash

container:
  image: luzifer/gh-arch-env
  env:
    CGO_ENABLED: 0
    GOPATH: /go

runs-on: ubuntu-latest

services:
  crdb:
    image: luzifer/crdb-gh-service
    options: >-
      --health-cmd "curl -sSf http://localhost:8080/health"
      --health-interval 10s
      --health-timeout 5s
      --health-retries 5

steps:
  - name: Install required packages
    run: |
      pacman -Syy --noconfirm \
        cockroachdb-bin

  - uses: actions/checkout@v4
    with:
      show-progress: false

  - name: Marking workdir safe
    run: git config --global --add safe.directory /__w/twitch-bot/twitch-bot

  - name: Set up CRDB service
    run: |
      cockroach sql --host crdb --insecure <<EOF
      CREATE DATABASE integration;
      CREATE USER "twitch_bot" WITH PASSWORD NULL;
      ALTER DATABASE integration OWNER to "twitch_bot";
      EOF

  - name: Run tests against CRDB
    env:
      GO_TEST_DB_ENGINE: postgres
      GO_TEST_DB_DSN: host=crdb user=twitch_bot dbname=integration port=26257 sslmode=disable timezone=UTC
    run: make short_test

...