From 29b777ecd046b1adb4b83feaafcb95f55d0f4c0e Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Wed, 20 Nov 2019 16:43:34 +0100 Subject: [PATCH 1/3] Create github action for go build --- .github/workflows/go.yml | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/go.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 00000000..4af47eb1 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,57 @@ +name: Go +on: [push] +jobs: + + build: + name: Build + runs-on: ubuntu-latest + + strategy: + matrix: + go: [ '1.11', '1.12', '1.13' ] + + services: + mysql: + image: mysql:8.0 + env: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: icingadb + MYSQL_USER: icingadb + MYSQL_PASSWORD: icingadb + ports: + - 3800:3306 + + redis: + image: redis:5 + ports: + - 6379:6379 + + steps: + - name: Set up Go ${{ matrix.go }} + uses: actions/setup-go@v1 + with: + go-version: ${{ matrix.go }} + id: go + + - name: Check out code into the Go module directory + uses: actions/checkout@v1 + + - name: Get dependencies + run: | + go get -v -t -d ./... + + - name: Go Build + run: go build -v -o icingadb . + + - name: Go Test + env: + ICINGADB_TEST_REDIS_HOST: 127.0.0.1 + ICINGADB_TEST_REDIS_PORT: 6379 + + ICINGADB_TEST_MYSQL_HOST: 127.0.0.1 + ICINGADB_TEST_MYSQL_PORT: 3800 + ICINGADB_TEST_MYSQL_DATABASE: icingadb + ICINGADB_TEST_MYSQL_USER: icingadb + ICINGADB_TEST_MYSQL_PASSWORD: icingadb + timeout-minutes: 10 + run: go test -v ./... From a8b43531c4e3119b2f68d5a6e27d7e23b6bb5575 Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Thu, 28 Nov 2019 14:31:21 +0100 Subject: [PATCH 2/3] mysql: Remove deprecated NO_AUTO_CREATE_USER This setting does no longer exist in MySQL 8.0 --- connection/mysql_utils.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connection/mysql_utils.go b/connection/mysql_utils.go index 7c1d72d5..8d34c264 100644 --- a/connection/mysql_utils.go +++ b/connection/mysql_utils.go @@ -30,7 +30,7 @@ func mkMysql(dbType string, dbDsn string, maxOpenConns int) (*sql.DB, error) { } dbDsn = dbDsn + sep + - "innodb_strict_mode=1&sql_mode='STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'" + "innodb_strict_mode=1&sql_mode='STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO'" db, errConn := sql.Open(dbType, dbDsn) if errConn != nil { From 9216aa3d956125a3d0c1078abaab9f4e853d10d1 Mon Sep 17 00:00:00 2001 From: Markus Frosch Date: Thu, 28 Nov 2019 14:35:11 +0100 Subject: [PATCH 3/3] ci: Import schema for tests --- .github/workflows/go.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 4af47eb1..0f3a18b6 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -54,4 +54,8 @@ jobs: ICINGADB_TEST_MYSQL_USER: icingadb ICINGADB_TEST_MYSQL_PASSWORD: icingadb timeout-minutes: 10 - run: go test -v ./... + run: | + mysql -h ${ICINGADB_TEST_MYSQL_HOST} -P ${ICINGADB_TEST_MYSQL_PORT} \ + -u${ICINGADB_TEST_MYSQL_USER} -p${ICINGADB_TEST_MYSQL_PASSWORD} ${ICINGADB_TEST_MYSQL_DATABASE} \ +