Run smoke tests before releasing #415
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "10 - Test: Lint and Test" | |
on: | |
push: | |
tags: | |
- v* | |
branches: | |
- main | |
- develop | |
- "v*" | |
workflow_dispatch: | |
pull_request: | |
jobs: | |
golangci: | |
name: Lint and Test | |
runs-on: ubuntu-latest | |
services: | |
# Install PostgresSQL for database testing | |
postgres: | |
image: postgres:14.11 | |
env: | |
POSTGRES_USER: flowpipe | |
POSTGRES_PASSWORD: password | |
POSTGRES_DB: flowpipe-test | |
ports: | |
- 5432:5432 | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
# Install MariaDB for database testing | |
mariadb: | |
image: mariadb:11.2.3 | |
env: | |
MARIADB_USER: flowpipe | |
MARIADB_PASSWORD: password | |
MARIADB_ROOT_PASSWORD: password | |
MARIADB_DATABASE: flowpipe-test | |
ports: | |
- 3306:3306 | |
options: >- | |
--health-cmd="healthcheck.sh --connect --innodb_initialized" | |
--health-interval=10s | |
--health-timeout=5s | |
--health-retries=3 | |
# Install MailHog for SMTP mail testing | |
mailhog: | |
image: mailhog/mailhog:v1.0.1 | |
ports: | |
- 1025:1025 | |
- 8025:8025 | |
steps: | |
- name: Checkout Flowpipe repository | |
uses: actions/checkout@v4 | |
with: | |
path: flowpipe | |
- name: Checkout Pipe Fittings Components repository | |
uses: actions/checkout@v4 | |
with: | |
ssh-key: ${{ secrets.PIPE_FITTINGS_DEPLOY_PRIVATE_KEY }} | |
repository: turbot/pipe-fittings | |
path: pipe-fittings | |
ref: v1.4.x | |
- name: Checkout Flowpipe SDK Go repository | |
uses: actions/checkout@v4 | |
with: | |
ssh-key: ${{ secrets.FLOWPIPE_GO_SDK_DEPLOY_PRIVATE_KEY }} | |
repository: turbot/flowpipe-sdk-go | |
path: flowpipe-sdk-go | |
ref: v0.4.x | |
# this is required, check golangci-lint-action docs | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.21" | |
cache: false # setup-go v4 caches by default, do not change this parameter, check golangci-lint-action doc: https://github.com/golangci/golangci-lint-action/pull/704 | |
- name: Build UI | |
run: make build-ui | |
working-directory: flowpipe | |
- name: golangci-lint | |
uses: golangci/golangci-lint-action@v3 | |
with: | |
version: v1.56.1 | |
args: --timeout=15m | |
working-directory: flowpipe | |
- name: Run tests | |
run: make test | |
working-directory: flowpipe |