| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- name: Tests
- permissions: read-all
- on:
- pull_request:
- branches:
- - main
- workflow_dispatch:
- 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.23.x"]
- steps:
- - name: Set up Go
- uses: actions/setup-go@v5
- with:
- go-version: ${{ matrix.go-version }}
- - name: Checkout
- uses: actions/checkout@v4
- - 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@v5
- with:
- go-version: "1.23.x"
- - name: Checkout
- uses: actions/checkout@v4
- - 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
|