Enable `SQLITE_JOURNAL_MODE = WAL` for the sqlite integration test config. With modernc as the default driver, concurrent writers serialize on SQLite's single write lock and the tail of the queue can exceed the 20s busy timeout under CI load. WAL drains the queue fast enough to stay inside the timeout (removes rollback's fsync-per-commit and reader-vs-commit blocking) and covers all sqlite integration tests in one change. --- This PR was written with the help of Claude Opus 4.7 --------- Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Giteabot <teabot@gitea.io>
111 lines
3.0 KiB
Handlebars
111 lines
3.0 KiB
Handlebars
WORK_PATH = {{TEST_WORK_PATH}}
|
|
APP_NAME = Gitea: Git with a cup of tea
|
|
RUN_MODE = prod
|
|
|
|
[database]
|
|
DB_TYPE = sqlite3
|
|
PATH = gitea-test.db
|
|
SQLITE_JOURNAL_MODE = WAL
|
|
|
|
[indexer]
|
|
REPO_INDEXER_ENABLED = true
|
|
|
|
[queue.issue_indexer]
|
|
TYPE = level
|
|
|
|
[queue]
|
|
TYPE = immediate
|
|
|
|
[queue.code_indexer]
|
|
TYPE = immediate
|
|
|
|
[queue.push_update]
|
|
TYPE = immediate
|
|
|
|
[queue.webhook_sender]
|
|
TYPE = immediate
|
|
|
|
[repository.signing]
|
|
SIGNING_KEY = none
|
|
|
|
[server]
|
|
SSH_DOMAIN = localhost
|
|
HTTP_PORT = 3003
|
|
ROOT_URL = http://localhost:3003/
|
|
LOCAL_ROOT_URL = http://127.0.0.1:3003/
|
|
DISABLE_SSH = false
|
|
SSH_LISTEN_HOST = localhost
|
|
SSH_PORT = 2203
|
|
START_SSH_SERVER = true
|
|
LFS_START_SERVER = true
|
|
LFS_JWT_SECRET = Tv_MjmZuHqpIY6GFl12ebgkRAMt4RlWt0v4EHKSXO0w
|
|
ENABLE_GZIP = true
|
|
BUILTIN_SSH_SERVER_USER = git
|
|
SSH_TRUSTED_USER_CA_KEYS = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCb4DC1dMFnJ6pXWo7GMxTchtzmJHYzfN6sZ9FAPFR4ijMLfGki+olvOMO5Fql1/yGnGfbELQa1S6y4shSvj/5K+zUFScmEXYf3Gcr87RqilLkyk16RS+cHNB1u87xTHbETaa3nyCJeGQRpd4IQ4NKob745mwDZ7jQBH8AZEng50Oh8y8fi8skBBBzaYp1ilgvzG740L7uex6fHV62myq0SXeCa+oJUjq326FU8y+Vsa32H8A3e7tOgXZPdt2TVNltx2S9H2WO8RMi7LfaSwARNfy1zu+bfR50r6ef8Yx5YKCMz4wWb1SHU1GS800mjOjlInLQORYRNMlSwR1+vLlVDciOqFapDSbj+YOVOawR0R1aqlSKpZkt33DuOBPx9qe6CVnIi7Z+Px/KqM+OLCzlLY/RS+LbxQpDWcfTVRiP+S5qRTcE3M3UioN/e0BE/1+MpX90IGpvVkA63ILYbKEa4bM3ASL7ChTCr6xN5XT+GpVJveFKK1cfNx9ExHI4rzYE=
|
|
|
|
[mailer]
|
|
ENABLED = true
|
|
PROTOCOL = dummy
|
|
FROM = sqlite-integration-test@gitea.io
|
|
|
|
[service]
|
|
REGISTER_EMAIL_CONFIRM = false
|
|
REGISTER_MANUAL_CONFIRM = false
|
|
ENABLE_NOTIFY_MAIL = true
|
|
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
|
|
|
|
[session]
|
|
PROVIDER = file
|
|
|
|
[log]
|
|
MODE = {{TEST_LOGGER}}
|
|
ENABLE_SSH_LOG = true
|
|
logger.xorm.MODE = file
|
|
|
|
[log.test]
|
|
LEVEL = Info
|
|
COLORIZE = true
|
|
|
|
[log.file]
|
|
LEVEL = Debug
|
|
|
|
[security]
|
|
INSTALL_LOCK = true
|
|
SECRET_KEY = 9pCviYTWSb
|
|
INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE0OTI3OTU5ODN9.OQkH5UmzID2XBdwQ9TAI6Jj2t1X-wElVTjbE7aoN4I8
|
|
DISABLE_QUERY_AUTH_TOKEN = true
|
|
|
|
[oauth2]
|
|
JWT_SECRET = KZb_QLUd4fYVyxetjxC4eZkrBgWM2SndOOWDNtgUUko
|
|
|
|
[packages]
|
|
ENABLED = true
|
|
|
|
[markup.html]
|
|
ENABLED = true
|
|
FILE_EXTENSIONS = .html
|
|
RENDER_COMMAND = go run {{GITEA_TEST_ROOT}}/tools/test-echo.go
|
|
;RENDER_COMMAND = cat
|
|
;IS_INPUT_FILE = true
|
|
RENDER_CONTENT_MODE = sanitized
|
|
|
|
[markup.no-sanitizer]
|
|
ENABLED = true
|
|
FILE_EXTENSIONS = .no-sanitizer
|
|
RENDER_COMMAND = go run {{GITEA_TEST_ROOT}}/tools/test-echo.go
|
|
; This test case is reused, at first it is used to test "no-sanitizer" (sandbox doesn't take effect here)
|
|
; Then it will be updated and used to test "iframe + sandbox-disabled"
|
|
RENDER_CONTENT_MODE = no-sanitizer
|
|
RENDER_CONTENT_SANDBOX = disabled
|
|
|
|
[actions]
|
|
ENABLED = true
|
|
|
|
[webhook]
|
|
ALLOWED_HOST_LIST = 127.0.0.1
|