n8n/.github/workflows/ci-postgres-mysql.yml

59 lines
1.5 KiB
YAML

name: Test Postgres and MySQL schemas
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 30
env:
DB_MYSQLDB_PASSWORD: password
DB_POSTGRESDB_PASSWORD: password
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2.2.4
- uses: actions/setup-node@v3
with:
node-version: 16.x
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Start MySQL & Postgres
uses: isbang/compose-action@v1.3.2
with:
compose-file: ./.github/docker-compose.yml
- name: Build Core & Workflow
run: pnpm --filter n8n-workflow --filter=n8n-core --filter=n8n build
- name: Test MySQL
working-directory: packages/cli
run: pnpm test:mysql
- name: Test Postgres
working-directory: packages/cli
run: pnpm test:postgres
- name: Test Postgres (alternate schema)
working-directory: packages/cli
run: pnpm test:postgres:alt-schema
- name: Notify Slack on failure
uses: act10ns/slack@v2.0.0
if: failure()
with:
status: ${{ job.status }}
channel: '#updates-build-alerts'
webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
message: Postgres or MySQL tests failed (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})