| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- name: CI Workflow
- on:
- pull_request:
- branches:
- - master
- jobs:
- linters:
- name: Linter Check
- runs-on: ubuntu-latest
- steps:
- - name: Set up Go
- uses: actions/setup-go@v1
- with:
- go-version: 1.15
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Checkout
- uses: actions/checkout@v1
- with:
- fetch-depth: 3
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Install linters
- run: |
- cd /tmp && go get -u golang.org/x/lint/golint
- sudo npm install -g jshint
- env:
- GO111MODULE: off
- - name: Run golint
- run: |
- export PATH=/home/runner/go/bin:$PATH
- make lint
- - name: Run jshint
- run: jshint ui/static/js/*.js
- unit-tests:
- name: Unit Tests
- runs-on: ${{ matrix.os }}
- strategy:
- max-parallel: 4
- matrix:
- os: [ubuntu-latest, windows-latest, macOS-latest]
- go-version: [1.14, 1.15]
- steps:
- - name: Set up Go
- uses: actions/setup-go@v1
- with:
- go-version: ${{ matrix.go-version }}
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Checkout
- uses: actions/checkout@v1
- with:
- fetch-depth: 3
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - 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@v1
- with:
- go-version: 1.15
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Checkout
- uses: actions/checkout@v1
- with:
- fetch-depth: 3
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Install Postgres client
- run: sudo apt-get 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
|