diff --git a/.drone.yml b/.drone.yml index 6ab40a39d..3a0f5f246 100644 --- a/.drone.yml +++ b/.drone.yml @@ -172,6 +172,20 @@ pipeline: when: event: [ push, tag, pull_request ] + test-mssql: + image: golang:1.10 + pull: true + group: test + environment: + TAGS: bindata + TEST_LDAP: "1" + commands: + - curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash + - apt-get install -y git-lfs + - make test-mssql + when: + event: [ push, tag, pull_request ] + generate-coverage: image: golang:1.10 pull: true @@ -342,6 +356,15 @@ services: when: event: [ push, tag, pull_request ] + mssql: + image: microsoft/mssql-server-linux:latest + environment: + - ACCEPT_EULA=Y + - SA_PASSWORD=M$wantsaSecurePassword + - MSSQL_PID=Standard + when: + event: [ push, tag, pull_request ] + ldap: image: gitea/test-openldap:latest when: diff --git a/Makefile b/Makefile index c052ebbb0..84fa016e4 100644 --- a/Makefile +++ b/Makefile @@ -38,6 +38,10 @@ TEST_PGSQL_HOST ?= pgsql:5432 TEST_PGSQL_DBNAME ?= testgitea TEST_PGSQL_USERNAME ?= postgres TEST_PGSQL_PASSWORD ?= postgres +TEST_MSSQL_HOST ?= mssql:1433 +TEST_MSSQL_DBNAME ?= testgitea +TEST_MSSQL_USERNAME ?= sa +TEST_MSSQL_PASSWORD ?= M$wantsaSecurePassword ifeq ($(OS), Windows_NT) EXECUTABLE := gitea.exe @@ -65,9 +69,9 @@ clean: $(GO) clean -i ./... rm -rf $(EXECUTABLE) $(DIST) $(BINDATA) \ integrations*.test \ - integrations/gitea-integration-pgsql/ integrations/gitea-integration-mysql/ integrations/gitea-integration-sqlite/ \ - integrations/indexers-mysql/ integrations/indexers-pgsql integrations/indexers-sqlite \ - integrations/mysql.ini integrations/pgsql.ini + integrations/gitea-integration-pgsql/ integrations/gitea-integration-mysql/ integrations/gitea-integration-sqlite/ integrations/gitea-integration-mssql/ \ + integrations/indexers-mysql/ integrations/indexers-pgsql integrations/indexers-sqlite integrations/indexers-mssql \ + integrations/mysql.ini integrations/pgsql.ini integrations/mssql.ini .PHONY: fmt fmt: @@ -192,6 +196,11 @@ generate-ini: -e 's|{{TEST_PGSQL_USERNAME}}|${TEST_PGSQL_USERNAME}|g' \ -e 's|{{TEST_PGSQL_PASSWORD}}|${TEST_PGSQL_PASSWORD}|g' \ integrations/pgsql.ini.tmpl > integrations/pgsql.ini + sed -e 's|{{TEST_MSSQL_HOST}}|${TEST_MSSQL_HOST}|g' \ + -e 's|{{TEST_MSSQL_DBNAME}}|${TEST_MSSQL_DBNAME}|g' \ + -e 's|{{TEST_MSSQL_USERNAME}}|${TEST_MSSQL_USERNAME}|g' \ + -e 's|{{TEST_MSSQL_PASSWORD}}|${TEST_MSSQL_PASSWORD}|g' \ + integrations/mssql.ini.tmpl > integrations/mssql.ini .PHONY: test-mysql test-mysql: integrations.test generate-ini @@ -201,6 +210,10 @@ test-mysql: integrations.test generate-ini test-pgsql: integrations.test generate-ini GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./integrations.test +.PHONY: test-mssql +test-mssql: integrations.test generate-ini + GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mssql.ini ./integrations.test + .PHONY: bench-sqlite bench-sqlite: integrations.sqlite.test GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .