| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- name: CI Workflow
- permissions: read-all
- on:
- pull_request:
- branches:
- - main
- jobs:
- unit-tests:
- name: Unit Tests
- runs-on: ${{ matrix.os }}
- strategy:
- max-parallel: 4
- matrix:
- os: [ubuntu-latest, windows-latest, macOS-latest]
- go-version: [1.18, 1.19]
- steps:
- - name: Set up Go
- uses: actions/setup-go@v3
- with:
- go-version: ${{ matrix.go-version }}
- - name: Checkout
- uses: actions/checkout@v3
- - name: Run unit tests
- run: make test
- integration-tests:
- name: Integration Tests
- runs-on: ubuntu-latest
- services:
- postgres:
- image: postgres:9.5
- env:
- POSTGRES_USER: postgres
- POSTGRES_PASSWORD: postgres
- POSTGRES_DB: postgres
- ports:
- - 5432:5432
- options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
- steps:
- - name: Set up Go
- uses: actions/setup-go@v3
- with:
- go-version: 1.19
- - name: Checkout
- uses: actions/checkout@v3
- - name: Install Postgres client
- run: sudo apt update && sudo apt install -y postgresql-client
- - name: Run integration tests
- run: make integration-test
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- PGHOST: 127.0.0.1
- PGPASSWORD: postgres
|