summaryrefslogtreecommitdiffstats
path: root/.github/workflows/sql.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/sql.yml')
-rw-r--r--.github/workflows/sql.yml58
1 files changed, 58 insertions, 0 deletions
diff --git a/.github/workflows/sql.yml b/.github/workflows/sql.yml
new file mode 100644
index 0000000..c5e4304
--- /dev/null
+++ b/.github/workflows/sql.yml
@@ -0,0 +1,58 @@
+name: SQL
+
+on:
+ push:
+ branches:
+ - master
+ pull_request: {}
+
+jobs:
+ sql:
+ name: ${{ matrix.database.name }}
+ runs-on: ubuntu-latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ database:
+ - {type: MYSQL, name: MySQL 5.5, image: "icinga/icingadb-mysql:5.5"}
+ - {type: MYSQL, name: MySQL 5.6, image: "icinga/icingadb-mysql:5.6"}
+ - {type: MYSQL, name: MySQL 5.7, image: "mysql:5.7"}
+ - {type: MYSQL, name: MySQL latest, image: "mysql:latest"}
+ - {type: MYSQL, name: MariaDB 10.1, image: "mariadb:10.1"}
+ - {type: MYSQL, name: MariaDB 10.2, image: "mariadb:10.2"}
+ - {type: MYSQL, name: MariaDB 10.3, image: "mariadb:10.3"}
+ - {type: MYSQL, name: MariaDB 10.4, image: "mariadb:10.4"}
+ - {type: MYSQL, name: MariaDB 10.5, image: "mariadb:10.5"}
+ - {type: MYSQL, name: MariaDB 10.6, image: "mariadb:10.6"}
+ - {type: MYSQL, name: MariaDB 10.7, image: "mariadb:10.7"}
+ - {type: MYSQL, name: MariaDB latest, image: "mariadb:latest"}
+ - {type: PGSQL, name: PostgreSQL 9.6, image: "postgres:9.6"}
+ - {type: PGSQL, name: PostgreSQL 10, image: "postgres:10"}
+ - {type: PGSQL, name: PostgreSQL 11, image: "postgres:11"}
+ - {type: PGSQL, name: PostgreSQL 12, image: "postgres:12"}
+ - {type: PGSQL, name: PostgreSQL 13, image: "postgres:13"}
+ - {type: PGSQL, name: PostgreSQL latest, image: "postgres:latest"}
+
+ steps:
+ - name: Setup Go
+ uses: actions/setup-go@v1
+ with:
+ go-version: '^1.16'
+
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Download dependencies
+ run: go get -v -t -d ./...
+ working-directory: tests/
+
+ - name: Run tests
+ env:
+ ICINGADB_TESTS_DATABASE_TYPE: ${{ matrix.database.type }}
+ ICINGA_TESTING_${{ matrix.database.type }}_IMAGE: ${{ matrix.database.image }}
+ ICINGA_TESTING_ICINGADB_SCHEMA_MYSQL: ${{ github.workspace }}/schema/mysql/schema.sql
+ ICINGA_TESTING_ICINGADB_SCHEMA_PGSQL: ${{ github.workspace }}/schema/pgsql/schema.sql
+ timeout-minutes: 10
+ run: go test -v -timeout 5m ./sql
+ working-directory: tests/