| @@ -164,6 +164,22 @@ pipeline: | |||
| when: | |||
| event: [ tag ] | |||
| test-mysql8: | |||
| image: golang:1.11 | |||
| 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 | |||
| - (sleep 1200 && (echo 'kill -ABRT $(pidof gitea) $(pidof integrations.test)' | sh)) & | |||
| - make test-mysql8-migration | |||
| - make test-mysql8 | |||
| when: | |||
| event: [ push, tag, pull_request ] | |||
| test-pgsql: | |||
| image: golang:1.12 | |||
| pull: true | |||
| @@ -406,6 +422,15 @@ services: | |||
| when: | |||
| event: [ push, tag, pull_request ] | |||
| mysql8: | |||
| image: mysql:8.0 | |||
| environment: | |||
| - MYSQL_DATABASE=test | |||
| - MYSQL_ALLOW_EMPTY_PASSWORD=yes | |||
| - MYSQL_DATABASE=testgitea | |||
| when: | |||
| event: [ push, tag, pull_request ] | |||
| pgsql: | |||
| image: postgres:9.5 | |||
| environment: | |||
| @@ -51,14 +51,17 @@ coverage.all | |||
| /log | |||
| /public/img/avatar | |||
| /integrations/gitea-integration-mysql | |||
| /integrations/gitea-integration-mysql8 | |||
| /integrations/gitea-integration-pgsql | |||
| /integrations/gitea-integration-sqlite | |||
| /integrations/gitea-integration-mssql | |||
| /integrations/indexers-mysql | |||
| /integrations/indexers-mysql8 | |||
| /integrations/indexers-pgsql | |||
| /integrations/indexers-sqlite | |||
| /integrations/indexers-mssql | |||
| /integrations/mysql.ini | |||
| /integrations/mysql8.ini | |||
| /integrations/pgsql.ini | |||
| /integrations/mssql.ini | |||
| /node_modules | |||
| @@ -52,6 +52,10 @@ TEST_MYSQL_HOST ?= mysql:3306 | |||
| TEST_MYSQL_DBNAME ?= testgitea | |||
| TEST_MYSQL_USERNAME ?= root | |||
| TEST_MYSQL_PASSWORD ?= | |||
| TEST_MYSQL8_HOST ?= mysql8:3306 | |||
| TEST_MYSQL8_DBNAME ?= testgitea | |||
| TEST_MYSQL8_USERNAME ?= root | |||
| TEST_MYSQL8_PASSWORD ?= | |||
| TEST_PGSQL_HOST ?= pgsql:5432 | |||
| TEST_PGSQL_DBNAME ?= testgitea | |||
| TEST_PGSQL_USERNAME ?= postgres | |||
| @@ -80,9 +84,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/gitea-integration-mssql/ \ | |||
| integrations/indexers-mysql/ integrations/indexers-pgsql integrations/indexers-sqlite integrations/indexers-mssql \ | |||
| integrations/mysql.ini integrations/pgsql.ini integrations/mssql.ini | |||
| integrations/gitea-integration-pgsql/ integrations/gitea-integration-mysql/ integrations/gitea-integration-mysql8/ integrations/gitea-integration-sqlite/ \ | |||
| integrations/gitea-integration-mssql/ integrations/indexers-mysql/ integrations/indexers-mysql8/ integrations/indexers-pgsql integrations/indexers-sqlite \ | |||
| integrations/indexers-mssql integrations/mysql.ini integrations/mysql8.ini integrations/pgsql.ini integrations/mssql.ini | |||
| .PHONY: fmt | |||
| fmt: | |||
| @@ -209,6 +213,11 @@ generate-ini: | |||
| -e 's|{{TEST_MYSQL_USERNAME}}|${TEST_MYSQL_USERNAME}|g' \ | |||
| -e 's|{{TEST_MYSQL_PASSWORD}}|${TEST_MYSQL_PASSWORD}|g' \ | |||
| integrations/mysql.ini.tmpl > integrations/mysql.ini | |||
| sed -e 's|{{TEST_MYSQL8_HOST}}|${TEST_MYSQL8_HOST}|g' \ | |||
| -e 's|{{TEST_MYSQL8_DBNAME}}|${TEST_MYSQL8_DBNAME}|g' \ | |||
| -e 's|{{TEST_MYSQL8_USERNAME}}|${TEST_MYSQL8_USERNAME}|g' \ | |||
| -e 's|{{TEST_MYSQL8_PASSWORD}}|${TEST_MYSQL8_PASSWORD}|g' \ | |||
| integrations/mysql8.ini.tmpl > integrations/mysql8.ini | |||
| sed -e 's|{{TEST_PGSQL_HOST}}|${TEST_PGSQL_HOST}|g' \ | |||
| -e 's|{{TEST_PGSQL_DBNAME}}|${TEST_PGSQL_DBNAME}|g' \ | |||
| -e 's|{{TEST_PGSQL_USERNAME}}|${TEST_PGSQL_USERNAME}|g' \ | |||
| @@ -228,6 +237,14 @@ test-mysql: integrations.test generate-ini | |||
| test-mysql-migration: migrations.test generate-ini | |||
| GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./migrations.test | |||
| .PHONY: test-mysql8 | |||
| test-mysql8: integrations.test generate-ini | |||
| GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql8.ini ./integrations.test | |||
| .PHONY: test-mysql8-migration | |||
| test-mysql8-migration: migrations.test generate-ini | |||
| GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql8.ini ./migrations.test | |||
| .PHONY: test-pgsql | |||
| test-pgsql: integrations.test generate-ini | |||
| GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./integrations.test | |||
| @@ -236,7 +253,6 @@ test-pgsql: integrations.test generate-ini | |||
| test-pgsql-migration: migrations.test generate-ini | |||
| GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./migrations.test | |||
| .PHONY: test-mssql | |||
| test-mssql: integrations.test generate-ini | |||
| GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mssql.ini ./integrations.test | |||
| @@ -0,0 +1,72 @@ | |||
| APP_NAME = Gitea: Git with a cup of tea | |||
| RUN_MODE = prod | |||
| [database] | |||
| DB_TYPE = mysql | |||
| HOST = {{TEST_MYSQL8_HOST}} | |||
| NAME = {{TEST_MYSQL8_DBNAME}} | |||
| USER = {{TEST_MYSQL8_USERNAME}} | |||
| PASSWD = {{TEST_MYSQL8_PASSWORD}} | |||
| SSL_MODE = disable | |||
| [indexer] | |||
| ISSUE_INDEXER_PATH = integrations/indexers-mysql8/issues.bleve | |||
| REPO_INDEXER_ENABLED = true | |||
| REPO_INDEXER_PATH = integrations/indexers-mysql8/repos.bleve | |||
| [repository] | |||
| ROOT = integrations/gitea-integration-mysql8/gitea-repositories | |||
| [repository.local] | |||
| LOCAL_COPY_PATH = tmp/local-repo-mysql8 | |||
| LOCAL_WIKI_PATH = tmp/local-wiki-mysql8 | |||
| [server] | |||
| SSH_DOMAIN = localhost | |||
| HTTP_PORT = 3004 | |||
| ROOT_URL = http://localhost:3004/ | |||
| DISABLE_SSH = false | |||
| SSH_LISTEN_HOST = localhost | |||
| SSH_PORT = 2204 | |||
| START_SSH_SERVER = true | |||
| LFS_START_SERVER = true | |||
| LFS_CONTENT_PATH = data/lfs-mysql8 | |||
| OFFLINE_MODE = false | |||
| LFS_JWT_SECRET = Tv_MjmZuHqpIY6GFl12ebgkRAMt4RlWt0v4EHKSXO0w | |||
| APP_DATA_PATH = integrations/gitea-integration-mysql8/data | |||
| [mailer] | |||
| ENABLED = false | |||
| [service] | |||
| REGISTER_EMAIL_CONFIRM = false | |||
| ENABLE_NOTIFY_MAIL = false | |||
| DISABLE_REGISTRATION = false | |||
| ENABLE_CAPTCHA = false | |||
| REQUIRE_SIGNIN_VIEW = false | |||
| DEFAULT_KEEP_EMAIL_PRIVATE = false | |||
| DEFAULT_ALLOW_CREATE_ORGANIZATION = true | |||
| NO_REPLY_ADDRESS = noreply.example.org | |||
| [picture] | |||
| DISABLE_GRAVATAR = false | |||
| ENABLE_FEDERATED_AVATAR = false | |||
| [session] | |||
| PROVIDER = file | |||
| PROVIDER_CONFIG = data/sessions-mysql8 | |||
| [log] | |||
| MODE = console,file | |||
| ROOT_PATH = mysql8-log | |||
| [log.console] | |||
| LEVEL = Warn | |||
| [log.file] | |||
| LEVEL = Debug | |||
| [security] | |||
| INSTALL_LOCK = true | |||
| SECRET_KEY = 9pCviYTWSb | |||
| INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTU1NTE2MTh9.hhSVGOANkaKk3vfCd2jDOIww4pUk0xtg9JRde5UogyQ | |||