name: Run unit tests on: push: branches: [ master ] pull_request: branches: [ master ] jobs: test: name: Test runs-on: ubuntu-latest services: postgres: image: postgres:15-alpine env: POSTGRES_USER: root POSTGRES_PASSWORD: secret POSTGRES_DB: df ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - name: Set up Go 1.x uses: actions/setup-go@v4 with: go-version: ^1.21 cache: false id: go - name: Check out code into the Go module directory uses: actions/checkout@v4 - name: Install golang-migrate run: | curl -L https://github.com/golang-migrate/migrate/releases/download/v4.16.2/migrate.linux-amd64.tar.gz | tar xvz sudo mv migrate /usr/bin/migrate which migrate - name: Run migrations run: make migrateup - name: Test run: make test