Add test environment for Mysql8 (#5234)
This commit is contained in:
parent
b3ad5eb414
commit
4a6b011b15
4 changed files with 120 additions and 4 deletions
25
.drone.yml
25
.drone.yml
|
@ -164,6 +164,22 @@ pipeline:
|
||||||
when:
|
when:
|
||||||
event: [ tag ]
|
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:
|
test-pgsql:
|
||||||
image: golang:1.12
|
image: golang:1.12
|
||||||
pull: true
|
pull: true
|
||||||
|
@ -406,6 +422,15 @@ services:
|
||||||
when:
|
when:
|
||||||
event: [ push, tag, pull_request ]
|
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:
|
pgsql:
|
||||||
image: postgres:9.5
|
image: postgres:9.5
|
||||||
environment:
|
environment:
|
||||||
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -51,14 +51,17 @@ coverage.all
|
||||||
/log
|
/log
|
||||||
/public/img/avatar
|
/public/img/avatar
|
||||||
/integrations/gitea-integration-mysql
|
/integrations/gitea-integration-mysql
|
||||||
|
/integrations/gitea-integration-mysql8
|
||||||
/integrations/gitea-integration-pgsql
|
/integrations/gitea-integration-pgsql
|
||||||
/integrations/gitea-integration-sqlite
|
/integrations/gitea-integration-sqlite
|
||||||
/integrations/gitea-integration-mssql
|
/integrations/gitea-integration-mssql
|
||||||
/integrations/indexers-mysql
|
/integrations/indexers-mysql
|
||||||
|
/integrations/indexers-mysql8
|
||||||
/integrations/indexers-pgsql
|
/integrations/indexers-pgsql
|
||||||
/integrations/indexers-sqlite
|
/integrations/indexers-sqlite
|
||||||
/integrations/indexers-mssql
|
/integrations/indexers-mssql
|
||||||
/integrations/mysql.ini
|
/integrations/mysql.ini
|
||||||
|
/integrations/mysql8.ini
|
||||||
/integrations/pgsql.ini
|
/integrations/pgsql.ini
|
||||||
/integrations/mssql.ini
|
/integrations/mssql.ini
|
||||||
/node_modules
|
/node_modules
|
||||||
|
|
24
Makefile
24
Makefile
|
@ -52,6 +52,10 @@ TEST_MYSQL_HOST ?= mysql:3306
|
||||||
TEST_MYSQL_DBNAME ?= testgitea
|
TEST_MYSQL_DBNAME ?= testgitea
|
||||||
TEST_MYSQL_USERNAME ?= root
|
TEST_MYSQL_USERNAME ?= root
|
||||||
TEST_MYSQL_PASSWORD ?=
|
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_HOST ?= pgsql:5432
|
||||||
TEST_PGSQL_DBNAME ?= testgitea
|
TEST_PGSQL_DBNAME ?= testgitea
|
||||||
TEST_PGSQL_USERNAME ?= postgres
|
TEST_PGSQL_USERNAME ?= postgres
|
||||||
|
@ -80,9 +84,9 @@ clean:
|
||||||
$(GO) clean -i ./...
|
$(GO) clean -i ./...
|
||||||
rm -rf $(EXECUTABLE) $(DIST) $(BINDATA) \
|
rm -rf $(EXECUTABLE) $(DIST) $(BINDATA) \
|
||||||
integrations*.test \
|
integrations*.test \
|
||||||
integrations/gitea-integration-pgsql/ integrations/gitea-integration-mysql/ integrations/gitea-integration-sqlite/ integrations/gitea-integration-mssql/ \
|
integrations/gitea-integration-pgsql/ integrations/gitea-integration-mysql/ integrations/gitea-integration-mysql8/ integrations/gitea-integration-sqlite/ \
|
||||||
integrations/indexers-mysql/ integrations/indexers-pgsql integrations/indexers-sqlite integrations/indexers-mssql \
|
integrations/gitea-integration-mssql/ integrations/indexers-mysql/ integrations/indexers-mysql8/ integrations/indexers-pgsql integrations/indexers-sqlite \
|
||||||
integrations/mysql.ini integrations/pgsql.ini integrations/mssql.ini
|
integrations/indexers-mssql integrations/mysql.ini integrations/mysql8.ini integrations/pgsql.ini integrations/mssql.ini
|
||||||
|
|
||||||
.PHONY: fmt
|
.PHONY: fmt
|
||||||
fmt:
|
fmt:
|
||||||
|
@ -209,6 +213,11 @@ generate-ini:
|
||||||
-e 's|{{TEST_MYSQL_USERNAME}}|${TEST_MYSQL_USERNAME}|g' \
|
-e 's|{{TEST_MYSQL_USERNAME}}|${TEST_MYSQL_USERNAME}|g' \
|
||||||
-e 's|{{TEST_MYSQL_PASSWORD}}|${TEST_MYSQL_PASSWORD}|g' \
|
-e 's|{{TEST_MYSQL_PASSWORD}}|${TEST_MYSQL_PASSWORD}|g' \
|
||||||
integrations/mysql.ini.tmpl > integrations/mysql.ini
|
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' \
|
sed -e 's|{{TEST_PGSQL_HOST}}|${TEST_PGSQL_HOST}|g' \
|
||||||
-e 's|{{TEST_PGSQL_DBNAME}}|${TEST_PGSQL_DBNAME}|g' \
|
-e 's|{{TEST_PGSQL_DBNAME}}|${TEST_PGSQL_DBNAME}|g' \
|
||||||
-e 's|{{TEST_PGSQL_USERNAME}}|${TEST_PGSQL_USERNAME}|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
|
test-mysql-migration: migrations.test generate-ini
|
||||||
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mysql.ini ./migrations.test
|
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
|
.PHONY: test-pgsql
|
||||||
test-pgsql: integrations.test generate-ini
|
test-pgsql: integrations.test generate-ini
|
||||||
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./integrations.test
|
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
|
test-pgsql-migration: migrations.test generate-ini
|
||||||
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./migrations.test
|
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/pgsql.ini ./migrations.test
|
||||||
|
|
||||||
|
|
||||||
.PHONY: test-mssql
|
.PHONY: test-mssql
|
||||||
test-mssql: integrations.test generate-ini
|
test-mssql: integrations.test generate-ini
|
||||||
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mssql.ini ./integrations.test
|
GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mssql.ini ./integrations.test
|
||||||
|
|
72
integrations/mysql8.ini.tmpl
Normal file
72
integrations/mysql8.ini.tmpl
Normal file
|
@ -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
|
Reference in a new issue