From 54e9ee37a7a301dbe74d46fd3c87712e6120e9bf Mon Sep 17 00:00:00 2001
From: 6543 <6543@obermui.de>
Date: Thu, 20 Jan 2022 18:46:10 +0100
Subject: [PATCH] format with gofumpt (#18184)

* gofumpt -w -l .

* gofumpt -w -l -extra .

* Add linter

* manual fix

* change make fmt
---
 .golangci.yml                                 |   4 +
 Makefile                                      |   6 +-
 build/code-batch-process.go                   |   2 +-
 build/codeformat/formatimports.go             |  16 ++-
 build/generate-bindata.go                     |   5 +-
 build/generate-emoji.go                       |  12 +-
 build/generate-gitignores.go                  |   5 +-
 build/generate-licenses.go                    |   3 -
 build/gocovmerge.go                           |   2 +-
 cmd/admin.go                                  |  10 +-
 cmd/admin_auth_ldap_test.go                   |  17 ++-
 cmd/cert.go                                   |   2 +-
 cmd/doctor.go                                 |   1 -
 cmd/dump.go                                   |   2 +-
 cmd/dump_repo.go                              |   2 +-
 cmd/embedded.go                               |  13 +-
 cmd/manager.go                                |   3 +-
 cmd/serv.go                                   |   2 +-
 cmd/web.go                                    |   3 +-
 cmd/web_letsencrypt.go                        |   3 +-
 contrib/fixtures/fixture_generation.go        |   2 +-
 contrib/pr/checkout.go                        |  35 +++---
 integrations/api_admin_org_test.go            |   6 +-
 integrations/api_branch_test.go               |   1 -
 integrations/api_comment_test.go              |   6 +-
 integrations/api_gpg_keys_test.go             |  30 ++---
 integrations/api_issue_label_test.go          |  18 ++-
 integrations/api_issue_reaction_test.go       |  20 ++--
 integrations/api_issue_subscription_test.go   |   1 -
 integrations/api_issue_test.go                |   2 +-
 integrations/api_issue_tracked_time_test.go   |  10 +-
 integrations/api_notification_test.go         |   6 +-
 integrations/api_org_test.go                  |   8 +-
 integrations/api_private_serv_test.go         |   2 -
 integrations/api_pull_review_test.go          |  56 ++++-----
 integrations/api_repo_edit_test.go            |   6 +-
 integrations/api_repo_git_commits_test.go     |   1 -
 integrations/api_repo_lfs_locks_test.go       |  14 +--
 integrations/api_repo_test.go                 | 113 +++++++++++-------
 integrations/api_repo_topic_test.go           |   1 -
 integrations/api_user_heatmap_test.go         |   2 +-
 integrations/api_user_orgs_test.go            |   2 +-
 integrations/attachment_test.go               |   8 +-
 integrations/benchmarks_test.go               |   2 +-
 integrations/cmd_keys_test.go                 |   7 +-
 integrations/dump_restore_test.go             |   6 +-
 integrations/editor_test.go                   |   1 -
 integrations/eventsource_test.go              |   2 +-
 .../git_helper_for_declarative_test.go        |  11 +-
 integrations/git_smart_http_test.go           |   2 +-
 integrations/git_test.go                      |  23 ++--
 integrations/gpg_git_test.go                  |   4 +-
 integrations/integration_test.go              |  18 +--
 integrations/issue_test.go                    |  20 ++--
 integrations/lfs_local_endpoint_test.go       |   4 +-
 integrations/links_test.go                    |  10 +-
 integrations/migration-test/migration_test.go |   9 +-
 integrations/nonascii_branches_test.go        |   1 -
 integrations/privateactivity_test.go          |   6 +-
 integrations/pull_merge_test.go               |   8 +-
 integrations/pull_update_test.go              |  18 +--
 integrations/repo_activity_test.go            |   1 -
 integrations/repo_commits_test.go             |   4 +-
 integrations/repofiles_update_test.go         |   2 +-
 integrations/setting_test.go                  |   1 -
 integrations/ssh_key_test.go                  |   4 +-
 integrations/testlogger.go                    |   2 +-
 integrations/timetracking_test.go             |   5 +-
 integrations/user_avatar_test.go              |   2 +-
 integrations/user_test.go                     |  10 +-
 main.go                                       |   2 +-
 models/auth/webauthn.go                       |  14 +--
 models/avatars/avatar.go                      |   4 +-
 models/consistency.go                         |   1 -
 models/db/engine.go                           |   2 +-
 models/issue_test.go                          |   1 -
 models/issues/content_history.go              |   1 -
 models/lfs.go                                 |   2 +-
 models/migrate_test.go                        |   6 +-
 models/migrations/migrations_test.go          |   8 +-
 models/migrations/testlogger_test.go          |   2 +-
 models/migrations/v176_test.go                |   1 -
 models/migrations/v177_test.go                |   1 -
 models/migrations/v181_test.go                |   2 +-
 models/migrations/v182_test.go                |   4 +-
 models/migrations/v189_test.go                |   2 -
 models/migrations/v191.go                     |   1 -
 models/migrations/v195_test.go                |   4 +-
 models/migrations/v207.go                     |   1 -
 models/migrations/v208.go                     |   1 -
 models/repo.go                                |   8 +-
 models/repo/archiver.go                       |   4 +-
 models/repo/attachment.go                     |   2 +-
 models/repo/mirror.go                         |   6 +-
 models/repo/pushmirror.go                     |   6 +-
 models/review_test.go                         |   1 -
 models/unittest/testdb.go                     |  16 +--
 models/user/email_address.go                  |   6 +-
 modules/activitypub/keypair_test.go           |   1 -
 modules/appstate/db.go                        |   3 +-
 modules/auth/openid/discovery_cache_test.go   |   4 +-
 modules/auth/openid/openid.go                 |   6 +-
 modules/auth/pam/pam.go                       |   1 -
 modules/auth/webauthn/webauthn.go             |  14 +--
 modules/avatar/avatar_test.go                 |   1 +
 modules/base/tool.go                          |   2 +-
 modules/cache/cache.go                        |   4 +-
 modules/cache/cache_test.go                   |   1 +
 modules/charset/charset.go                    |   2 +-
 modules/charset/charset_test.go               |  96 ++++++++++-----
 modules/context/api.go                        |  21 ++--
 modules/context/api_test.go                   |   2 +-
 modules/context/captcha.go                    |   6 +-
 modules/context/context.go                    |  14 +--
 modules/context/csrf.go                       |   4 +-
 modules/context/private.go                    |   4 +-
 modules/context/repo.go                       |   1 -
 modules/context/response.go                   |   4 +-
 modules/convert/notification.go               |   6 +-
 modules/convert/pull_test.go                  |   4 +-
 modules/convert/repository.go                 |   2 +-
 modules/convert/status.go                     |   1 -
 modules/csv/csv.go                            |   8 +-
 modules/csv/csv_test.go                       |  12 +-
 modules/doctor/fix16961.go                    |   1 -
 modules/doctor/misc.go                        |   1 -
 modules/doctor/paths.go                       |   2 +-
 modules/emoji/emoji.go                        |   3 -
 modules/git/command_test.go                   |   2 -
 modules/git/commit.go                         |   2 +-
 modules/git/commit_info_gogit.go              |   2 +-
 modules/git/commit_info_nogogit.go            |   2 +-
 modules/git/commit_info_test.go               |   6 +-
 modules/git/commit_test.go                    |   1 -
 modules/git/git.go                            |   4 +-
 modules/git/hook.go                           |   8 +-
 modules/git/last_commit_cache_gogit.go        |   1 -
 modules/git/lfs.go                            |   4 +-
 modules/git/parse_nogogit_test.go             |   1 -
 modules/git/repo.go                           |   4 +-
 modules/git/repo_attribute.go                 |   2 +-
 modules/git/repo_attribute_test.go            |   4 +-
 modules/git/repo_commit.go                    |   1 -
 modules/git/repo_commit_test.go               |   6 +-
 modules/git/repo_language_stats.go            |   6 +-
 modules/git/repo_object.go                    |   1 -
 modules/git/repo_tag.go                       |   2 +-
 modules/git/submodule_test.go                 |   2 +-
 modules/git/tag.go                            |   6 +-
 modules/git/tree_blob_gogit.go                |   2 +-
 modules/git/tree_entry_mode.go                |  10 +-
 modules/gitgraph/graph_test.go                |   2 -
 modules/gitgraph/parser.go                    |   1 -
 modules/graceful/manager.go                   |   1 +
 modules/highlight/highlight.go                |   6 +-
 modules/httpcache/httpcache_test.go           |   3 +-
 modules/indexer/code/bleve.go                 |  12 +-
 modules/indexer/code/elastic_search.go        |  10 +-
 modules/indexer/code/git.go                   |   2 +-
 modules/indexer/code/indexer.go               |   4 +-
 modules/indexer/code/indexer_test.go          |  78 ++++++------
 modules/indexer/code/wrapped.go               |   5 +-
 modules/indexer/issues/bleve.go               |   6 +-
 modules/indexer/issues/bleve_test.go          |  62 +++++-----
 modules/indexer/issues/db.go                  |   5 +-
 modules/indexer/issues/elastic_search.go      |   8 +-
 modules/indexer/issues/indexer_test.go        |   1 -
 modules/indexer/stats/db.go                   |   3 +-
 modules/lfs/endpoint_test.go                  |   2 +-
 modules/lfs/http_client_test.go               |   7 +-
 modules/lfs/pointer_scanner_gogit.go          |   1 -
 modules/log/colors.go                         |  11 +-
 modules/log/conn_test.go                      |   3 +-
 modules/log/file.go                           |   7 +-
 modules/log/file_test.go                      |  15 ++-
 modules/log/log_test.go                       |   1 -
 modules/log/logger.go                         |   1 -
 modules/log/stack.go                          |   4 +-
 modules/log/writer.go                         |   2 +-
 modules/markup/common/footnote.go             |  11 +-
 modules/markup/common/html.go                 |  14 +--
 modules/markup/common/linkify.go              |  18 +--
 modules/markup/csv/csv.go                     |   5 +-
 modules/markup/csv/csv_test.go                |   2 +-
 modules/markup/html.go                        |  10 +-
 modules/markup/html_internal_test.go          |   8 +-
 modules/markup/html_test.go                   |  30 ++---
 modules/markup/markdown/goldmark.go           |   2 +-
 modules/markup/markdown/markdown.go           |  21 ++--
 modules/markup/markdown/markdown_test.go      |   9 +-
 modules/markup/mdstripper/mdstripper.go       |   6 +-
 modules/markup/mdstripper/mdstripper_test.go  |   3 +-
 modules/markup/orgmode/orgmode.go             |   3 +-
 modules/markup/orgmode/orgmode_test.go        |   8 +-
 modules/markup/sanitizer.go                   |   3 +-
 modules/markup/sanitizer_test.go              |   1 -
 modules/metrics/collector.go                  |   1 -
 modules/migration/null_downloader.go          |   7 +-
 modules/migration/retry_downloader.go         |   4 +-
 modules/nosql/redis.go                        |   1 -
 modules/notification/action/action.go         |   6 +-
 modules/notification/base/notifier.go         |  14 +--
 modules/notification/base/null.go             |   9 +-
 modules/notification/indexer/indexer.go       |   4 +-
 modules/notification/mail/mail.go             |   4 +-
 modules/notification/notification.go          |   6 +-
 modules/notification/ui/ui.go                 |  20 ++--
 modules/notification/webhook/webhook.go       |   7 +-
 modules/options/dynamic.go                    |  10 +-
 modules/options/static.go                     |  14 +--
 modules/private/mail.go                       |   2 +-
 modules/private/manager.go                    |   1 -
 modules/private/restore_repo.go               |   2 +-
 modules/private/serv.go                       |   1 -
 modules/process/manager.go                    |   1 -
 modules/process/manager_test.go               |   2 -
 modules/public/public.go                      |   4 +-
 modules/public/public_test.go                 |   2 +-
 modules/public/static.go                      |   2 +-
 modules/queue/manager.go                      |   6 +-
 modules/queue/queue.go                        |   5 +-
 modules/queue/queue_bytefifo.go               |   8 +-
 modules/queue/queue_disk_channel.go           |   1 -
 modules/queue/queue_disk_channel_test.go      |   1 -
 modules/queue/queue_wrapped.go                |   2 +-
 modules/queue/unique_queue_disk_channel.go    |   1 -
 modules/queue/workerpool.go                   |   2 +-
 modules/references/references.go              |   1 -
 modules/references/references_test.go         |   1 -
 modules/repository/generate.go                |   4 +-
 modules/repository/hooks.go                   |  10 +-
 modules/repository/init.go                    |   6 +-
 modules/repository/repo.go                    |   4 +-
 modules/session/db.go                         |   1 -
 modules/setting/attachment.go                 |  34 +++---
 modules/setting/cache.go                      |  50 ++++----
 modules/setting/cors.go                       |  32 +++--
 modules/setting/cron_test.go                  |   2 -
 modules/setting/database.go                   |   2 +-
 modules/setting/git.go                        | 110 +++++++++--------
 modules/setting/indexer.go                    |  60 +++++-----
 modules/setting/indexer_test.go               |   1 -
 modules/setting/lfs.go                        |   2 +-
 modules/setting/log.go                        |  10 +-
 modules/setting/mailer.go                     |   6 +-
 modules/setting/markup.go                     |   2 +-
 modules/setting/migrations.go                 |  26 ++--
 modules/setting/mime_type_map.go              |  18 ++-
 modules/setting/mirror.go                     |  30 +++--
 modules/setting/proxy.go                      |  24 ++--
 modules/setting/session.go                    |  52 ++++----
 modules/setting/setting.go                    |  11 +-
 modules/setting/webhook.go                    |  40 +++----
 modules/ssh/ssh.go                            |   5 +-
 modules/ssh/ssh_graceful.go                   |   1 -
 modules/storage/local.go                      |   4 +-
 modules/storage/minio.go                      |   4 +-
 modules/storage/storage.go                    |   6 +-
 modules/structs/hook.go                       |   6 +-
 modules/structs/repo.go                       |  24 ++--
 modules/templates/base.go                     |   2 +-
 modules/templates/dynamic.go                  |   2 -
 modules/templates/helper.go                   |  16 +--
 modules/templates/static.go                   |   6 +-
 modules/test/context_tests.go                 |   9 +-
 modules/timeutil/executable.go                |   6 +-
 modules/timeutil/language.go                  |  12 +-
 modules/typesniffer/typesniffer.go            |   6 +-
 modules/updatechecker/update_checker.go       |   1 -
 modules/util/paginate_test.go                 |   2 +-
 modules/util/path_test.go                     |   2 +-
 modules/util/sanitize.go                      |   6 +-
 modules/util/sanitize_test.go                 |   6 +-
 modules/util/shellquote.go                    |   8 +-
 modules/util/truncate.go                      |   6 +-
 modules/util/util_test.go                     |   1 -
 modules/validation/binding.go                 |  11 +-
 modules/web/middleware/flash.go               |   6 +-
 modules/web/middleware/locale.go              |   2 +-
 modules/web/route.go                          |  34 +++---
 modules/web/routing/context.go                |   5 +-
 modules/web/routing/funcinfo.go               |   8 +-
 modules/web/routing/logger_manager.go         |   6 +-
 modules/web/wrap_convert.go                   |   2 +-
 routers/api/v1/admin/org.go                   |   2 +-
 routers/api/v1/admin/user.go                  |   2 +-
 routers/api/v1/api.go                         |  12 +-
 routers/api/v1/misc/markdown_test.go          |  10 +-
 routers/api/v1/org/hook.go                    |   4 +-
 routers/api/v1/org/org.go                     |   4 +-
 routers/api/v1/repo/branch.go                 |   6 -
 routers/api/v1/repo/fork.go                   |   2 +-
 routers/api/v1/repo/issue.go                  |   2 +-
 routers/api/v1/repo/issue_reaction.go         |   4 +-
 routers/api/v1/repo/issue_subscription.go     |   4 +-
 routers/api/v1/repo/issue_tracked_time.go     |   4 +-
 routers/api/v1/repo/migrate.go                |   4 +-
 routers/api/v1/repo/milestone.go              |   2 +-
 routers/api/v1/repo/pull.go                   |   1 -
 routers/api/v1/repo/release_attachment.go     |   2 +-
 routers/api/v1/repo/repo.go                   |   6 +-
 routers/api/v1/repo/repo_test.go              |   4 +-
 routers/api/v1/repo/status.go                 |   2 +-
 routers/api/v1/repo/wiki.go                   |   5 +-
 routers/api/v1/user/gpg_key.go                |  10 +-
 routers/api/v1/user/watch.go                  |   1 -
 routers/api/v1/utils/git.go                   |   4 +-
 routers/common/middleware.go                  |   2 +-
 routers/install/install.go                    |   8 +-
 routers/install/routes.go                     |   4 +-
 routers/private/internal.go                   |   6 +-
 routers/private/manager_unix.go               |   1 -
 routers/private/restore_repo.go               |   2 +-
 routers/web/admin/admin.go                    |   2 +-
 routers/web/admin/admin_test.go               |   2 +-
 routers/web/admin/emails.go                   |   5 +-
 routers/web/admin/users_test.go               |   1 -
 routers/web/auth/auth.go                      |   6 +-
 routers/web/auth/linkaccount.go               |   4 +-
 routers/web/auth/oauth.go                     |   1 -
 routers/web/auth/openid.go                    |   4 +-
 routers/web/auth/webauthn.go                  |   2 +-
 routers/web/base.go                           |  10 +-
 routers/web/explore/code.go                   |   4 +-
 routers/web/explore/user.go                   |   4 +-
 routers/web/org/home.go                       |   2 +-
 routers/web/org/members.go                    |   2 +-
 routers/web/org/setting.go                    |   3 +-
 routers/web/repo/attachment.go                |  10 +-
 routers/web/repo/blame.go                     |   6 +-
 routers/web/repo/branch.go                    |   2 +-
 routers/web/repo/compare.go                   |   9 +-
 routers/web/repo/download.go                  |   2 +-
 routers/web/repo/editor_test.go               |   2 +-
 routers/web/repo/http.go                      |   5 +-
 routers/web/repo/issue.go                     |  32 +++--
 routers/web/repo/issue_content_history.go     |   8 +-
 routers/web/repo/issue_lock.go                |   1 -
 routers/web/repo/issue_test.go                |   4 +-
 routers/web/repo/lfs.go                       |   4 +-
 routers/web/repo/migrate.go                   |   2 +-
 routers/web/repo/projects.go                  |   1 -
 routers/web/repo/pull.go                      |  23 ++--
 routers/web/repo/release.go                   |   2 +-
 routers/web/repo/repo.go                      |   6 +-
 routers/web/repo/settings_test.go             |   5 -
 routers/web/repo/topic.go                     |   4 +-
 routers/web/repo/view.go                      |   7 +-
 routers/web/repo/wiki.go                      |   8 +-
 routers/web/repo/wiki_test.go                 |   6 +-
 routers/web/user/home.go                      |  18 ++-
 routers/web/user/profile.go                   |   3 +-
 routers/web/user/setting/account_test.go      |   6 +-
 routers/web/user/setting/keys.go              |   1 -
 routers/web/user/setting/profile.go           |   1 -
 routers/web/web.go                            |   9 +-
 services/auth/auth.go                         |   6 +-
 services/auth/auth_test.go                    |   1 -
 services/auth/basic.go                        |   3 +-
 services/auth/oauth2.go                       |   3 +-
 services/auth/reverseproxy.go                 |   3 +-
 services/auth/session.go                      |   3 +-
 services/auth/source/ldap/source_sync.go      |   1 -
 services/auth/source/oauth2/jwtsigningkey.go  |   2 +-
 services/auth/source/oauth2/providers.go      |   6 +-
 .../auth/source/oauth2/providers_openid.go    |   3 +-
 .../auth/source/oauth2/providers_simple.go    |   1 -
 services/auth/source/oauth2/source_callout.go |   2 +-
 services/auth/source/smtp/auth.go             |   6 +-
 services/comments/comments.go                 |   2 +-
 services/cron/cron.go                         |   1 -
 services/cron/tasks.go                        |  10 +-
 services/forms/repo_form_test.go              |   2 -
 services/gitdiff/csv.go                       |  10 +-
 services/gitdiff/csv_test.go                  |  11 +-
 services/gitdiff/gitdiff.go                   |  20 ++--
 services/gitdiff/gitdiff_test.go              |   9 +-
 services/issue/issue.go                       |   4 +-
 services/issue/label_test.go                  |   4 +-
 services/lfs/locks.go                         |   6 +-
 services/lfs/server.go                        |   2 +-
 services/mailer/mail_issue.go                 |   1 -
 services/mailer/mail_test.go                  |  48 +++++---
 services/mailer/mailer.go                     |  10 +-
 services/migrations/codebase.go               |  12 +-
 services/migrations/dump.go                   |  12 +-
 services/migrations/error.go                  |   6 +-
 services/migrations/git.go                    |   4 +-
 services/migrations/gitbucket.go              |   3 +-
 services/migrations/gitea_downloader.go       |  21 ++--
 services/migrations/gitea_uploader.go         |  42 ++++---
 services/migrations/github.go                 |  44 +++----
 services/migrations/gitlab.go                 |  45 ++++---
 services/migrations/gogs.go                   |  21 ++--
 services/migrations/migrate.go                |  12 +-
 services/migrations/onedev.go                 |   9 +-
 services/migrations/restore.go                |  18 +--
 services/mirror/mirror_pull.go                |   4 +-
 services/pull/commit_status.go                |   2 +-
 services/pull/merge.go                        |   4 +-
 services/pull/review.go                       |   1 -
 services/pull/temp_repo.go                    |   2 +-
 services/pull/update.go                       |   2 +-
 services/release/release.go                   |   4 +-
 services/release/release_test.go              |   2 +-
 services/repository/adopt.go                  |   3 +-
 services/repository/adopt_test.go             |   2 +-
 services/repository/archiver/archiver.go      |   2 +-
 services/repository/archiver/archiver_test.go |   2 +-
 services/repository/push.go                   |   2 +-
 services/task/task.go                         |   2 +-
 services/webhook/deliver.go                   |   3 +-
 services/webhook/deliver_test.go              |   2 +-
 services/webhook/dingtalk.go                  |   5 +-
 services/webhook/discord.go                   |   4 +-
 services/webhook/feishu.go                    |   6 +-
 services/webhook/matrix.go                    |   4 +-
 services/webhook/msteams.go                   |   4 +-
 services/webhook/slack.go                     |   4 +-
 services/webhook/telegram.go                  |   4 +-
 services/webhook/webhook.go                   |  70 ++++++-----
 services/webhook/wechatwork.go                |  11 +-
 tools/fuzz.go                                 |  18 ++-
 423 files changed, 1585 insertions(+), 1758 deletions(-)

diff --git a/.golangci.yml b/.golangci.yml
index 235bb76715b..9bba34a10cd 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -17,6 +17,7 @@ linters:
     - bidichk
     - ineffassign
     - revive
+    - gofumpt
   enable-all: false
   disable-all: true
   fast: false
@@ -57,6 +58,9 @@ linters-settings:
       - name: errorf
       - name: duplicated-imports
       - name: modifies-value-receiver
+  gofumpt:
+    extra-rules: true
+    lang-version: 1.16
 
 issues:
   exclude-rules:
diff --git a/Makefile b/Makefile
index 342366492c7..d12f83d98b4 100644
--- a/Makefile
+++ b/Makefile
@@ -231,8 +231,10 @@ clean:
 
 .PHONY: fmt
 fmt:
-	@echo "Running gitea-fmt(with gofmt)..."
-	@$(GO) run build/code-batch-process.go gitea-fmt -s -w '{file-list}'
+	@hash xgogofumpt > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+		$(GO) install mvdan.cc/gofumpt@latest; \
+	fi
+	gofumpt -w -l -extra -lang 1.16 .
 
 .PHONY: vet
 vet:
diff --git a/build/code-batch-process.go b/build/code-batch-process.go
index 1fd236abd58..02f54b9c0af 100644
--- a/build/code-batch-process.go
+++ b/build/code-batch-process.go
@@ -136,7 +136,7 @@ func (fc *fileCollector) collectFiles() (res [][]string, err error) {
 }
 
 // substArgFiles expands the {file-list} to a real file list for commands
-func substArgFiles(args []string, files []string) []string {
+func substArgFiles(args, files []string) []string {
 	for i, s := range args {
 		if s == "{file-list}" {
 			newArgs := append(args[:i], files...)
diff --git a/build/codeformat/formatimports.go b/build/codeformat/formatimports.go
index c6427f6a998..fedc5cc0909 100644
--- a/build/codeformat/formatimports.go
+++ b/build/codeformat/formatimports.go
@@ -20,8 +20,10 @@ var importPackageGroupOrders = map[string]int{
 
 var errInvalidCommentBetweenImports = errors.New("comments between imported packages are invalid, please move comments to the end of the package line")
 
-var importBlockBegin = []byte("\nimport (\n")
-var importBlockEnd = []byte("\n)")
+var (
+	importBlockBegin = []byte("\nimport (\n")
+	importBlockEnd   = []byte("\n)")
+)
 
 type importLineParsed struct {
 	group   string
@@ -59,8 +61,10 @@ func parseImportLine(line string) (*importLineParsed, error) {
 	return il, nil
 }
 
-type importLineGroup []*importLineParsed
-type importLineGroupMap map[string]importLineGroup
+type (
+	importLineGroup    []*importLineParsed
+	importLineGroupMap map[string]importLineGroup
+)
 
 func formatGoImports(contentBytes []byte) ([]byte, error) {
 	p1 := bytes.Index(contentBytes, importBlockBegin)
@@ -153,7 +157,7 @@ func formatGoImports(contentBytes []byte) ([]byte, error) {
 	return formattedBytes, nil
 }
 
-//FormatGoImports format the imports by our rules (see unit tests)
+// FormatGoImports format the imports by our rules (see unit tests)
 func FormatGoImports(file string) error {
 	f, err := os.Open(file)
 	if err != nil {
@@ -177,7 +181,7 @@ func FormatGoImports(file string) error {
 	if bytes.Equal(contentBytes, formattedBytes) {
 		return nil
 	}
-	f, err = os.OpenFile(file, os.O_TRUNC|os.O_WRONLY, 0644)
+	f, err = os.OpenFile(file, os.O_TRUNC|os.O_WRONLY, 0o644)
 	if err != nil {
 		return err
 	}
diff --git a/build/generate-bindata.go b/build/generate-bindata.go
index 7941af60a16..7fdf9d76161 100644
--- a/build/generate-bindata.go
+++ b/build/generate-bindata.go
@@ -20,7 +20,7 @@ import (
 	"github.com/shurcooL/vfsgen"
 )
 
-func needsUpdate(dir string, filename string) (bool, []byte) {
+func needsUpdate(dir, filename string) (bool, []byte) {
 	needRegen := false
 	_, err := os.Stat(filename)
 	if err != nil {
@@ -50,7 +50,6 @@ func needsUpdate(dir string, filename string) (bool, []byte) {
 	newHash := hasher.Sum([]byte{})
 
 	if bytes.Compare(oldHash, newHash) != 0 {
-
 		return true, newHash
 	}
 
@@ -87,5 +86,5 @@ func main() {
 	if err != nil {
 		log.Fatalf("%v\n", err)
 	}
-	_ = os.WriteFile(filename+".hash", newHash, 0666)
+	_ = os.WriteFile(filename+".hash", newHash, 0o666)
 }
diff --git a/build/generate-emoji.go b/build/generate-emoji.go
index aa56d45f744..2f3536342d4 100644
--- a/build/generate-emoji.go
+++ b/build/generate-emoji.go
@@ -30,9 +30,7 @@ const (
 	maxUnicodeVersion = 12
 )
 
-var (
-	flagOut = flag.String("o", "modules/emoji/emoji_data.go", "out")
-)
+var flagOut = flag.String("o", "modules/emoji/emoji_data.go", "out")
 
 // Gemoji is a set of emoji data.
 type Gemoji []Emoji
@@ -68,7 +66,7 @@ func main() {
 	}
 
 	// write
-	err = os.WriteFile(*flagOut, buf, 0644)
+	err = os.WriteFile(*flagOut, buf, 0o644)
 	if err != nil {
 		log.Fatal(err)
 	}
@@ -109,7 +107,7 @@ func generate() ([]byte, error) {
 		return nil, err
 	}
 
-	var skinTones = make(map[string]string)
+	skinTones := make(map[string]string)
 
 	skinTones["\U0001f3fb"] = "Light Skin Tone"
 	skinTones["\U0001f3fc"] = "Medium-Light Skin Tone"
@@ -119,7 +117,7 @@ func generate() ([]byte, error) {
 
 	var tmp Gemoji
 
-	//filter out emoji that require greater than max unicode version
+	// filter out emoji that require greater than max unicode version
 	for i := range data {
 		val, _ := strconv.ParseFloat(data[i].UnicodeVersion, 64)
 		if int(val) <= maxUnicodeVersion {
@@ -158,7 +156,7 @@ func generate() ([]byte, error) {
 
 	// write a JSON file to use with tribute (write before adding skin tones since we can't support them there yet)
 	file, _ := json.Marshal(data)
-	_ = os.WriteFile("assets/emoji.json", file, 0644)
+	_ = os.WriteFile("assets/emoji.json", file, 0o644)
 
 	// Add skin tones to emoji that support it
 	var (
diff --git a/build/generate-gitignores.go b/build/generate-gitignores.go
index 811953ee4a1..0f7d719d40b 100644
--- a/build/generate-gitignores.go
+++ b/build/generate-gitignores.go
@@ -34,7 +34,6 @@ func main() {
 	flag.Parse()
 
 	file, err := os.CreateTemp(os.TempDir(), prefix)
-
 	if err != nil {
 		log.Fatalf("Failed to create temp file. %s", err)
 	}
@@ -65,7 +64,6 @@ func main() {
 	}
 
 	gz, err := gzip.NewReader(file)
-
 	if err != nil {
 		log.Fatalf("Failed to gunzip the archive. %s", err)
 	}
@@ -96,7 +94,6 @@ func main() {
 		}
 
 		out, err := os.Create(path.Join(destination, strings.TrimSuffix(filepath.Base(hdr.Name), ".gitignore")))
-
 		if err != nil {
 			log.Fatalf("Failed to create new file. %s", err)
 		}
@@ -119,7 +116,7 @@ func main() {
 		}
 		// Write data to dst
 		dst = path.Join(destination, dst)
-		err = os.WriteFile(dst, data, 0644)
+		err = os.WriteFile(dst, data, 0o644)
 		if err != nil {
 			log.Fatalf("Failed to write new file. %s", err)
 		}
diff --git a/build/generate-licenses.go b/build/generate-licenses.go
index 75fb7cc8100..0f9b9f369fe 100644
--- a/build/generate-licenses.go
+++ b/build/generate-licenses.go
@@ -34,7 +34,6 @@ func main() {
 	flag.Parse()
 
 	file, err := os.CreateTemp(os.TempDir(), prefix)
-
 	if err != nil {
 		log.Fatalf("Failed to create temp file. %s", err)
 	}
@@ -66,7 +65,6 @@ func main() {
 	}
 
 	gz, err := gzip.NewReader(file)
-
 	if err != nil {
 		log.Fatalf("Failed to gunzip the archive. %s", err)
 	}
@@ -100,7 +98,6 @@ func main() {
 			continue
 		}
 		out, err := os.Create(path.Join(destination, strings.TrimSuffix(filepath.Base(hdr.Name), ".txt")))
-
 		if err != nil {
 			log.Fatalf("Failed to create new file. %s", err)
 		}
diff --git a/build/gocovmerge.go b/build/gocovmerge.go
index 6a1af5b58f7..1d2652129f9 100644
--- a/build/gocovmerge.go
+++ b/build/gocovmerge.go
@@ -22,7 +22,7 @@ import (
 	"golang.org/x/tools/cover"
 )
 
-func mergeProfiles(p *cover.Profile, merge *cover.Profile) {
+func mergeProfiles(p, merge *cover.Profile) {
 	if p.Mode != merge.Mode {
 		log.Fatalf("cannot merge profiles with different modes")
 	}
diff --git a/cmd/admin.go b/cmd/admin.go
index 3042df8bb77..66c7959ab39 100644
--- a/cmd/admin.go
+++ b/cmd/admin.go
@@ -525,7 +525,7 @@ func runCreateUser(c *cli.Context) error {
 	}
 
 	// always default to true
-	var changePassword = true
+	changePassword := true
 
 	// If this is the first user being created.
 	// Take it as the admin and don't force a password update.
@@ -577,7 +577,6 @@ func runListUsers(c *cli.Context) error {
 	}
 
 	users, err := user_model.GetAllUsers()
-
 	if err != nil {
 		return err
 	}
@@ -601,7 +600,6 @@ func runListUsers(c *cli.Context) error {
 
 	w.Flush()
 	return nil
-
 }
 
 func runDeleteUser(c *cli.Context) error {
@@ -826,7 +824,6 @@ func runUpdateOauth(c *cli.Context) error {
 
 	if c.IsSet("required-claim-name") {
 		oAuth2Config.RequiredClaimName = c.String("required-claim-name")
-
 	}
 	if c.IsSet("required-claim-value") {
 		oAuth2Config.RequiredClaimValue = c.String("required-claim-value")
@@ -843,7 +840,7 @@ func runUpdateOauth(c *cli.Context) error {
 	}
 
 	// update custom URL mapping
-	var customURLMapping = &oauth2.CustomURLMapping{}
+	customURLMapping := &oauth2.CustomURLMapping{}
 
 	if oAuth2Config.CustomURLMapping != nil {
 		customURLMapping.TokenURL = oAuth2Config.CustomURLMapping.TokenURL
@@ -926,7 +923,7 @@ func runAddSMTP(c *cli.Context) error {
 	if !c.IsSet("port") {
 		return errors.New("port must be set")
 	}
-	var active = true
+	active := true
 	if c.IsSet("active") {
 		active = c.BoolT("active")
 	}
@@ -994,7 +991,6 @@ func runListAuth(c *cli.Context) error {
 	}
 
 	authSources, err := auth.Sources()
-
 	if err != nil {
 		return err
 	}
diff --git a/cmd/admin_auth_ldap_test.go b/cmd/admin_auth_ldap_test.go
index e1cd1c3244e..f050b536fdf 100644
--- a/cmd/admin_auth_ldap_test.go
+++ b/cmd/admin_auth_ldap_test.go
@@ -17,12 +17,12 @@ import (
 
 func TestAddLdapBindDn(t *testing.T) {
 	// Mock cli functions to do not exit on error
-	var osExiter = cli.OsExiter
+	osExiter := cli.OsExiter
 	defer func() { cli.OsExiter = osExiter }()
 	cli.OsExiter = func(code int) {}
 
 	// Test cases
-	var cases = []struct {
+	cases := []struct {
 		args   []string
 		source *auth.Source
 		errMsg string
@@ -243,12 +243,12 @@ func TestAddLdapBindDn(t *testing.T) {
 
 func TestAddLdapSimpleAuth(t *testing.T) {
 	// Mock cli functions to do not exit on error
-	var osExiter = cli.OsExiter
+	osExiter := cli.OsExiter
 	defer func() { cli.OsExiter = osExiter }()
 	cli.OsExiter = func(code int) {}
 
 	// Test cases
-	var cases = []struct {
+	cases := []struct {
 		args       []string
 		authSource *auth.Source
 		errMsg     string
@@ -474,12 +474,12 @@ func TestAddLdapSimpleAuth(t *testing.T) {
 
 func TestUpdateLdapBindDn(t *testing.T) {
 	// Mock cli functions to do not exit on error
-	var osExiter = cli.OsExiter
+	osExiter := cli.OsExiter
 	defer func() { cli.OsExiter = osExiter }()
 	cli.OsExiter = func(code int) {}
 
 	// Test cases
-	var cases = []struct {
+	cases := []struct {
 		args               []string
 		id                 int64
 		existingAuthSource *auth.Source
@@ -907,12 +907,12 @@ func TestUpdateLdapBindDn(t *testing.T) {
 
 func TestUpdateLdapSimpleAuth(t *testing.T) {
 	// Mock cli functions to do not exit on error
-	var osExiter = cli.OsExiter
+	osExiter := cli.OsExiter
 	defer func() { cli.OsExiter = osExiter }()
 	cli.OsExiter = func(code int) {}
 
 	// Test cases
-	var cases = []struct {
+	cases := []struct {
 		args               []string
 		id                 int64
 		existingAuthSource *auth.Source
@@ -1161,7 +1161,6 @@ func TestUpdateLdapSimpleAuth(t *testing.T) {
 			authSource: &auth.Source{
 				Type: auth.DLDAP,
 				Cfg: &ldap.Source{
-
 					AttributeMail: "mail",
 				},
 			},
diff --git a/cmd/cert.go b/cmd/cert.go
index b62319f8085..162c4171bfb 100644
--- a/cmd/cert.go
+++ b/cmd/cert.go
@@ -180,7 +180,7 @@ func runCert(c *cli.Context) error {
 	}
 	log.Println("Written cert.pem")
 
-	keyOut, err := os.OpenFile("key.pem", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0600)
+	keyOut, err := os.OpenFile("key.pem", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0o600)
 	if err != nil {
 		log.Fatalf("Failed to open key.pem for writing: %v", err)
 	}
diff --git a/cmd/doctor.go b/cmd/doctor.go
index 35cc305f4c2..10f62f32c16 100644
--- a/cmd/doctor.go
+++ b/cmd/doctor.go
@@ -121,7 +121,6 @@ func runRecreateTable(ctx *cli.Context) error {
 		}
 		return recreateTables(x)
 	})
-
 }
 
 func runDoctor(ctx *cli.Context) error {
diff --git a/cmd/dump.go b/cmd/dump.go
index d6a5230060c..41804255987 100644
--- a/cmd/dump.go
+++ b/cmd/dump.go
@@ -370,7 +370,7 @@ func runDump(ctx *cli.Context) error {
 			fatal("Failed to save %s: %v", fileName, err)
 		}
 
-		if err := os.Chmod(fileName, 0600); err != nil {
+		if err := os.Chmod(fileName, 0o600); err != nil {
 			log.Info("Can't change file access permissions mask to 0600: %v", err)
 		}
 	}
diff --git a/cmd/dump_repo.go b/cmd/dump_repo.go
index 1a9344dbe18..e980af30110 100644
--- a/cmd/dump_repo.go
+++ b/cmd/dump_repo.go
@@ -107,7 +107,7 @@ func runDumpRepository(ctx *cli.Context) error {
 	}
 	serviceType = convert.ToGitServiceType(serviceStr)
 
-	var opts = base.MigrateOptions{
+	opts := base.MigrateOptions{
 		GitServiceType: serviceType,
 		CloneAddr:      cloneAddr,
 		AuthUsername:   ctx.String("auth_username"),
diff --git a/cmd/embedded.go b/cmd/embedded.go
index c608667bf85..2930e5d3077 100644
--- a/cmd/embedded.go
+++ b/cmd/embedded.go
@@ -109,7 +109,6 @@ type asset struct {
 }
 
 func initEmbeddedExtractor(c *cli.Context) error {
-
 	// Silence the console logger
 	log.DelNamedLogger("console")
 	log.DelNamedLogger(log.DEFAULT)
@@ -260,7 +259,7 @@ func extractAsset(d string, a asset, overwrite, rename bool) error {
 		return fmt.Errorf("%s: %v", dir, err)
 	}
 
-	perms := os.ModePerm & 0666
+	perms := os.ModePerm & 0o666
 
 	fi, err := os.Lstat(dest)
 	if err != nil {
@@ -296,7 +295,7 @@ func extractAsset(d string, a asset, overwrite, rename bool) error {
 }
 
 func buildAssetList(sec *section, globs []glob.Glob, c *cli.Context) []asset {
-	var results = make([]asset, 0, 64)
+	results := make([]asset, 0, 64)
 	for _, name := range sec.Names() {
 		if isdir, err := sec.IsDir(name); !isdir && err == nil {
 			if sec.Path == "public" &&
@@ -307,9 +306,11 @@ func buildAssetList(sec *section, globs []glob.Glob, c *cli.Context) []asset {
 			matchName := sec.Path + "/" + name
 			for _, g := range globs {
 				if g.Match(matchName) {
-					results = append(results, asset{Section: sec,
-						Name: name,
-						Path: sec.Path + "/" + name})
+					results = append(results, asset{
+						Section: sec,
+						Name:    name,
+						Path:    sec.Path + "/" + name,
+					})
 					break
 				}
 			}
diff --git a/cmd/manager.go b/cmd/manager.go
index 99d283b4418..50b66cc7f23 100644
--- a/cmd/manager.go
+++ b/cmd/manager.go
@@ -58,7 +58,8 @@ var (
 				Name:  "timeout",
 				Value: 60 * time.Second,
 				Usage: "Timeout for the flushing process",
-			}, cli.BoolFlag{
+			},
+			cli.BoolFlag{
 				Name:  "non-blocking",
 				Usage: "Set to true to not wait for flush to complete before returning",
 			},
diff --git a/cmd/serv.go b/cmd/serv.go
index ab60358b53e..e42213cb985 100644
--- a/cmd/serv.go
+++ b/cmd/serv.go
@@ -247,7 +247,7 @@ func runServ(c *cli.Context) error {
 	os.Setenv(models.EnvKeyID, fmt.Sprintf("%d", results.KeyID))
 	os.Setenv(models.EnvAppURL, setting.AppURL)
 
-	//LFS token authentication
+	// LFS token authentication
 	if verb == lfsAuthenticateVerb {
 		url := fmt.Sprintf("%s%s/%s.git/info/lfs", setting.AppURL, url.PathEscape(results.OwnerName), url.PathEscape(results.RepoName))
 
diff --git a/cmd/web.go b/cmd/web.go
index ec92ef242ab..9a8d9dfa73c 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -71,8 +71,7 @@ func runHTTPRedirector() {
 		http.Redirect(w, r, target, http.StatusTemporaryRedirect)
 	})
 
-	var err = runHTTP("tcp", source, "HTTP Redirector", handler)
-
+	err := runHTTP("tcp", source, "HTTP Redirector", handler)
 	if err != nil {
 		log.Fatal("Failed to start port redirection: %v", err)
 	}
diff --git a/cmd/web_letsencrypt.go b/cmd/web_letsencrypt.go
index 866b88f7c9d..517d71f0172 100644
--- a/cmd/web_letsencrypt.go
+++ b/cmd/web_letsencrypt.go
@@ -17,7 +17,6 @@ import (
 )
 
 func runLetsEncrypt(listenAddr, domain, directory, email string, m http.Handler) error {
-
 	// If HTTP Challenge enabled, needs to be serving on port 80. For TLSALPN needs 443.
 	// Due to docker port mapping this can't be checked programmatically
 	// TODO: these are placeholders until we add options for each in settings with appropriate warning
@@ -77,7 +76,7 @@ func runLetsEncrypt(listenAddr, domain, directory, email string, m http.Handler)
 		go func() {
 			log.Info("Running Let's Encrypt handler on %s", setting.HTTPAddr+":"+setting.PortToRedirect)
 			// all traffic coming into HTTP will be redirect to HTTPS automatically (LE HTTP-01 validation happens here)
-			var err = runHTTP("tcp", setting.HTTPAddr+":"+setting.PortToRedirect, "Let's Encrypt HTTP Challenge", myACME.HTTPChallengeHandler(http.HandlerFunc(runLetsEncryptFallbackHandler)))
+			err := runHTTP("tcp", setting.HTTPAddr+":"+setting.PortToRedirect, "Let's Encrypt HTTP Challenge", myACME.HTTPChallengeHandler(http.HandlerFunc(runLetsEncryptFallbackHandler)))
 			if err != nil {
 				log.Fatal("Failed to start the Let's Encrypt handler on port %s: %v", setting.PortToRedirect, err)
 			}
diff --git a/contrib/fixtures/fixture_generation.go b/contrib/fixtures/fixture_generation.go
index 74996a1f359..66ff5c54e31 100644
--- a/contrib/fixtures/fixture_generation.go
+++ b/contrib/fixtures/fixture_generation.go
@@ -66,7 +66,7 @@ func generate(name string) error {
 				return err
 			}
 			path := filepath.Join(fixturesDir, name+".yml")
-			if err := os.WriteFile(path, []byte(data), 0644); err != nil {
+			if err := os.WriteFile(path, []byte(data), 0o644); err != nil {
 				return fmt.Errorf("%s: %+v", path, err)
 			}
 			fmt.Printf("%s created.\n", path)
diff --git a/contrib/pr/checkout.go b/contrib/pr/checkout.go
index e9dd675d4da..ceeba4de3b5 100644
--- a/contrib/pr/checkout.go
+++ b/contrib/pr/checkout.go
@@ -93,13 +93,13 @@ func runPR() {
 
 	routers.InitGitServices()
 	setting.Database.LogSQL = true
-	//x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared")
+	// x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared")
 
 	db.InitEngineWithMigration(context.Background(), func(_ *xorm.Engine) error {
 		return nil
 	})
 	db.HasEngine = true
-	//x.ShowSQL(true)
+	// x.ShowSQL(true)
 	err = unittest.InitFixtures(
 		unittest.FixturesOptions{
 			Dir: path.Join(curDir, "models/fixtures/"),
@@ -115,7 +115,7 @@ func runPR() {
 	util.CopyDir(path.Join(curDir, "integrations/gitea-repositories-meta"), setting.RepoRootPath)
 
 	log.Printf("[PR] Setting up router\n")
-	//routers.GlobalInit()
+	// routers.GlobalInit()
 	external.RegisterRenderers()
 	markup.Init()
 	c := routers.NormalRoutes()
@@ -137,7 +137,7 @@ func runPR() {
 		}
 	*/
 
-	//Start the server
+	// Start the server
 	http.ListenAndServe(":8080", c)
 
 	log.Printf("[PR] Cleaning up ...\n")
@@ -160,7 +160,7 @@ func runPR() {
 }
 
 func main() {
-	var runPRFlag = flag.Bool("run", false, "Run the PR code")
+	runPRFlag := flag.Bool("run", false, "Run the PR code")
 	flag.Parse()
 	if *runPRFlag {
 		runPR()
@@ -173,15 +173,15 @@ func main() {
 		force = false
 	}
 
-	//Otherwise checkout PR
+	// Otherwise checkout PR
 	if len(os.Args) != 2 {
 		log.Fatal("Need only one arg: the PR number")
 	}
 	pr := os.Args[1]
 
-	codeFilePath = filepath.FromSlash(codeFilePath) //Convert to running OS
+	codeFilePath = filepath.FromSlash(codeFilePath) // Convert to running OS
 
-	//Copy this file if it will not exist in the PR branch
+	// Copy this file if it will not exist in the PR branch
 	dat, err := os.ReadFile(codeFilePath)
 	if err != nil {
 		log.Fatalf("Failed to cache this code file : %v", err)
@@ -192,16 +192,16 @@ func main() {
 		log.Fatalf("Failed to open the repo : %v", err)
 	}
 
-	//Find remote upstream
+	// Find remote upstream
 	remotes, err := repo.Remotes()
 	if err != nil {
 		log.Fatalf("Failed to list remotes of repo : %v", err)
 	}
-	remoteUpstream := "origin" //Default
+	remoteUpstream := "origin" // Default
 	for _, r := range remotes {
 		if r.Config().URLs[0] == "https://github.com/go-gitea/gitea.git" ||
 			r.Config().URLs[0] == "https://github.com/go-gitea/gitea" ||
-			r.Config().URLs[0] == "git@github.com:go-gitea/gitea.git" { //fetch at index 0
+			r.Config().URLs[0] == "git@github.com:go-gitea/gitea.git" { // fetch at index 0
 			remoteUpstream = r.Config().Name
 			break
 		}
@@ -212,7 +212,7 @@ func main() {
 
 	log.Printf("Fetching PR #%s in %s\n", pr, branch)
 	if runtime.GOOS == "windows" {
-		//Use git cli command for windows
+		// Use git cli command for windows
 		runCmd("git", "fetch", remoteUpstream, fmt.Sprintf("pull/%s/head:%s", pr, branch))
 	} else {
 		ref := fmt.Sprintf("%s%s/head:%s", gitea_git.PullPrefix, pr, branchRef)
@@ -240,22 +240,23 @@ func main() {
 		log.Fatalf("Failed to checkout %s : %v", branch, err)
 	}
 
-	//Copy this file if not exist
+	// Copy this file if not exist
 	if _, err := os.Stat(codeFilePath); os.IsNotExist(err) {
-		err = os.MkdirAll(filepath.Dir(codeFilePath), 0755)
+		err = os.MkdirAll(filepath.Dir(codeFilePath), 0o755)
 		if err != nil {
 			log.Fatalf("Failed to duplicate this code file in PR : %v", err)
 		}
-		err = os.WriteFile(codeFilePath, dat, 0644)
+		err = os.WriteFile(codeFilePath, dat, 0o644)
 		if err != nil {
 			log.Fatalf("Failed to duplicate this code file in PR : %v", err)
 		}
 	}
-	//Force build of js, css, bin, ...
+	// Force build of js, css, bin, ...
 	runCmd("make", "build")
-	//Start with integration test
+	// Start with integration test
 	runCmd("go", "run", "-mod", "vendor", "-tags", "sqlite sqlite_unlock_notify", codeFilePath, "-run")
 }
+
 func runCmd(cmd ...string) {
 	log.Printf("Executing : %s ...\n", cmd)
 	c := exec.Command(cmd[0], cmd[1:]...)
diff --git a/integrations/api_admin_org_test.go b/integrations/api_admin_org_test.go
index 4b5e2481e65..8f36850a1a1 100644
--- a/integrations/api_admin_org_test.go
+++ b/integrations/api_admin_org_test.go
@@ -22,7 +22,7 @@ func TestAPIAdminOrgCreate(t *testing.T) {
 		session := loginUser(t, "user1")
 		token := getTokenForLoggedInUser(t, session)
 
-		var org = api.CreateOrgOption{
+		org := api.CreateOrgOption{
 			UserName:    "user2_org",
 			FullName:    "User2's organization",
 			Description: "This organization created by admin for user2",
@@ -56,7 +56,7 @@ func TestAPIAdminOrgCreateBadVisibility(t *testing.T) {
 		session := loginUser(t, "user1")
 		token := getTokenForLoggedInUser(t, session)
 
-		var org = api.CreateOrgOption{
+		org := api.CreateOrgOption{
 			UserName:    "user2_org",
 			FullName:    "User2's organization",
 			Description: "This organization created by admin for user2",
@@ -74,7 +74,7 @@ func TestAPIAdminOrgCreateNotAdmin(t *testing.T) {
 	nonAdminUsername := "user2"
 	session := loginUser(t, nonAdminUsername)
 	token := getTokenForLoggedInUser(t, session)
-	var org = api.CreateOrgOption{
+	org := api.CreateOrgOption{
 		UserName:    "user2_org",
 		FullName:    "User2's organization",
 		Description: "This organization created by admin for user2",
diff --git a/integrations/api_branch_test.go b/integrations/api_branch_test.go
index d898266afee..54fe4a6edae 100644
--- a/integrations/api_branch_test.go
+++ b/integrations/api_branch_test.go
@@ -106,7 +106,6 @@ func TestAPICreateBranch(t *testing.T) {
 }
 
 func testAPICreateBranches(t *testing.T, giteaURL *url.URL) {
-
 	username := "user2"
 	ctx := NewAPITestContext(t, username, "my-noo-repo")
 	giteaURL.Path = ctx.GitPath()
diff --git a/integrations/api_comment_test.go b/integrations/api_comment_test.go
index 4c4c6308eea..dde51b2d532 100644
--- a/integrations/api_comment_test.go
+++ b/integrations/api_comment_test.go
@@ -44,10 +44,10 @@ func TestAPIListRepoComments(t *testing.T) {
 		unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: c.IssueID, RepoID: repo.ID})
 	}
 
-	//test before and since filters
+	// test before and since filters
 	query := url.Values{}
-	before := "2000-01-01T00:00:11+00:00" //unix: 946684811
-	since := "2000-01-01T00:00:12+00:00"  //unix: 946684812
+	before := "2000-01-01T00:00:11+00:00" // unix: 946684811
+	since := "2000-01-01T00:00:12+00:00"  // unix: 946684812
 	query.Add("before", before)
 	link.RawQuery = query.Encode()
 	req = NewRequest(t, "GET", link.String())
diff --git a/integrations/api_gpg_keys_test.go b/integrations/api_gpg_keys_test.go
index 8fc4124a489..38341aecff7 100644
--- a/integrations/api_gpg_keys_test.go
+++ b/integrations/api_gpg_keys_test.go
@@ -28,15 +28,18 @@ func TestGPGKeys(t *testing.T) {
 		token       string
 		results     []int
 	}{
-		{name: "NoLogin", makeRequest: MakeRequest, token: "",
+		{
+			name: "NoLogin", makeRequest: MakeRequest, token: "",
 			results: []int{http.StatusUnauthorized, http.StatusUnauthorized, http.StatusUnauthorized, http.StatusUnauthorized, http.StatusUnauthorized, http.StatusUnauthorized, http.StatusUnauthorized, http.StatusUnauthorized, http.StatusUnauthorized},
 		},
-		{name: "LoggedAsUser2", makeRequest: session.MakeRequest, token: token,
-			results: []int{http.StatusOK, http.StatusOK, http.StatusNotFound, http.StatusNoContent, http.StatusUnprocessableEntity, http.StatusNotFound, http.StatusCreated, http.StatusNotFound, http.StatusCreated}},
+		{
+			name: "LoggedAsUser2", makeRequest: session.MakeRequest, token: token,
+			results: []int{http.StatusOK, http.StatusOK, http.StatusNotFound, http.StatusNoContent, http.StatusUnprocessableEntity, http.StatusNotFound, http.StatusCreated, http.StatusNotFound, http.StatusCreated},
+		},
 	}
 
 	for _, tc := range tt {
-		//Basic test on result code
+		// Basic test on result code
 		t.Run(tc.name, func(t *testing.T) {
 			t.Run("ViewOwnGPGKeys", func(t *testing.T) {
 				testViewOwnGPGKeys(t, tc.makeRequest, tc.token, tc.results[0])
@@ -66,28 +69,27 @@ func TestGPGKeys(t *testing.T) {
 		})
 	}
 
-	//Check state after basic add
+	// Check state after basic add
 	t.Run("CheckState", func(t *testing.T) {
-
 		var keys []*api.GPGKey
 
-		req := NewRequest(t, "GET", "/api/v1/user/gpg_keys?token="+token) //GET all keys
+		req := NewRequest(t, "GET", "/api/v1/user/gpg_keys?token="+token) // GET all keys
 		resp := session.MakeRequest(t, req, http.StatusOK)
 		DecodeJSON(t, resp, &keys)
 		assert.Len(t, keys, 1)
 
-		primaryKey1 := keys[0] //Primary key 1
+		primaryKey1 := keys[0] // Primary key 1
 		assert.EqualValues(t, "38EA3BCED732982C", primaryKey1.KeyID)
 		assert.Len(t, primaryKey1.Emails, 1)
 		assert.EqualValues(t, "user2@example.com", primaryKey1.Emails[0].Email)
 		assert.True(t, primaryKey1.Emails[0].Verified)
 
-		subKey := primaryKey1.SubsKey[0] //Subkey of 38EA3BCED732982C
+		subKey := primaryKey1.SubsKey[0] // Subkey of 38EA3BCED732982C
 		assert.EqualValues(t, "70D7C694D17D03AD", subKey.KeyID)
 		assert.Empty(t, subKey.Emails)
 
 		var key api.GPGKey
-		req = NewRequest(t, "GET", "/api/v1/user/gpg_keys/"+strconv.FormatInt(primaryKey1.ID, 10)+"?token="+token) //Primary key 1
+		req = NewRequest(t, "GET", "/api/v1/user/gpg_keys/"+strconv.FormatInt(primaryKey1.ID, 10)+"?token="+token) // Primary key 1
 		resp = session.MakeRequest(t, req, http.StatusOK)
 		DecodeJSON(t, resp, &key)
 		assert.EqualValues(t, "38EA3BCED732982C", key.KeyID)
@@ -95,14 +97,14 @@ func TestGPGKeys(t *testing.T) {
 		assert.EqualValues(t, "user2@example.com", key.Emails[0].Email)
 		assert.True(t, key.Emails[0].Verified)
 
-		req = NewRequest(t, "GET", "/api/v1/user/gpg_keys/"+strconv.FormatInt(subKey.ID, 10)+"?token="+token) //Subkey of 38EA3BCED732982C
+		req = NewRequest(t, "GET", "/api/v1/user/gpg_keys/"+strconv.FormatInt(subKey.ID, 10)+"?token="+token) // Subkey of 38EA3BCED732982C
 		resp = session.MakeRequest(t, req, http.StatusOK)
 		DecodeJSON(t, resp, &key)
 		assert.EqualValues(t, "70D7C694D17D03AD", key.KeyID)
 		assert.Empty(t, key.Emails)
 	})
 
-	//Check state after basic add
+	// Check state after basic add
 	t.Run("CheckCommits", func(t *testing.T) {
 		t.Run("NotSigned", func(t *testing.T) {
 			var branch api.Branch
@@ -182,7 +184,7 @@ INx/MmBfmtCq05FqNclvU+sj2R3N1JJOtBOjZrJHQbJhzoILou8AkxeX1A+q9OAz
 }
 
 func testCreateValidGPGKey(t *testing.T, makeRequest makeRequestFunc, token string, expected int) {
-	//User2 <user2@example.com> //primary & activated
+	// User2 <user2@example.com> //primary & activated
 	testCreateGPGKey(t, makeRequest, token, expected, `-----BEGIN PGP PUBLIC KEY BLOCK-----
 
 mQENBFmGVsMBCACuxgZ7W7rI9xN08Y4M7B8yx/6/I4Slm94+wXf8YNRvAyqj30dW
@@ -216,7 +218,7 @@ uy6MA3VSB99SK9ducGmE1Jv8mcziREroz2TEGr0zPs6h
 }
 
 func testCreateValidSecondaryEmailGPGKey(t *testing.T, makeRequest makeRequestFunc, token string, expected int) {
-	//User2 <user2-2@example.com> //secondary and not activated
+	// User2 <user2-2@example.com> //secondary and not activated
 	testCreateGPGKey(t, makeRequest, token, expected, `-----BEGIN PGP PUBLIC KEY BLOCK-----
 
 mQGNBGC2K2cBDAC1+Xgk+8UfhASVgRngQi4rnQ8k0t+bWsBz4Czd26+cxVDRwlTT
diff --git a/integrations/api_issue_label_test.go b/integrations/api_issue_label_test.go
index 42bfedf32ff..94b487377ec 100644
--- a/integrations/api_issue_label_test.go
+++ b/integrations/api_issue_label_test.go
@@ -53,21 +53,21 @@ func TestAPIModifyLabels(t *testing.T) {
 	})
 	session.MakeRequest(t, req, http.StatusUnprocessableEntity)
 
-	//ListLabels
+	// ListLabels
 	req = NewRequest(t, "GET", urlStr)
 	resp = session.MakeRequest(t, req, http.StatusOK)
 	var apiLabels []*api.Label
 	DecodeJSON(t, resp, &apiLabels)
 	assert.Len(t, apiLabels, 2)
 
-	//GetLabel
+	// GetLabel
 	singleURLStr := fmt.Sprintf("/api/v1/repos/%s/%s/labels/%d?token=%s", owner.Name, repo.Name, dbLabel.ID, token)
 	req = NewRequest(t, "GET", singleURLStr)
 	resp = session.MakeRequest(t, req, http.StatusOK)
 	DecodeJSON(t, resp, &apiLabel)
 	assert.EqualValues(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color)
 
-	//EditLabel
+	// EditLabel
 	newName := "LabelNewName"
 	newColor := "09876a"
 	newColorWrong := "09g76a"
@@ -83,10 +83,9 @@ func TestAPIModifyLabels(t *testing.T) {
 	})
 	session.MakeRequest(t, req, http.StatusUnprocessableEntity)
 
-	//DeleteLabel
+	// DeleteLabel
 	req = NewRequest(t, "DELETE", singleURLStr)
 	session.MakeRequest(t, req, http.StatusNoContent)
-
 }
 
 func TestAPIAddIssueLabels(t *testing.T) {
@@ -173,21 +172,21 @@ func TestAPIModifyOrgLabels(t *testing.T) {
 	})
 	session.MakeRequest(t, req, http.StatusUnprocessableEntity)
 
-	//ListLabels
+	// ListLabels
 	req = NewRequest(t, "GET", urlStr)
 	resp = session.MakeRequest(t, req, http.StatusOK)
 	var apiLabels []*api.Label
 	DecodeJSON(t, resp, &apiLabels)
 	assert.Len(t, apiLabels, 4)
 
-	//GetLabel
+	// GetLabel
 	singleURLStr := fmt.Sprintf("/api/v1/orgs/%s/labels/%d?token=%s", owner.Name, dbLabel.ID, token)
 	req = NewRequest(t, "GET", singleURLStr)
 	resp = session.MakeRequest(t, req, http.StatusOK)
 	DecodeJSON(t, resp, &apiLabel)
 	assert.EqualValues(t, strings.TrimLeft(dbLabel.Color, "#"), apiLabel.Color)
 
-	//EditLabel
+	// EditLabel
 	newName := "LabelNewName"
 	newColor := "09876a"
 	newColorWrong := "09g76a"
@@ -203,8 +202,7 @@ func TestAPIModifyOrgLabels(t *testing.T) {
 	})
 	session.MakeRequest(t, req, http.StatusUnprocessableEntity)
 
-	//DeleteLabel
+	// DeleteLabel
 	req = NewRequest(t, "DELETE", singleURLStr)
 	session.MakeRequest(t, req, http.StatusNoContent)
-
 }
diff --git a/integrations/api_issue_reaction_test.go b/integrations/api_issue_reaction_test.go
index fa0f016ef2c..aa6f46f8bd0 100644
--- a/integrations/api_issue_reaction_test.go
+++ b/integrations/api_issue_reaction_test.go
@@ -33,19 +33,19 @@ func TestAPIIssuesReactions(t *testing.T) {
 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/reactions?token=%s",
 		owner.Name, issue.Repo.Name, issue.Index, token)
 
-	//Try to add not allowed reaction
+	// Try to add not allowed reaction
 	req := NewRequestWithJSON(t, "POST", urlStr, &api.EditReactionOption{
 		Reaction: "wrong",
 	})
 	session.MakeRequest(t, req, http.StatusForbidden)
 
-	//Delete not allowed reaction
+	// Delete not allowed reaction
 	req = NewRequestWithJSON(t, "DELETE", urlStr, &api.EditReactionOption{
 		Reaction: "zzz",
 	})
 	session.MakeRequest(t, req, http.StatusOK)
 
-	//Add allowed reaction
+	// Add allowed reaction
 	req = NewRequestWithJSON(t, "POST", urlStr, &api.EditReactionOption{
 		Reaction: "rocket",
 	})
@@ -53,10 +53,10 @@ func TestAPIIssuesReactions(t *testing.T) {
 	var apiNewReaction api.Reaction
 	DecodeJSON(t, resp, &apiNewReaction)
 
-	//Add existing reaction
+	// Add existing reaction
 	session.MakeRequest(t, req, http.StatusForbidden)
 
-	//Get end result of reaction list of issue #1
+	// Get end result of reaction list of issue #1
 	req = NewRequestf(t, "GET", urlStr)
 	resp = session.MakeRequest(t, req, http.StatusOK)
 	var apiReactions []*api.Reaction
@@ -93,19 +93,19 @@ func TestAPICommentReactions(t *testing.T) {
 	urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d/reactions?token=%s",
 		owner.Name, issue.Repo.Name, comment.ID, token)
 
-	//Try to add not allowed reaction
+	// Try to add not allowed reaction
 	req := NewRequestWithJSON(t, "POST", urlStr, &api.EditReactionOption{
 		Reaction: "wrong",
 	})
 	session.MakeRequest(t, req, http.StatusForbidden)
 
-	//Delete none existing reaction
+	// Delete none existing reaction
 	req = NewRequestWithJSON(t, "DELETE", urlStr, &api.EditReactionOption{
 		Reaction: "eyes",
 	})
 	session.MakeRequest(t, req, http.StatusOK)
 
-	//Add allowed reaction
+	// Add allowed reaction
 	req = NewRequestWithJSON(t, "POST", urlStr, &api.EditReactionOption{
 		Reaction: "+1",
 	})
@@ -113,10 +113,10 @@ func TestAPICommentReactions(t *testing.T) {
 	var apiNewReaction api.Reaction
 	DecodeJSON(t, resp, &apiNewReaction)
 
-	//Add existing reaction
+	// Add existing reaction
 	session.MakeRequest(t, req, http.StatusForbidden)
 
-	//Get end result of reaction list of issue #1
+	// Get end result of reaction list of issue #1
 	req = NewRequestf(t, "GET", urlStr)
 	resp = session.MakeRequest(t, req, http.StatusOK)
 	var apiReactions []*api.Reaction
diff --git a/integrations/api_issue_subscription_test.go b/integrations/api_issue_subscription_test.go
index dfc3edee8d7..e0bb388365a 100644
--- a/integrations/api_issue_subscription_test.go
+++ b/integrations/api_issue_subscription_test.go
@@ -33,7 +33,6 @@ func TestAPIIssueSubscriptions(t *testing.T) {
 	token := getTokenForLoggedInUser(t, session)
 
 	testSubscription := func(issue *models.Issue, isWatching bool) {
-
 		issueRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}).(*repo_model.Repository)
 
 		urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/subscriptions/check?token=%s", issueRepo.OwnerName, issueRepo.Name, issue.Index, token)
diff --git a/integrations/api_issue_test.go b/integrations/api_issue_test.go
index 0912d1d82bf..3957c102339 100644
--- a/integrations/api_issue_test.go
+++ b/integrations/api_issue_test.go
@@ -210,7 +210,7 @@ func TestAPISearchIssues(t *testing.T) {
 	resp = session.MakeRequest(t, req, http.StatusOK)
 	DecodeJSON(t, resp, &apiIssues)
 	assert.EqualValues(t, "15", resp.Header().Get("X-Total-Count"))
-	assert.Len(t, apiIssues, 10) //there are more but 10 is page item limit
+	assert.Len(t, apiIssues, 10) // there are more but 10 is page item limit
 
 	query.Add("limit", "20")
 	link.RawQuery = query.Encode()
diff --git a/integrations/api_issue_tracked_time_test.go b/integrations/api_issue_tracked_time_test.go
index 94e569113c1..335fd2929a1 100644
--- a/integrations/api_issue_tracked_time_test.go
+++ b/integrations/api_issue_tracked_time_test.go
@@ -48,8 +48,8 @@ func TestAPIGetTrackedTimes(t *testing.T) {
 	}
 
 	// test filter
-	since := "2000-01-01T00%3A00%3A02%2B00%3A00"  //946684802
-	before := "2000-01-01T00%3A00%3A12%2B00%3A00" //946684812
+	since := "2000-01-01T00%3A00%3A02%2B00%3A00"  // 946684802
+	before := "2000-01-01T00%3A00%3A12%2B00%3A00" // 946684812
 
 	req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/times?since=%s&before=%s&token=%s", user2.Name, issue2.Repo.Name, issue2.Index, since, before, token)
 	resp = session.MakeRequest(t, req, http.StatusOK)
@@ -71,17 +71,17 @@ func TestAPIDeleteTrackedTime(t *testing.T) {
 	session := loginUser(t, user2.Name)
 	token := getTokenForLoggedInUser(t, session)
 
-	//Deletion not allowed
+	// Deletion not allowed
 	req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/%d/times/%d?token=%s", user2.Name, issue2.Repo.Name, issue2.Index, time6.ID, token)
 	session.MakeRequest(t, req, http.StatusForbidden)
 
 	time3 := unittest.AssertExistsAndLoadBean(t, &models.TrackedTime{ID: 3}).(*models.TrackedTime)
 	req = NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/%d/times/%d?token=%s", user2.Name, issue2.Repo.Name, issue2.Index, time3.ID, token)
 	session.MakeRequest(t, req, http.StatusNoContent)
-	//Delete non existing time
+	// Delete non existing time
 	session.MakeRequest(t, req, http.StatusNotFound)
 
-	//Reset time of user 2 on issue 2
+	// Reset time of user 2 on issue 2
 	trackedSeconds, err := models.GetTrackedSeconds(models.FindTrackedTimesOptions{IssueID: 2, UserID: 2})
 	assert.NoError(t, err)
 	assert.Equal(t, int64(3661), trackedSeconds)
diff --git a/integrations/api_notification_test.go b/integrations/api_notification_test.go
index 12b3bac4256..4bf18632ca0 100644
--- a/integrations/api_notification_test.go
+++ b/integrations/api_notification_test.go
@@ -30,7 +30,7 @@ func TestAPINotification(t *testing.T) {
 
 	// -- GET /notifications --
 	// test filter
-	since := "2000-01-01T00%3A50%3A01%2B00%3A00" //946687801
+	since := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801
 	req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications?since=%s&token=%s", since, token))
 	resp := session.MakeRequest(t, req, http.StatusOK)
 	var apiNL []api.NotificationThread
@@ -40,7 +40,7 @@ func TestAPINotification(t *testing.T) {
 	assert.EqualValues(t, 5, apiNL[0].ID)
 
 	// test filter
-	before := "2000-01-01T01%3A06%3A59%2B00%3A00" //946688819
+	before := "2000-01-01T01%3A06%3A59%2B00%3A00" // 946688819
 
 	req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/notifications?all=%s&before=%s&token=%s", "true", before, token))
 	resp = session.MakeRequest(t, req, http.StatusOK)
@@ -113,7 +113,7 @@ func TestAPINotification(t *testing.T) {
 	DecodeJSON(t, resp, &apiNL)
 	assert.Len(t, apiNL, 2)
 
-	lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" //946687801 <- only Notification 4 is in this filter ...
+	lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801 <- only Notification 4 is in this filter ...
 	req = NewRequest(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?last_read_at=%s&token=%s", user2.Name, repo1.Name, lastReadAt, token))
 	session.MakeRequest(t, req, http.StatusResetContent)
 
diff --git a/integrations/api_org_test.go b/integrations/api_org_test.go
index 76979c674dc..e33c010e88c 100644
--- a/integrations/api_org_test.go
+++ b/integrations/api_org_test.go
@@ -23,7 +23,7 @@ func TestAPIOrgCreate(t *testing.T) {
 		session := loginUser(t, "user1")
 
 		token := getTokenForLoggedInUser(t, session)
-		var org = api.CreateOrgOption{
+		org := api.CreateOrgOption{
 			UserName:    "user1_org",
 			FullName:    "User1's organization",
 			Description: "This organization created by user1",
@@ -80,7 +80,7 @@ func TestAPIOrgEdit(t *testing.T) {
 		session := loginUser(t, "user1")
 
 		token := getTokenForLoggedInUser(t, session)
-		var org = api.EditOrgOption{
+		org := api.EditOrgOption{
 			FullName:    "User3 organization new full name",
 			Description: "A new description",
 			Website:     "https://try.gitea.io/new",
@@ -107,7 +107,7 @@ func TestAPIOrgEditBadVisibility(t *testing.T) {
 		session := loginUser(t, "user1")
 
 		token := getTokenForLoggedInUser(t, session)
-		var org = api.EditOrgOption{
+		org := api.EditOrgOption{
 			FullName:    "User3 organization new full name",
 			Description: "A new description",
 			Website:     "https://try.gitea.io/new",
@@ -126,7 +126,7 @@ func TestAPIOrgDeny(t *testing.T) {
 			setting.Service.RequireSignInView = false
 		}()
 
-		var orgName = "user1_org"
+		orgName := "user1_org"
 		req := NewRequestf(t, "GET", "/api/v1/orgs/%s", orgName)
 		MakeRequest(t, req, http.StatusNotFound)
 
diff --git a/integrations/api_private_serv_test.go b/integrations/api_private_serv_test.go
index 68308bafc5a..a58d927cb91 100644
--- a/integrations/api_private_serv_test.go
+++ b/integrations/api_private_serv_test.go
@@ -150,7 +150,5 @@ func TestAPIPrivateServ(t *testing.T) {
 		assert.Equal(t, "user15", results.OwnerName)
 		assert.Equal(t, "big_test_private_2", results.RepoName)
 		assert.Equal(t, int64(20), results.RepoID)
-
 	})
-
 }
diff --git a/integrations/api_pull_review_test.go b/integrations/api_pull_review_test.go
index df6dc75d517..3f80dbdf9b3 100644
--- a/integrations/api_pull_review_test.go
+++ b/integrations/api_pull_review_test.go
@@ -80,22 +80,23 @@ func TestAPIPullReview(t *testing.T) {
 	req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews?token=%s", repo.OwnerName, repo.Name, pullIssue.Index, token), &api.CreatePullReviewOptions{
 		Body: "body1",
 		// Event: "" # will result in PENDING
-		Comments: []api.CreatePullReviewComment{{
-			Path:       "README.md",
-			Body:       "first new line",
-			OldLineNum: 0,
-			NewLineNum: 1,
-		}, {
-			Path:       "README.md",
-			Body:       "first old line",
-			OldLineNum: 1,
-			NewLineNum: 0,
-		}, {
-			Path:       "iso-8859-1.txt",
-			Body:       "this line contains a non-utf-8 character",
-			OldLineNum: 0,
-			NewLineNum: 1,
-		},
+		Comments: []api.CreatePullReviewComment{
+			{
+				Path:       "README.md",
+				Body:       "first new line",
+				OldLineNum: 0,
+				NewLineNum: 1,
+			}, {
+				Path:       "README.md",
+				Body:       "first old line",
+				OldLineNum: 1,
+				NewLineNum: 0,
+			}, {
+				Path:       "iso-8859-1.txt",
+				Body:       "this line contains a non-utf-8 character",
+				OldLineNum: 0,
+				NewLineNum: 1,
+			},
 		},
 	})
 	resp = session.MakeRequest(t, req, http.StatusOK)
@@ -147,17 +148,18 @@ func TestAPIPullReview(t *testing.T) {
 	req = NewRequestWithJSON(t, http.MethodPost, fmt.Sprintf("/api/v1/repos/%s/%s/pulls/%d/reviews?token=%s", repo.OwnerName, repo.Name, pullIssue.Index, token), &api.CreatePullReviewOptions{
 		// Body:  "",
 		Event: "COMMENT",
-		Comments: []api.CreatePullReviewComment{{
-			Path:       "README.md",
-			Body:       "first new line",
-			OldLineNum: 0,
-			NewLineNum: 1,
-		}, {
-			Path:       "README.md",
-			Body:       "first old line",
-			OldLineNum: 1,
-			NewLineNum: 0,
-		},
+		Comments: []api.CreatePullReviewComment{
+			{
+				Path:       "README.md",
+				Body:       "first new line",
+				OldLineNum: 0,
+				NewLineNum: 1,
+			}, {
+				Path:       "README.md",
+				Body:       "first old line",
+				OldLineNum: 1,
+				NewLineNum: 0,
+			},
 		},
 	})
 	var commentReview api.PullReview
diff --git a/integrations/api_repo_edit_test.go b/integrations/api_repo_edit_test.go
index 91ec4c699e5..f3f0139d953 100644
--- a/integrations/api_repo_edit_test.go
+++ b/integrations/api_repo_edit_test.go
@@ -175,7 +175,7 @@ func TestAPIRepoEdit(t *testing.T) {
 		assert.Equal(t, *repoEditOption.Private, *repo1editedOption.Private)
 		assert.Equal(t, *repoEditOption.HasWiki, *repo1editedOption.HasWiki)
 
-		//Test editing repo1 to use internal issue and wiki (default)
+		// Test editing repo1 to use internal issue and wiki (default)
 		*repoEditOption.HasIssues = true
 		repoEditOption.ExternalTracker = nil
 		repoEditOption.InternalTracker = &api.InternalTracker{
@@ -199,7 +199,7 @@ func TestAPIRepoEdit(t *testing.T) {
 		assert.Equal(t, *repo1editedOption.HasWiki, true)
 		assert.Nil(t, repo1editedOption.ExternalWiki)
 
-		//Test editing repo1 to use external issue and wiki
+		// Test editing repo1 to use external issue and wiki
 		repoEditOption.ExternalTracker = &api.ExternalTracker{
 			ExternalTrackerURL:    "http://www.somewebsite.com",
 			ExternalTrackerFormat: "http://www.somewebsite.com/{user}/{repo}?issue={index}",
@@ -233,7 +233,7 @@ func TestAPIRepoEdit(t *testing.T) {
 		req = NewRequestWithJSON(t, "PATCH", url, &repoEditOption)
 		session.MakeRequest(t, req, http.StatusUnprocessableEntity)
 
-		//Test small repo change through API with issue and wiki option not set; They shall not be touched.
+		// Test small repo change through API with issue and wiki option not set; They shall not be touched.
 		*repoEditOption.Description = "small change"
 		repoEditOption.HasIssues = nil
 		repoEditOption.ExternalTracker = nil
diff --git a/integrations/api_repo_git_commits_test.go b/integrations/api_repo_git_commits_test.go
index 2099d568f76..f5a64490b9e 100644
--- a/integrations/api_repo_git_commits_test.go
+++ b/integrations/api_repo_git_commits_test.go
@@ -130,7 +130,6 @@ func TestDownloadCommitDiffOrPatch(t *testing.T) {
 	assert.EqualValues(t,
 		"From f27c2b2b03dcab38beaf89b0ab4ff61f6de63441 Mon Sep 17 00:00:00 2001\nFrom: User2 <user2@example.com>\nDate: Sun, 6 Aug 2017 19:55:01 +0200\nSubject: [PATCH] good signed commit\n\n---\n readme.md | 1 +\n 1 file changed, 1 insertion(+)\n create mode 100644 readme.md\n\ndiff --git a/readme.md b/readme.md\nnew file mode 100644\nindex 0000000..458121c\n--- /dev/null\n+++ b/readme.md\n@@ -0,0 +1 @@\n+good sign\n",
 		resp.Body.String())
-
 }
 
 func TestGetFileHistory(t *testing.T) {
diff --git a/integrations/api_repo_lfs_locks_test.go b/integrations/api_repo_lfs_locks_test.go
index 3e0b40f5116..ca7bd35001e 100644
--- a/integrations/api_repo_lfs_locks_test.go
+++ b/integrations/api_repo_lfs_locks_test.go
@@ -53,8 +53,8 @@ func TestAPILFSLocksNotLogin(t *testing.T) {
 func TestAPILFSLocksLogged(t *testing.T) {
 	defer prepareTestEnv(t)()
 	setting.LFS.StartServer = true
-	user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}).(*user_model.User) //in org 3
-	user4 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4}).(*user_model.User) //in org 3
+	user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}).(*user_model.User) // in org 3
+	user4 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4}).(*user_model.User) // in org 3
 
 	repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}).(*repo_model.Repository)
 	repo3 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3}).(*repo_model.Repository) // own by org 3
@@ -101,7 +101,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
 		lockID string
 	}{}
 
-	//create locks
+	// create locks
 	for _, test := range tests {
 		session := loginUser(t, test.user.Name)
 		req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/%s.git/info/lfs/locks", test.repo.FullName()), map[string]string{"path": test.path})
@@ -111,14 +111,14 @@ func TestAPILFSLocksLogged(t *testing.T) {
 		if len(test.addTime) > 0 {
 			var lfsLock api.LFSLockResponse
 			DecodeJSON(t, resp, &lfsLock)
-			assert.EqualValues(t, lfsLock.Lock.LockedAt.Format(time.RFC3339), lfsLock.Lock.LockedAt.Format(time.RFC3339Nano)) //locked at should be rounded to second
+			assert.EqualValues(t, lfsLock.Lock.LockedAt.Format(time.RFC3339), lfsLock.Lock.LockedAt.Format(time.RFC3339Nano)) // locked at should be rounded to second
 			for _, id := range test.addTime {
 				resultsTests[id].locksTimes = append(resultsTests[id].locksTimes, time.Now())
 			}
 		}
 	}
 
-	//check creation
+	// check creation
 	for _, test := range resultsTests {
 		session := loginUser(t, test.user.Name)
 		req := NewRequestf(t, "GET", "/%s.git/info/lfs/locks", test.repo.FullName())
@@ -130,7 +130,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
 		for i, lock := range lfsLocks.Locks {
 			assert.EqualValues(t, test.locksOwners[i].DisplayName(), lock.Owner.Name)
 			assert.WithinDuration(t, test.locksTimes[i], lock.LockedAt, 10*time.Second)
-			assert.EqualValues(t, lock.LockedAt.Format(time.RFC3339), lock.LockedAt.Format(time.RFC3339Nano)) //locked at should be rounded to second
+			assert.EqualValues(t, lock.LockedAt.Format(time.RFC3339), lock.LockedAt.Format(time.RFC3339Nano)) // locked at should be rounded to second
 		}
 
 		req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/%s.git/info/lfs/locks/verify", test.repo.FullName()), map[string]string{})
@@ -154,7 +154,7 @@ func TestAPILFSLocksLogged(t *testing.T) {
 		}
 	}
 
-	//remove all locks
+	// remove all locks
 	for _, test := range deleteTests {
 		session := loginUser(t, test.user.Name)
 		req := NewRequestWithJSON(t, "POST", fmt.Sprintf("/%s.git/info/lfs/locks/%s/unlock", test.repo.FullName(), test.lockID), map[string]string{})
diff --git a/integrations/api_repo_test.go b/integrations/api_repo_test.go
index c909e96f06c..52764a3a690 100644
--- a/integrations/api_repo_test.go
+++ b/integrations/api_repo_test.go
@@ -79,76 +79,99 @@ func TestAPISearchRepo(t *testing.T) {
 		name, requestURL string
 		expectedResults
 	}{
-		{name: "RepositoriesMax50", requestURL: "/api/v1/repos/search?limit=50&private=false", expectedResults: expectedResults{
-			nil:   {count: 30},
-			user:  {count: 30},
-			user2: {count: 30}},
+		{
+			name: "RepositoriesMax50", requestURL: "/api/v1/repos/search?limit=50&private=false", expectedResults: expectedResults{
+				nil:   {count: 30},
+				user:  {count: 30},
+				user2: {count: 30},
+			},
 		},
-		{name: "RepositoriesMax10", requestURL: "/api/v1/repos/search?limit=10&private=false", expectedResults: expectedResults{
-			nil:   {count: 10},
-			user:  {count: 10},
-			user2: {count: 10}},
+		{
+			name: "RepositoriesMax10", requestURL: "/api/v1/repos/search?limit=10&private=false", expectedResults: expectedResults{
+				nil:   {count: 10},
+				user:  {count: 10},
+				user2: {count: 10},
+			},
 		},
-		{name: "RepositoriesDefault", requestURL: "/api/v1/repos/search?default&private=false", expectedResults: expectedResults{
-			nil:   {count: 10},
-			user:  {count: 10},
-			user2: {count: 10}},
+		{
+			name: "RepositoriesDefault", requestURL: "/api/v1/repos/search?default&private=false", expectedResults: expectedResults{
+				nil:   {count: 10},
+				user:  {count: 10},
+				user2: {count: 10},
+			},
 		},
-		{name: "RepositoriesByName", requestURL: fmt.Sprintf("/api/v1/repos/search?q=%s&private=false", "big_test_"), expectedResults: expectedResults{
-			nil:   {count: 7, repoName: "big_test_"},
-			user:  {count: 7, repoName: "big_test_"},
-			user2: {count: 7, repoName: "big_test_"}},
+		{
+			name: "RepositoriesByName", requestURL: fmt.Sprintf("/api/v1/repos/search?q=%s&private=false", "big_test_"), expectedResults: expectedResults{
+				nil:   {count: 7, repoName: "big_test_"},
+				user:  {count: 7, repoName: "big_test_"},
+				user2: {count: 7, repoName: "big_test_"},
+			},
 		},
-		{name: "RepositoriesAccessibleAndRelatedToUser", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user.ID), expectedResults: expectedResults{
-			nil:   {count: 5},
-			user:  {count: 9, includesPrivate: true},
-			user2: {count: 6, includesPrivate: true}},
+		{
+			name: "RepositoriesAccessibleAndRelatedToUser", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user.ID), expectedResults: expectedResults{
+				nil:   {count: 5},
+				user:  {count: 9, includesPrivate: true},
+				user2: {count: 6, includesPrivate: true},
+			},
 		},
-		{name: "RepositoriesAccessibleAndRelatedToUser2", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user2.ID), expectedResults: expectedResults{
-			nil:   {count: 1},
-			user:  {count: 2, includesPrivate: true},
-			user2: {count: 2, includesPrivate: true},
-			user4: {count: 1}},
+		{
+			name: "RepositoriesAccessibleAndRelatedToUser2", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user2.ID), expectedResults: expectedResults{
+				nil:   {count: 1},
+				user:  {count: 2, includesPrivate: true},
+				user2: {count: 2, includesPrivate: true},
+				user4: {count: 1},
+			},
 		},
-		{name: "RepositoriesAccessibleAndRelatedToUser3", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user3.ID), expectedResults: expectedResults{
-			nil:   {count: 1},
-			user:  {count: 4, includesPrivate: true},
-			user2: {count: 3, includesPrivate: true},
-			user3: {count: 4, includesPrivate: true}},
+		{
+			name: "RepositoriesAccessibleAndRelatedToUser3", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user3.ID), expectedResults: expectedResults{
+				nil:   {count: 1},
+				user:  {count: 4, includesPrivate: true},
+				user2: {count: 3, includesPrivate: true},
+				user3: {count: 4, includesPrivate: true},
+			},
 		},
-		{name: "RepositoriesOwnedByOrganization", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", orgUser.ID), expectedResults: expectedResults{
-			nil:   {count: 1, repoOwnerID: orgUser.ID},
-			user:  {count: 2, repoOwnerID: orgUser.ID, includesPrivate: true},
-			user2: {count: 1, repoOwnerID: orgUser.ID}},
+		{
+			name: "RepositoriesOwnedByOrganization", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", orgUser.ID), expectedResults: expectedResults{
+				nil:   {count: 1, repoOwnerID: orgUser.ID},
+				user:  {count: 2, repoOwnerID: orgUser.ID, includesPrivate: true},
+				user2: {count: 1, repoOwnerID: orgUser.ID},
+			},
 		},
 		{name: "RepositoriesAccessibleAndRelatedToUser4", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user4.ID), expectedResults: expectedResults{
 			nil:   {count: 3},
 			user:  {count: 4, includesPrivate: true},
-			user4: {count: 7, includesPrivate: true}}},
+			user4: {count: 7, includesPrivate: true},
+		}},
 		{name: "RepositoriesAccessibleAndRelatedToUser4/SearchModeSource", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d&mode=%s", user4.ID, "source"), expectedResults: expectedResults{
 			nil:   {count: 0},
 			user:  {count: 1, includesPrivate: true},
-			user4: {count: 1, includesPrivate: true}}},
+			user4: {count: 1, includesPrivate: true},
+		}},
 		{name: "RepositoriesAccessibleAndRelatedToUser4/SearchModeFork", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d&mode=%s", user4.ID, "fork"), expectedResults: expectedResults{
 			nil:   {count: 1},
 			user:  {count: 1},
-			user4: {count: 2, includesPrivate: true}}},
+			user4: {count: 2, includesPrivate: true},
+		}},
 		{name: "RepositoriesAccessibleAndRelatedToUser4/SearchModeFork/Exclusive", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d&mode=%s&exclusive=1", user4.ID, "fork"), expectedResults: expectedResults{
 			nil:   {count: 1},
 			user:  {count: 1},
-			user4: {count: 2, includesPrivate: true}}},
+			user4: {count: 2, includesPrivate: true},
+		}},
 		{name: "RepositoriesAccessibleAndRelatedToUser4/SearchModeMirror", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d&mode=%s", user4.ID, "mirror"), expectedResults: expectedResults{
 			nil:   {count: 2},
 			user:  {count: 2},
-			user4: {count: 4, includesPrivate: true}}},
+			user4: {count: 4, includesPrivate: true},
+		}},
 		{name: "RepositoriesAccessibleAndRelatedToUser4/SearchModeMirror/Exclusive", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d&mode=%s&exclusive=1", user4.ID, "mirror"), expectedResults: expectedResults{
 			nil:   {count: 1},
 			user:  {count: 1},
-			user4: {count: 2, includesPrivate: true}}},
+			user4: {count: 2, includesPrivate: true},
+		}},
 		{name: "RepositoriesAccessibleAndRelatedToUser4/SearchModeCollaborative", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d&mode=%s", user4.ID, "collaborative"), expectedResults: expectedResults{
 			nil:   {count: 0},
 			user:  {count: 1, includesPrivate: true},
-			user4: {count: 1, includesPrivate: true}}},
+			user4: {count: 1, includesPrivate: true},
+		}},
 	}
 
 	for _, testCase := range testCases {
@@ -464,7 +487,7 @@ func TestAPIRepoTransfer(t *testing.T) {
 
 	defer prepareTestEnv(t)()
 
-	//create repo to move
+	// create repo to move
 	user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}).(*user_model.User)
 	session := loginUser(t, user.Name)
 	token := getTokenForLoggedInUser(t, session)
@@ -480,7 +503,7 @@ func TestAPIRepoTransfer(t *testing.T) {
 	resp := session.MakeRequest(t, req, http.StatusCreated)
 	DecodeJSON(t, resp, apiRepo)
 
-	//start testing
+	// start testing
 	for _, testCase := range testCases {
 		user = unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: testCase.ctxUserID}).(*user_model.User)
 		repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}).(*repo_model.Repository)
@@ -493,13 +516,13 @@ func TestAPIRepoTransfer(t *testing.T) {
 		session.MakeRequest(t, req, testCase.expectedStatus)
 	}
 
-	//cleanup
+	// cleanup
 	repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: apiRepo.ID}).(*repo_model.Repository)
 	_ = models.DeleteRepository(user, repo.OwnerID, repo.ID)
 }
 
 func transfer(t *testing.T) *repo_model.Repository {
-	//create repo to move
+	// create repo to move
 	user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}).(*user_model.User)
 	session := loginUser(t, user.Name)
 	token := getTokenForLoggedInUser(t, session)
diff --git a/integrations/api_repo_topic_test.go b/integrations/api_repo_topic_test.go
index c417b3a9d23..b7f9a5a5a68 100644
--- a/integrations/api_repo_topic_test.go
+++ b/integrations/api_repo_topic_test.go
@@ -155,5 +155,4 @@ func TestAPIRepoTopic(t *testing.T) {
 	// Test add a topic to repo with write access (requires repo admin access)
 	req = NewRequestf(t, "PUT", "/api/v1/repos/%s/%s/topics/%s?token=%s", user3.Name, repo3.Name, "topicName", token4)
 	session.MakeRequest(t, req, http.StatusForbidden)
-
 }
diff --git a/integrations/api_user_heatmap_test.go b/integrations/api_user_heatmap_test.go
index 019cf7dcac5..69f4ff2249b 100644
--- a/integrations/api_user_heatmap_test.go
+++ b/integrations/api_user_heatmap_test.go
@@ -22,7 +22,7 @@ func TestUserHeatmap(t *testing.T) {
 	normalUsername := "user2"
 	session := loginUser(t, adminUsername)
 
-	var fakeNow = time.Date(2011, 10, 20, 0, 0, 0, 0, time.Local)
+	fakeNow := time.Date(2011, 10, 20, 0, 0, 0, 0, time.Local)
 	timeutil.Set(fakeNow)
 	defer timeutil.Unset()
 
diff --git a/integrations/api_user_orgs_test.go b/integrations/api_user_orgs_test.go
index 09272726f66..219bd273c99 100644
--- a/integrations/api_user_orgs_test.go
+++ b/integrations/api_user_orgs_test.go
@@ -54,7 +54,7 @@ func TestUserOrgs(t *testing.T) {
 }
 
 func getUserOrgs(t *testing.T, userDoer, userCheck string) (orgs []*api.Organization) {
-	var token = ""
+	token := ""
 	session := emptyTestSession(t)
 	if len(userDoer) != 0 {
 		session = loginUser(t, userDoer)
diff --git a/integrations/attachment_test.go b/integrations/attachment_test.go
index 481104d73f5..25243feb3c2 100644
--- a/integrations/attachment_test.go
+++ b/integrations/attachment_test.go
@@ -32,7 +32,7 @@ func generateImg() bytes.Buffer {
 func createAttachment(t *testing.T, session *TestSession, repoURL, filename string, buff bytes.Buffer, expectedStatus int) string {
 	body := &bytes.Buffer{}
 
-	//Setup multi-part
+	// Setup multi-part
 	writer := multipart.NewWriter(body)
 	part, err := writer.CreateFormFile("file", filename)
 	assert.NoError(t, err)
@@ -86,7 +86,7 @@ func TestCreateIssueAttachment(t *testing.T) {
 	resp = session.MakeRequest(t, req, http.StatusFound)
 	test.RedirectURL(resp) // check that redirect URL exists
 
-	//Validate that attachment is available
+	// Validate that attachment is available
 	req = NewRequest(t, "GET", "/attachments/"+uuid)
 	session.MakeRequest(t, req, http.StatusOK)
 }
@@ -120,12 +120,12 @@ func TestGetAttachment(t *testing.T) {
 	}
 	for _, tc := range testCases {
 		t.Run(tc.name, func(t *testing.T) {
-			//Write empty file to be available for response
+			// Write empty file to be available for response
 			if tc.createFile {
 				_, err := storage.Attachments.Save(repo_model.AttachmentRelativePath(tc.uuid), strings.NewReader("hello world"), -1)
 				assert.NoError(t, err)
 			}
-			//Actual test
+			// Actual test
 			req := NewRequest(t, "GET", "/attachments/"+tc.uuid)
 			tc.session.MakeRequest(t, req, tc.want)
 		})
diff --git a/integrations/benchmarks_test.go b/integrations/benchmarks_test.go
index 517e7f005d9..ffae471307d 100644
--- a/integrations/benchmarks_test.go
+++ b/integrations/benchmarks_test.go
@@ -58,7 +58,7 @@ func BenchmarkRepoBranchCommit(b *testing.B) {
 					req := NewRequestf(b, "GET", "/api/v1/repos/%s/branches", repo.FullName())
 					resp := session.MakeRequest(b, req, http.StatusOK)
 					DecodeJSON(b, resp, &branches)
-					b.ResetTimer() //We measure from here
+					b.ResetTimer() // We measure from here
 					if len(branches) != 0 {
 						for i := 0; i < b.N; i++ {
 							req := NewRequestf(b, "GET", "/api/v1/repos/%s/commits?sha=%s", repo.FullName(), branches[i%len(branches)].Name)
diff --git a/integrations/cmd_keys_test.go b/integrations/cmd_keys_test.go
index d33765c4453..3d4194c3314 100644
--- a/integrations/cmd_keys_test.go
+++ b/integrations/cmd_keys_test.go
@@ -29,7 +29,8 @@ func Test_CmdKeys(t *testing.T) {
 		}{
 			{"test_empty_1", []string{"keys", "--username=git", "--type=test", "--content=test"}, true, ""},
 			{"test_empty_2", []string{"keys", "-e", "git", "-u", "git", "-t", "test", "-k", "test"}, true, ""},
-			{"with_key",
+			{
+				"with_key",
 				[]string{"keys", "-e", "git", "-u", "git", "-t", "ssh-rsa", "-k", "AAAAB3NzaC1yc2EAAAADAQABAAABgQDWVj0fQ5N8wNc0LVNA41wDLYJ89ZIbejrPfg/avyj3u/ZohAKsQclxG4Ju0VirduBFF9EOiuxoiFBRr3xRpqzpsZtnMPkWVWb+akZwBFAx8p+jKdy4QXR/SZqbVobrGwip2UjSrri1CtBxpJikojRIZfCnDaMOyd9Jp6KkujvniFzUWdLmCPxUE9zhTaPu0JsEP7MW0m6yx7ZUhHyfss+NtqmFTaDO+QlMR7L2QkDliN2Jl3Xa3PhuWnKJfWhdAq1Cw4oraKUOmIgXLkuiuxVQ6mD3AiFupkmfqdHq6h+uHHmyQqv3gU+/sD8GbGAhf6ftqhTsXjnv1Aj4R8NoDf9BS6KRkzkeun5UisSzgtfQzjOMEiJtmrep2ZQrMGahrXa+q4VKr0aKJfm+KlLfwm/JztfsBcqQWNcTURiCFqz+fgZw0Ey/de0eyMzldYTdXXNRYCKjs9bvBK+6SSXRM7AhftfQ0ZuoW5+gtinPrnmoOaSCEJbAiEiTO/BzOHgowiM="},
 				false,
 				"# gitea public key\ncommand=\"" + setting.AppPath + " --config=" + util.ShellEscape(setting.CustomConf) + " serv key-1\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,no-user-rc,restrict ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDWVj0fQ5N8wNc0LVNA41wDLYJ89ZIbejrPfg/avyj3u/ZohAKsQclxG4Ju0VirduBFF9EOiuxoiFBRr3xRpqzpsZtnMPkWVWb+akZwBFAx8p+jKdy4QXR/SZqbVobrGwip2UjSrri1CtBxpJikojRIZfCnDaMOyd9Jp6KkujvniFzUWdLmCPxUE9zhTaPu0JsEP7MW0m6yx7ZUhHyfss+NtqmFTaDO+QlMR7L2QkDliN2Jl3Xa3PhuWnKJfWhdAq1Cw4oraKUOmIgXLkuiuxVQ6mD3AiFupkmfqdHq6h+uHHmyQqv3gU+/sD8GbGAhf6ftqhTsXjnv1Aj4R8NoDf9BS6KRkzkeun5UisSzgtfQzjOMEiJtmrep2ZQrMGahrXa+q4VKr0aKJfm+KlLfwm/JztfsBcqQWNcTURiCFqz+fgZw0Ey/de0eyMzldYTdXXNRYCKjs9bvBK+6SSXRM7AhftfQ0ZuoW5+gtinPrnmoOaSCEJbAiEiTO/BzOHgowiM= user2@localhost\n",
@@ -38,7 +39,7 @@ func Test_CmdKeys(t *testing.T) {
 		}
 		for _, tt := range tests {
 			t.Run(tt.name, func(t *testing.T) {
-				realStdout := os.Stdout //Backup Stdout
+				realStdout := os.Stdout // Backup Stdout
 				r, w, _ := os.Pipe()
 				os.Stdout = w
 
@@ -56,7 +57,7 @@ func Test_CmdKeys(t *testing.T) {
 				if tt.expectedOutput != commandOutput {
 					t.Errorf("expectedOutput: %#v, commandOutput: %#v", tt.expectedOutput, commandOutput)
 				}
-				//Restore stdout
+				// Restore stdout
 				os.Stdout = realStdout
 			})
 		}
diff --git a/integrations/dump_restore_test.go b/integrations/dump_restore_test.go
index f35af43a91f..053ca478555 100644
--- a/integrations/dump_restore_test.go
+++ b/integrations/dump_restore_test.go
@@ -55,7 +55,7 @@ func TestDumpRestore(t *testing.T) {
 		//
 
 		ctx := context.Background()
-		var opts = migrations.MigrateOptions{
+		opts := migrations.MigrateOptions{
 			GitServiceType: structs.GiteaService,
 			Issues:         true,
 			Labels:         true,
@@ -109,11 +109,11 @@ func TestDumpRestore(t *testing.T) {
 
 		beforeBytes, err := os.ReadFile(filepath.Join(d, "issue.yml"))
 		assert.NoError(t, err)
-		var before = make([]*base.Issue, 0, 10)
+		before := make([]*base.Issue, 0, 10)
 		assert.NoError(t, yaml.Unmarshal(beforeBytes, &before))
 		afterBytes, err := os.ReadFile(filepath.Join(newd, "issue.yml"))
 		assert.NoError(t, err)
-		var after = make([]*base.Issue, 0, 10)
+		after := make([]*base.Issue, 0, 10)
 		assert.NoError(t, yaml.Unmarshal(afterBytes, &after))
 
 		assert.EqualValues(t, len(before), len(after))
diff --git a/integrations/editor_test.go b/integrations/editor_test.go
index a46712293e8..05892aa9068 100644
--- a/integrations/editor_test.go
+++ b/integrations/editor_test.go
@@ -120,7 +120,6 @@ func testEditFile(t *testing.T, session *TestSession, user, repo, branch, filePa
 }
 
 func testEditFileToNewBranch(t *testing.T, session *TestSession, user, repo, branch, targetBranch, filePath, newContent string) *httptest.ResponseRecorder {
-
 	// Get to the 'edit this file' page
 	req := NewRequest(t, "GET", path.Join(user, repo, "_edit", branch, filePath))
 	resp := session.MakeRequest(t, req, http.StatusOK)
diff --git a/integrations/eventsource_test.go b/integrations/eventsource_test.go
index 8984c1fcb02..ff329886348 100644
--- a/integrations/eventsource_test.go
+++ b/integrations/eventsource_test.go
@@ -69,7 +69,7 @@ func TestEventSourceManagerRun(t *testing.T) {
 	DecodeJSON(t, resp, &apiNL)
 	assert.Len(t, apiNL, 2)
 
-	lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" //946687801 <- only Notification 4 is in this filter ...
+	lastReadAt := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801 <- only Notification 4 is in this filter ...
 	req = NewRequest(t, "PUT", fmt.Sprintf("/api/v1/repos/%s/%s/notifications?last_read_at=%s&token=%s", user2.Name, repo1.Name, lastReadAt, token))
 	session.MakeRequest(t, req, http.StatusResetContent)
 
diff --git a/integrations/git_helper_for_declarative_test.go b/integrations/git_helper_for_declarative_test.go
index 282bdd04a9d..b13c912fd79 100644
--- a/integrations/git_helper_for_declarative_test.go
+++ b/integrations/git_helper_for_declarative_test.go
@@ -27,12 +27,11 @@ import (
 )
 
 func withKeyFile(t *testing.T, keyname string, callback func(string)) {
-
 	tmpDir, err := os.MkdirTemp("", "key-file")
 	assert.NoError(t, err)
 	defer util.RemoveAll(tmpDir)
 
-	err = os.Chmod(tmpDir, 0700)
+	err = os.Chmod(tmpDir, 0o700)
 	assert.NoError(t, err)
 
 	keyFile := filepath.Join(tmpDir, keyname)
@@ -40,10 +39,10 @@ func withKeyFile(t *testing.T, keyname string, callback func(string)) {
 	assert.NoError(t, err)
 
 	err = os.WriteFile(path.Join(tmpDir, "ssh"), []byte("#!/bin/bash\n"+
-		"ssh -o \"UserKnownHostsFile=/dev/null\" -o \"StrictHostKeyChecking=no\" -o \"IdentitiesOnly=yes\" -i \""+keyFile+"\" \"$@\""), 0700)
+		"ssh -o \"UserKnownHostsFile=/dev/null\" -o \"StrictHostKeyChecking=no\" -o \"IdentitiesOnly=yes\" -i \""+keyFile+"\" \"$@\""), 0o700)
 	assert.NoError(t, err)
 
-	//Setup ssh wrapper
+	// Setup ssh wrapper
 	os.Setenv("GIT_SSH", path.Join(tmpDir, "ssh"))
 	os.Setenv("GIT_SSH_COMMAND",
 		"ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -i \""+keyFile+"\"")
@@ -103,7 +102,7 @@ func onGiteaRunTB(t testing.TB, callback func(testing.TB, *url.URL), prepare ...
 	}()
 
 	go s.Serve(listener)
-	//Started by config go ssh.Listen(setting.SSH.ListenHost, setting.SSH.ListenPort, setting.SSH.ServerCiphers, setting.SSH.ServerKeyExchanges, setting.SSH.ServerMACs)
+	// Started by config go ssh.Listen(setting.SSH.ListenHost, setting.SSH.ListenPort, setting.SSH.ServerCiphers, setting.SSH.ServerKeyExchanges, setting.SSH.ServerMACs)
 
 	callback(t, u)
 }
@@ -142,7 +141,7 @@ func doGitInitTestRepository(dstPath string) func(*testing.T) {
 		// forcibly set default branch to master
 		_, err := git.NewCommand("symbolic-ref", "HEAD", git.BranchPrefix+"master").RunInDir(dstPath)
 		assert.NoError(t, err)
-		assert.NoError(t, os.WriteFile(filepath.Join(dstPath, "README.md"), []byte(fmt.Sprintf("# Testing Repository\n\nOriginally created in: %s", dstPath)), 0644))
+		assert.NoError(t, os.WriteFile(filepath.Join(dstPath, "README.md"), []byte(fmt.Sprintf("# Testing Repository\n\nOriginally created in: %s", dstPath)), 0o644))
 		assert.NoError(t, git.AddChanges(dstPath, true))
 		signature := git.Signature{
 			Email: "test@example.com",
diff --git a/integrations/git_smart_http_test.go b/integrations/git_smart_http_test.go
index c049f71c303..b6043fe7066 100644
--- a/integrations/git_smart_http_test.go
+++ b/integrations/git_smart_http_test.go
@@ -18,7 +18,7 @@ func TestGitSmartHTTP(t *testing.T) {
 }
 
 func testGitSmartHTTP(t *testing.T, u *url.URL) {
-	var kases = []struct {
+	kases := []struct {
 		p    string
 		code int
 	}{
diff --git a/integrations/git_test.go b/integrations/git_test.go
index 0d33c786aae..243cca2e55b 100644
--- a/integrations/git_test.go
+++ b/integrations/git_test.go
@@ -32,8 +32,8 @@ import (
 )
 
 const (
-	littleSize = 1024              //1ko
-	bigSize    = 128 * 1024 * 1024 //128Mo
+	littleSize = 1024              // 1ko
+	bigSize    = 128 * 1024 * 1024 // 128Mo
 )
 
 func TestGit(t *testing.T) {
@@ -96,15 +96,15 @@ func testGit(t *testing.T, u *url.URL) {
 		t.Run("AddUserAsCollaborator", doAPIAddCollaborator(forkedUserCtx, sshContext.Username, perm.AccessModeRead))
 		t.Run("ForkFromDifferentUser", doAPIForkRepository(sshContext, forkedUserCtx.Username))
 
-		//Setup key the user ssh key
+		// Setup key the user ssh key
 		withKeyFile(t, keyname, func(keyFile string) {
 			t.Run("CreateUserKey", doAPICreateUserKey(sshContext, "test-key", keyFile))
 
-			//Setup remote link
-			//TODO: get url from api
+			// Setup remote link
+			// TODO: get url from api
 			sshURL := createSSHUrl(sshContext.GitPath(), u)
 
-			//Setup clone folder
+			// Setup clone folder
 			dstPath, err := os.MkdirTemp("", sshContext.Reponame)
 			assert.NoError(t, err)
 			defer util.RemoveAll(dstPath)
@@ -135,7 +135,6 @@ func ensureAnonymousClone(t *testing.T, u *url.URL) {
 	assert.NoError(t, err)
 	defer util.RemoveAll(dstLocalPath)
 	t.Run("CloneAnonymous", doGitClone(dstLocalPath, u))
-
 }
 
 func standardCommitAndPushTest(t *testing.T, dstPath string) (little, big string) {
@@ -300,13 +299,13 @@ func lockFileTest(t *testing.T, filename, repoPath string) {
 func doCommitAndPush(t *testing.T, size int, repoPath, prefix string) string {
 	name, err := generateCommitWithNewData(size, repoPath, "user2@example.com", "User Two", prefix)
 	assert.NoError(t, err)
-	_, err = git.NewCommand("push", "origin", "master").RunInDir(repoPath) //Push
+	_, err = git.NewCommand("push", "origin", "master").RunInDir(repoPath) // Push
 	assert.NoError(t, err)
 	return name
 }
 
 func generateCommitWithNewData(size int, repoPath, email, fullName, prefix string) (string, error) {
-	//Generate random file
+	// Generate random file
 	bufSize := 4 * 1024
 	if bufSize > size {
 		bufSize = size
@@ -339,7 +338,7 @@ func generateCommitWithNewData(size int, repoPath, email, fullName, prefix strin
 		return "", err
 	}
 
-	//Commit
+	// Commit
 	// Now here we should explicitly allow lfs filters to run
 	globalArgs := allowLFSFilters()
 	err = git.AddChangesWithArgs(repoPath, globalArgs, false, filepath.Base(tmpFile.Name()))
@@ -639,7 +638,7 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, baseBranch, headB
 		t.Run("CreateHeadBranch", doGitCreateBranch(dstPath, headBranch))
 
 		t.Run("AddCommit", func(t *testing.T) {
-			err := os.WriteFile(path.Join(dstPath, "test_file"), []byte("## test content"), 0666)
+			err := os.WriteFile(path.Join(dstPath, "test_file"), []byte("## test content"), 0o666)
 			if !assert.NoError(t, err) {
 				return
 			}
@@ -713,7 +712,7 @@ func doCreateAgitFlowPull(dstPath string, ctx *APITestContext, baseBranch, headB
 		}
 
 		t.Run("AddCommit2", func(t *testing.T) {
-			err := os.WriteFile(path.Join(dstPath, "test_file"), []byte("## test content \n ## test content 2"), 0666)
+			err := os.WriteFile(path.Join(dstPath, "test_file"), []byte("## test content \n ## test content 2"), 0o666)
 			if !assert.NoError(t, err) {
 				return
 			}
diff --git a/integrations/gpg_git_test.go b/integrations/gpg_git_test.go
index 8478f53c0e9..461f3c503d5 100644
--- a/integrations/gpg_git_test.go
+++ b/integrations/gpg_git_test.go
@@ -32,7 +32,7 @@ func TestGPGGit(t *testing.T) {
 	assert.NoError(t, err)
 	defer util.RemoveAll(tmpDir)
 
-	err = os.Chmod(tmpDir, 0700)
+	err = os.Chmod(tmpDir, 0o700)
 	assert.NoError(t, err)
 
 	oldGNUPGHome := os.Getenv("GNUPGHOME")
@@ -257,7 +257,6 @@ func TestGPGGit(t *testing.T) {
 					}
 					assert.Equal(t, "gitea@fake.local", response.Verification.Signer.Email)
 				}))
-
 		})
 	}, false)
 	var pr api.PullRequest
@@ -321,7 +320,6 @@ func TestGPGGit(t *testing.T) {
 				assert.NotNil(t, branch.Commit.Verification)
 				assert.True(t, branch.Commit.Verification.Verified)
 			}))
-
 		})
 	}, false)
 }
diff --git a/integrations/integration_test.go b/integrations/integration_test.go
index 527d4b951ad..dfa5bade785 100644
--- a/integrations/integration_test.go
+++ b/integrations/integration_test.go
@@ -268,10 +268,10 @@ func prepareTestEnv(t testing.TB, skip ...int) func() {
 			assert.NoError(t, err, "unable to read the new repo root: %v\n", err)
 		}
 		for _, repoDir := range repoDirs {
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755)
 		}
 	}
 
@@ -395,7 +395,7 @@ func loginUserWithPassword(t testing.TB, userName, password string) *TestSession
 	return session
 }
 
-//token has to be unique this counter take care of
+// token has to be unique this counter take care of
 var tokenCounter int64
 
 func getTokenForLoggedInUser(t testing.TB, session *TestSession) string {
@@ -564,10 +564,10 @@ func resetFixtures(t *testing.T) {
 			assert.NoError(t, err, "unable to read the new repo root: %v\n", err)
 		}
 		for _, repoDir := range repoDirs {
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755)
 		}
 	}
 }
diff --git a/integrations/issue_test.go b/integrations/issue_test.go
index a2c74d4bdd8..29de774ee4d 100644
--- a/integrations/issue_test.go
+++ b/integrations/issue_test.go
@@ -121,7 +121,6 @@ func TestNoLoginViewIssue(t *testing.T) {
 }
 
 func testNewIssue(t *testing.T, session *TestSession, user, repo, title, content string) string {
-
 	req := NewRequest(t, "GET", path.Join(user, repo, "issues", "new"))
 	resp := session.MakeRequest(t, req, http.StatusOK)
 
@@ -149,7 +148,6 @@ func testNewIssue(t *testing.T, session *TestSession, user, repo, title, content
 }
 
 func testIssueAddComment(t *testing.T, session *TestSession, issueURL, content, status string) int64 {
-
 	req := NewRequest(t, "GET", issueURL)
 	resp := session.MakeRequest(t, req, http.StatusOK)
 
@@ -244,7 +242,8 @@ func TestIssueCrossReference(t *testing.T) {
 		RefIssueID:   issueRef.ID,
 		RefCommentID: 0,
 		RefIsPull:    false,
-		RefAction:    references.XRefActionNone})
+		RefAction:    references.XRefActionNone,
+	})
 
 	// Edit title, neuter ref
 	testIssueChangeInfo(t, "user2", issueRefURL, "title", "Title no ref")
@@ -254,7 +253,8 @@ func TestIssueCrossReference(t *testing.T) {
 		RefIssueID:   issueRef.ID,
 		RefCommentID: 0,
 		RefIsPull:    false,
-		RefAction:    references.XRefActionNeutered})
+		RefAction:    references.XRefActionNeutered,
+	})
 
 	// Ref from issue content
 	issueRefURL, issueRef = testIssueWithBean(t, "user2", 1, "TitleXRef", fmt.Sprintf("Description ref #%d", issueBase.Index))
@@ -264,7 +264,8 @@ func TestIssueCrossReference(t *testing.T) {
 		RefIssueID:   issueRef.ID,
 		RefCommentID: 0,
 		RefIsPull:    false,
-		RefAction:    references.XRefActionNone})
+		RefAction:    references.XRefActionNone,
+	})
 
 	// Edit content, neuter ref
 	testIssueChangeInfo(t, "user2", issueRefURL, "content", "Description no ref")
@@ -274,7 +275,8 @@ func TestIssueCrossReference(t *testing.T) {
 		RefIssueID:   issueRef.ID,
 		RefCommentID: 0,
 		RefIsPull:    false,
-		RefAction:    references.XRefActionNeutered})
+		RefAction:    references.XRefActionNeutered,
+	})
 
 	// Ref from a comment
 	session := loginUser(t, "user2")
@@ -285,7 +287,8 @@ func TestIssueCrossReference(t *testing.T) {
 		RefIssueID:   issueRef.ID,
 		RefCommentID: commentID,
 		RefIsPull:    false,
-		RefAction:    references.XRefActionNone}
+		RefAction:    references.XRefActionNone,
+	}
 	unittest.AssertExistsAndLoadBean(t, comment)
 
 	// Ref from a different repository
@@ -296,7 +299,8 @@ func TestIssueCrossReference(t *testing.T) {
 		RefIssueID:   issueRef.ID,
 		RefCommentID: 0,
 		RefIsPull:    false,
-		RefAction:    references.XRefActionNone})
+		RefAction:    references.XRefActionNone,
+	})
 }
 
 func testIssueWithBean(t *testing.T, user string, repoID int64, title, content string) (string, *models.Issue) {
diff --git a/integrations/lfs_local_endpoint_test.go b/integrations/lfs_local_endpoint_test.go
index 7e0166b3818..9de0ec18c90 100644
--- a/integrations/lfs_local_endpoint_test.go
+++ b/integrations/lfs_local_endpoint_test.go
@@ -29,13 +29,13 @@ func TestDetermineLocalEndpoint(t *testing.T) {
 
 	rootdotgit, _ := os.MkdirTemp("", "lfs_test")
 	defer os.RemoveAll(rootdotgit)
-	os.Mkdir(filepath.Join(rootdotgit, ".git"), 0700)
+	os.Mkdir(filepath.Join(rootdotgit, ".git"), 0o700)
 
 	lfsroot, _ := os.MkdirTemp("", "lfs_test")
 	defer os.RemoveAll(lfsroot)
 
 	// Test cases
-	var cases = []struct {
+	cases := []struct {
 		cloneurl string
 		lfsurl   string
 		expected *url.URL
diff --git a/integrations/links_test.go b/integrations/links_test.go
index d1d90cd5e3c..f514aa7757b 100644
--- a/integrations/links_test.go
+++ b/integrations/links_test.go
@@ -20,7 +20,7 @@ import (
 func TestLinksNoLogin(t *testing.T) {
 	defer prepareTestEnv(t)()
 
-	var links = []string{
+	links := []string{
 		"/explore/repos",
 		"/explore/repos?q=test&tab=",
 		"/explore/users",
@@ -49,7 +49,7 @@ func TestLinksNoLogin(t *testing.T) {
 func TestRedirectsNoLogin(t *testing.T) {
 	defer prepareTestEnv(t)()
 
-	var redirects = map[string]string{
+	redirects := map[string]string{
 		"/user2/repo1/commits/master":                "/user2/repo1/commits/branch/master",
 		"/user2/repo1/src/master":                    "/user2/repo1/src/branch/master",
 		"/user2/repo1/src/master/file.txt":           "/user2/repo1/src/branch/master/file.txt",
@@ -67,7 +67,7 @@ func TestRedirectsNoLogin(t *testing.T) {
 func TestNoLoginNotExist(t *testing.T) {
 	defer prepareTestEnv(t)()
 
-	var links = []string{
+	links := []string{
 		"/user5/repo4/projects",
 		"/user5/repo4/projects/3",
 	}
@@ -79,7 +79,7 @@ func TestNoLoginNotExist(t *testing.T) {
 }
 
 func testLinksAsUser(userName string, t *testing.T) {
-	var links = []string{
+	links := []string{
 		"/explore/repos",
 		"/explore/repos?q=test&tab=",
 		"/explore/users",
@@ -138,7 +138,7 @@ func testLinksAsUser(userName string, t *testing.T) {
 	var apiRepos []*api.Repository
 	DecodeJSON(t, respAPI, &apiRepos)
 
-	var repoLinks = []string{
+	repoLinks := []string{
 		"",
 		"/issues",
 		"/pulls",
diff --git a/integrations/migration-test/migration_test.go b/integrations/migration-test/migration_test.go
index 26617041225..0518dd11798 100644
--- a/integrations/migration-test/migration_test.go
+++ b/integrations/migration-test/migration_test.go
@@ -74,10 +74,10 @@ func initMigrationTest(t *testing.T) func() {
 			assert.NoError(t, err, "unable to read the new repo root: %v\n", err)
 		}
 		for _, repoDir := range repoDirs {
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755)
 		}
 	}
 
@@ -315,6 +315,5 @@ func TestMigrations(t *testing.T) {
 		t.Run(fmt.Sprintf("Migrate-%s-%s", dialect, version), func(t *testing.T) {
 			doMigrationTest(t, version)
 		})
-
 	}
 }
diff --git a/integrations/nonascii_branches_test.go b/integrations/nonascii_branches_test.go
index 71d0ee3cb10..f2992ecc1f8 100644
--- a/integrations/nonascii_branches_test.go
+++ b/integrations/nonascii_branches_test.go
@@ -210,5 +210,4 @@ func TestNonasciiBranches(t *testing.T) {
 	}
 
 	setDefaultBranch(t, session, user, repo, "master")
-
 }
diff --git a/integrations/privateactivity_test.go b/integrations/privateactivity_test.go
index 7969339644e..44df39b6e00 100644
--- a/integrations/privateactivity_test.go
+++ b/integrations/privateactivity_test.go
@@ -18,8 +18,10 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-const privateActivityTestAdmin = "user1"
-const privateActivityTestUser = "user2"
+const (
+	privateActivityTestAdmin = "user1"
+	privateActivityTestUser  = "user2"
+)
 
 // user3 is an organization so it is not usable here
 const privateActivityTestOtherUser = "user4"
diff --git a/integrations/pull_merge_test.go b/integrations/pull_merge_test.go
index ed34a0f6d68..49e7dc04eca 100644
--- a/integrations/pull_merge_test.go
+++ b/integrations/pull_merge_test.go
@@ -65,7 +65,7 @@ func testPullCleanUp(t *testing.T, session *TestSession, user, repo, pullnum str
 
 func TestPullMerge(t *testing.T) {
 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
-		hookTasks, err := webhook.HookTasks(1, 1) //Retrieve previous hook number
+		hookTasks, err := webhook.HookTasks(1, 1) // Retrieve previous hook number
 		assert.NoError(t, err)
 		hookTasksLenBefore := len(hookTasks)
 
@@ -87,7 +87,7 @@ func TestPullMerge(t *testing.T) {
 
 func TestPullRebase(t *testing.T) {
 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
-		hookTasks, err := webhook.HookTasks(1, 1) //Retrieve previous hook number
+		hookTasks, err := webhook.HookTasks(1, 1) // Retrieve previous hook number
 		assert.NoError(t, err)
 		hookTasksLenBefore := len(hookTasks)
 
@@ -109,7 +109,7 @@ func TestPullRebase(t *testing.T) {
 
 func TestPullRebaseMerge(t *testing.T) {
 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
-		hookTasks, err := webhook.HookTasks(1, 1) //Retrieve previous hook number
+		hookTasks, err := webhook.HookTasks(1, 1) // Retrieve previous hook number
 		assert.NoError(t, err)
 		hookTasksLenBefore := len(hookTasks)
 
@@ -131,7 +131,7 @@ func TestPullRebaseMerge(t *testing.T) {
 
 func TestPullSquash(t *testing.T) {
 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
-		hookTasks, err := webhook.HookTasks(1, 1) //Retrieve previous hook number
+		hookTasks, err := webhook.HookTasks(1, 1) // Retrieve previous hook number
 		assert.NoError(t, err)
 		hookTasksLenBefore := len(hookTasks)
 
diff --git a/integrations/pull_update_test.go b/integrations/pull_update_test.go
index b80b85fbeb3..dc2803aca03 100644
--- a/integrations/pull_update_test.go
+++ b/integrations/pull_update_test.go
@@ -23,12 +23,12 @@ import (
 
 func TestAPIPullUpdate(t *testing.T) {
 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
-		//Create PR to test
+		// Create PR to test
 		user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}).(*user_model.User)
 		org26 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 26}).(*user_model.User)
 		pr := createOutdatedPR(t, user, org26)
 
-		//Test GetDiverging
+		// Test GetDiverging
 		diffCount, err := pull_service.GetDiverging(git.DefaultContext, pr)
 		assert.NoError(t, err)
 		assert.EqualValues(t, 1, diffCount.Behind)
@@ -41,7 +41,7 @@ func TestAPIPullUpdate(t *testing.T) {
 		req := NewRequestf(t, "POST", "/api/v1/repos/%s/%s/pulls/%d/update?token="+token, pr.BaseRepo.OwnerName, pr.BaseRepo.Name, pr.Issue.Index)
 		session.MakeRequest(t, req, http.StatusOK)
 
-		//Test GetDiverging after update
+		// Test GetDiverging after update
 		diffCount, err = pull_service.GetDiverging(git.DefaultContext, pr)
 		assert.NoError(t, err)
 		assert.EqualValues(t, 0, diffCount.Behind)
@@ -51,12 +51,12 @@ func TestAPIPullUpdate(t *testing.T) {
 
 func TestAPIPullUpdateByRebase(t *testing.T) {
 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
-		//Create PR to test
+		// Create PR to test
 		user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}).(*user_model.User)
 		org26 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 26}).(*user_model.User)
 		pr := createOutdatedPR(t, user, org26)
 
-		//Test GetDiverging
+		// Test GetDiverging
 		diffCount, err := pull_service.GetDiverging(git.DefaultContext, pr)
 		assert.NoError(t, err)
 		assert.EqualValues(t, 1, diffCount.Behind)
@@ -69,7 +69,7 @@ func TestAPIPullUpdateByRebase(t *testing.T) {
 		req := NewRequestf(t, "POST", "/api/v1/repos/%s/%s/pulls/%d/update?style=rebase&token="+token, pr.BaseRepo.OwnerName, pr.BaseRepo.Name, pr.Issue.Index)
 		session.MakeRequest(t, req, http.StatusOK)
 
-		//Test GetDiverging after update
+		// Test GetDiverging after update
 		diffCount, err = pull_service.GetDiverging(git.DefaultContext, pr)
 		assert.NoError(t, err)
 		assert.EqualValues(t, 0, diffCount.Behind)
@@ -98,7 +98,7 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *models.Pul
 	assert.NoError(t, err)
 	assert.NotEmpty(t, headRepo)
 
-	//create a commit on base Repo
+	// create a commit on base Repo
 	_, err = files_service.CreateOrUpdateRepoFile(git.DefaultContext, baseRepo, actor, &files_service.UpdateRepoFileOptions{
 		TreePath:  "File_A",
 		Message:   "Add File A",
@@ -121,7 +121,7 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *models.Pul
 	})
 	assert.NoError(t, err)
 
-	//create a commit on head Repo
+	// create a commit on head Repo
 	_, err = files_service.CreateOrUpdateRepoFile(git.DefaultContext, headRepo, actor, &files_service.UpdateRepoFileOptions{
 		TreePath:  "File_B",
 		Message:   "Add File on PR branch",
@@ -144,7 +144,7 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *models.Pul
 	})
 	assert.NoError(t, err)
 
-	//create Pull
+	// create Pull
 	pullIssue := &models.Issue{
 		RepoID:   baseRepo.ID,
 		Title:    "Test Pull -to-update-",
diff --git a/integrations/repo_activity_test.go b/integrations/repo_activity_test.go
index 66cc8dcfe2b..a10ec7f2d3d 100644
--- a/integrations/repo_activity_test.go
+++ b/integrations/repo_activity_test.go
@@ -18,7 +18,6 @@ import (
 
 func TestRepoActivity(t *testing.T) {
 	onGiteaRun(t, func(t *testing.T, giteaURL *url.URL) {
-
 		session := loginUser(t, "user1")
 
 		// Create PRs (1 merged & 2 proposed)
diff --git a/integrations/repo_commits_test.go b/integrations/repo_commits_test.go
index 4be1e4ec8e4..b53d988c58b 100644
--- a/integrations/repo_commits_test.go
+++ b/integrations/repo_commits_test.go
@@ -71,12 +71,12 @@ func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {
 		assert.True(t, sel.HasClass(class))
 	}
 
-	//By SHA
+	// By SHA
 	req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/commits/"+path.Base(commitURL)+"/statuses")
 	reqOne := NewRequest(t, "GET", "/api/v1/repos/user2/repo1/commits/"+path.Base(commitURL)+"/status")
 	testRepoCommitsWithStatus(t, session.MakeRequest(t, req, http.StatusOK), session.MakeRequest(t, reqOne, http.StatusOK), state)
 
-	//By Ref
+	// By Ref
 	req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/commits/master/statuses")
 	reqOne = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/commits/master/status")
 	testRepoCommitsWithStatus(t, session.MakeRequest(t, req, http.StatusOK), session.MakeRequest(t, reqOne, http.StatusOK), state)
diff --git a/integrations/repofiles_update_test.go b/integrations/repofiles_update_test.go
index 97cdd67ba34..46c73b48f6b 100644
--- a/integrations/repofiles_update_test.go
+++ b/integrations/repofiles_update_test.go
@@ -399,7 +399,7 @@ func TestCreateOrUpdateRepoFileErrors(t *testing.T) {
 
 		t.Run("create file that already exists", func(t *testing.T) {
 			opts := getCreateRepoFileOptions(repo)
-			opts.TreePath = "README.md" //already exists
+			opts.TreePath = "README.md" // already exists
 			fileResponse, err := files_service.CreateOrUpdateRepoFile(git.DefaultContext, repo, doer, opts)
 			assert.Nil(t, fileResponse)
 			assert.Error(t, err)
diff --git a/integrations/setting_test.go b/integrations/setting_test.go
index eb495acb244..c0455a45202 100644
--- a/integrations/setting_test.go
+++ b/integrations/setting_test.go
@@ -77,7 +77,6 @@ func TestSettingShowUserEmailProfile(t *testing.T) {
 		htmlDoc.doc.Find(".user.profile").Text(),
 		"user2@example.com",
 	)
-
 }
 
 func TestSettingLandingPage(t *testing.T) {
diff --git a/integrations/ssh_key_test.go b/integrations/ssh_key_test.go
index f9c807413ad..e0ff13543e5 100644
--- a/integrations/ssh_key_test.go
+++ b/integrations/ssh_key_test.go
@@ -28,7 +28,7 @@ func doCheckRepositoryEmptyStatus(ctx APITestContext, isEmpty bool) func(*testin
 
 func doAddChangesToCheckout(dstPath, filename string) func(*testing.T) {
 	return func(t *testing.T) {
-		assert.NoError(t, os.WriteFile(filepath.Join(dstPath, filename), []byte(fmt.Sprintf("# Testing Repository\n\nOriginally created in: %s at time: %v", dstPath, time.Now())), 0644))
+		assert.NoError(t, os.WriteFile(filepath.Join(dstPath, filename), []byte(fmt.Sprintf("# Testing Repository\n\nOriginally created in: %s at time: %v", dstPath, time.Now())), 0o644))
 		assert.NoError(t, git.AddChanges(dstPath, true))
 		signature := git.Signature{
 			Email: "test@example.com",
@@ -67,7 +67,7 @@ func testPushDeployKeyOnEmptyRepo(t *testing.T, u *url.URL) {
 
 		t.Run("InitTestRepository", doGitInitTestRepository(dstPath))
 
-		//Setup remote link
+		// Setup remote link
 		sshURL := createSSHUrl(ctx.GitPath(), u)
 
 		t.Run("AddRemote", doGitAddRemote(dstPath, "origin", sshURL))
diff --git a/integrations/testlogger.go b/integrations/testlogger.go
index 69db480c159..246f6fe7d02 100644
--- a/integrations/testlogger.go
+++ b/integrations/testlogger.go
@@ -185,7 +185,7 @@ func (log *TestLogger) Init(config string) error {
 func (log *TestLogger) Flush() {
 }
 
-//ReleaseReopen does nothing
+// ReleaseReopen does nothing
 func (log *TestLogger) ReleaseReopen() error {
 	return nil
 }
diff --git a/integrations/timetracking_test.go b/integrations/timetracking_test.go
index 7cf5f9bc8f0..17e9174e5d9 100644
--- a/integrations/timetracking_test.go
+++ b/integrations/timetracking_test.go
@@ -19,15 +19,16 @@ func TestViewTimetrackingControls(t *testing.T) {
 	defer prepareTestEnv(t)()
 	session := loginUser(t, "user2")
 	testViewTimetrackingControls(t, session, "user2", "repo1", "1", true)
-	//user2/repo1
+	// user2/repo1
 }
 
 func TestNotViewTimetrackingControls(t *testing.T) {
 	defer prepareTestEnv(t)()
 	session := loginUser(t, "user5")
 	testViewTimetrackingControls(t, session, "user2", "repo1", "1", false)
-	//user2/repo1
+	// user2/repo1
 }
+
 func TestViewTimetrackingControlsDisabled(t *testing.T) {
 	defer prepareTestEnv(t)()
 	session := loginUser(t, "user2")
diff --git a/integrations/user_avatar_test.go b/integrations/user_avatar_test.go
index d1005bce078..7c2267885ae 100644
--- a/integrations/user_avatar_test.go
+++ b/integrations/user_avatar_test.go
@@ -42,7 +42,7 @@ func TestUserAvatar(t *testing.T) {
 
 		body := &bytes.Buffer{}
 
-		//Setup multi-part
+		// Setup multi-part
 		writer := multipart.NewWriter(body)
 		writer.WriteField("source", "local")
 		part, err := writer.CreateFormFile("avatar", "avatar-for-testuseravatar.png")
diff --git a/integrations/user_test.go b/integrations/user_test.go
index 8552993217a..c12c2be40e6 100644
--- a/integrations/user_test.go
+++ b/integrations/user_test.go
@@ -119,15 +119,15 @@ func TestRenameReservedUsername(t *testing.T) {
 
 func TestExportUserGPGKeys(t *testing.T) {
 	defer prepareTestEnv(t)()
-	//Export empty key list
+	// Export empty key list
 	testExportUserGPGKeys(t, "user1", `-----BEGIN PGP PUBLIC KEY BLOCK-----
 
 
 =twTO
 -----END PGP PUBLIC KEY BLOCK-----
 `)
-	//Import key
-	//User1 <user1@example.com>
+	// Import key
+	// User1 <user1@example.com>
 	session := loginUser(t, "user1")
 	token := getTokenForLoggedInUser(t, session)
 	testCreateGPGKey(t, session.MakeRequest, token, http.StatusCreated, `-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -161,7 +161,7 @@ GrE0MHOxUbc9tbtyk0F1SuzREUBH
 =DDXw
 -----END PGP PUBLIC KEY BLOCK-----
 `)
-	//Export new key
+	// Export new key
 	testExportUserGPGKeys(t, "user1", `-----BEGIN PGP PUBLIC KEY BLOCK-----
 
 xsBNBFyy/VUBCADJ7zbM20Z1RWmFoVgp5WkQfI2rU1Vj9cQHes9i42wVLLtcbPeo
@@ -200,6 +200,6 @@ func testExportUserGPGKeys(t *testing.T, user, expected string) {
 	t.Logf("Testing username %s export gpg keys", user)
 	req := NewRequest(t, "GET", "/"+user+".gpg")
 	resp := session.MakeRequest(t, req, http.StatusOK)
-	//t.Log(resp.Body.String())
+	// t.Log(resp.Body.String())
 	assert.Equal(t, expected, resp.Body.String())
 }
diff --git a/main.go b/main.go
index 6cbdc244018..19b9dd63275 100644
--- a/main.go
+++ b/main.go
@@ -186,7 +186,7 @@ DEFAULT CONFIGURATION:
 }
 
 func formatBuiltWith() string {
-	var version = runtime.Version()
+	version := runtime.Version()
 	if len(MakeVersion) > 0 {
 		version = MakeVersion + ", " + runtime.Version()
 	}
diff --git a/models/auth/webauthn.go b/models/auth/webauthn.go
index 9e091346626..e6c446af942 100644
--- a/models/auth/webauthn.go
+++ b/models/auth/webauthn.go
@@ -12,9 +12,9 @@ import (
 
 	"code.gitea.io/gitea/models/db"
 	"code.gitea.io/gitea/modules/timeutil"
-	"xorm.io/xorm"
 
 	"github.com/duo-labs/webauthn/webauthn"
+	"xorm.io/xorm"
 )
 
 // ErrWebAuthnCredentialNotExist represents a "ErrWebAuthnCRedentialNotExist" kind of error.
@@ -30,14 +30,14 @@ func (err ErrWebAuthnCredentialNotExist) Error() string {
 	return fmt.Sprintf("WebAuthn credential does not exist [credential_id: %s]", err.CredentialID)
 }
 
-//IsErrWebAuthnCredentialNotExist checks if an error is a ErrWebAuthnCredentialNotExist.
+// IsErrWebAuthnCredentialNotExist checks if an error is a ErrWebAuthnCredentialNotExist.
 func IsErrWebAuthnCredentialNotExist(err error) bool {
 	_, ok := err.(ErrWebAuthnCredentialNotExist)
 	return ok
 }
 
-//WebAuthnCredential represents the WebAuthn credential data for a public-key
-//credential conformant to WebAuthn Level 1
+// WebAuthnCredential represents the WebAuthn credential data for a public-key
+// credential conformant to WebAuthn Level 1
 type WebAuthnCredential struct {
 	ID              int64 `xorm:"pk autoincr"`
 	Name            string
@@ -109,7 +109,7 @@ func (list WebAuthnCredentialList) ToCredentials() []webauthn.Credential {
 	return creds
 }
 
-//GetWebAuthnCredentialsByUID returns all WebAuthn credentials of the given user
+// GetWebAuthnCredentialsByUID returns all WebAuthn credentials of the given user
 func GetWebAuthnCredentialsByUID(uid int64) (WebAuthnCredentialList, error) {
 	return getWebAuthnCredentialsByUID(db.DefaultContext, uid)
 }
@@ -119,7 +119,7 @@ func getWebAuthnCredentialsByUID(ctx context.Context, uid int64) (WebAuthnCreden
 	return creds, db.GetEngine(ctx).Where("user_id = ?", uid).Find(&creds)
 }
 
-//ExistsWebAuthnCredentialsForUID returns if the given user has credentials
+// ExistsWebAuthnCredentialsForUID returns if the given user has credentials
 func ExistsWebAuthnCredentialsForUID(uid int64) (bool, error) {
 	return existsWebAuthnCredentialsByUID(db.DefaultContext, uid)
 }
@@ -211,7 +211,7 @@ func deleteCredential(ctx context.Context, id, userID int64) (bool, error) {
 	return had > 0, err
 }
 
-//WebAuthnCredentials implementns the webauthn.User interface
+// WebAuthnCredentials implementns the webauthn.User interface
 func WebAuthnCredentials(userID int64) ([]webauthn.Credential, error) {
 	dbCreds, err := GetWebAuthnCredentialsByUID(userID)
 	if err != nil {
diff --git a/models/avatars/avatar.go b/models/avatars/avatar.go
index 6107856adee..9f7b0c474ff 100644
--- a/models/avatars/avatar.go
+++ b/models/avatars/avatar.go
@@ -175,12 +175,12 @@ func generateEmailAvatarLink(email string, size int, final bool) string {
 	return DefaultAvatarLink()
 }
 
-//GenerateEmailAvatarFastLink returns a avatar link (fast, the link may be a delegated one: "/avatar/${hash}")
+// GenerateEmailAvatarFastLink returns a avatar link (fast, the link may be a delegated one: "/avatar/${hash}")
 func GenerateEmailAvatarFastLink(email string, size int) string {
 	return generateEmailAvatarLink(email, size, false)
 }
 
-//GenerateEmailAvatarFinalLink returns a avatar final link (maybe slow)
+// GenerateEmailAvatarFinalLink returns a avatar final link (maybe slow)
 func GenerateEmailAvatarFinalLink(email string, size int) string {
 	return generateEmailAvatarLink(email, size, true)
 }
diff --git a/models/consistency.go b/models/consistency.go
index 0b9d9fd2c34..4a94fe25d41 100644
--- a/models/consistency.go
+++ b/models/consistency.go
@@ -240,7 +240,6 @@ func FixIssueLabelWithOutsideLabels() (int64, error) {
 				WHERE
 					(label.org_id = 0 AND issue.repo_id != label.repo_id) OR (label.repo_id = 0 AND label.org_id != repository.owner_id)
 	) AS il_too )`)
-
 	if err != nil {
 		return 0, err
 	}
diff --git a/models/db/engine.go b/models/db/engine.go
index 665808d7017..0604d939d37 100755
--- a/models/db/engine.go
+++ b/models/db/engine.go
@@ -121,7 +121,7 @@ func newXORMEngine() (*xorm.Engine, error) {
 	return engine, nil
 }
 
-//SyncAllTables sync the schemas of all tables, is required by unit test code
+// SyncAllTables sync the schemas of all tables, is required by unit test code
 func SyncAllTables() error {
 	return x.StoreEngine("InnoDB").Sync2(tables...)
 }
diff --git a/models/issue_test.go b/models/issue_test.go
index aee9a50184a..e2759ba38f0 100644
--- a/models/issue_test.go
+++ b/models/issue_test.go
@@ -394,7 +394,6 @@ func TestIssue_InsertIssue(t *testing.T) {
 	issue = testInsertIssue(t, `my issue2, this is my son's love \n \r \ `, "special issue's '' comments?", 7)
 	_, err = db.GetEngine(db.DefaultContext).ID(issue.ID).Delete(new(Issue))
 	assert.NoError(t, err)
-
 }
 
 func TestIssue_ResolveMentions(t *testing.T) {
diff --git a/models/issues/content_history.go b/models/issues/content_history.go
index 721ce11f85b..2d2febfa5cb 100644
--- a/models/issues/content_history.go
+++ b/models/issues/content_history.go
@@ -155,7 +155,6 @@ func FetchIssueContentHistoryList(dbCtx context.Context, issueID, commentID int6
 		Where(builder.Eq{"issue_id": issueID, "comment_id": commentID}).
 		OrderBy("edited_unix DESC").
 		Find(&res)
-
 	if err != nil {
 		log.Error("can not fetch issue content history list. err=%v", err)
 		return nil, err
diff --git a/models/lfs.go b/models/lfs.go
index cf596f54683..e0c16767f71 100644
--- a/models/lfs.go
+++ b/models/lfs.go
@@ -209,7 +209,7 @@ func LFSAutoAssociate(metas []*LFSMetaObject, user *user_model.User, repoID int6
 func IterateLFS(f func(mo *LFSMetaObject) error) error {
 	var start int
 	const batchSize = 100
-	var e = db.GetEngine(db.DefaultContext)
+	e := db.GetEngine(db.DefaultContext)
 	for {
 		mos := make([]*LFSMetaObject, 0, batchSize)
 		if err := e.Limit(batchSize, start).Find(&mos); err != nil {
diff --git a/models/migrate_test.go b/models/migrate_test.go
index 09433b6b417..34183c1854f 100644
--- a/models/migrate_test.go
+++ b/models/migrate_test.go
@@ -45,7 +45,7 @@ func assertCreateIssues(t *testing.T, reponame string, isPull bool) {
 	}
 
 	title := "issuetitle1"
-	var is = &Issue{
+	is := &Issue{
 		RepoID:      repo.ID,
 		MilestoneID: milestone.ID,
 		Repo:        repo,
@@ -130,7 +130,7 @@ func TestMigrate_InsertPullRequests(t *testing.T) {
 	repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{Name: reponame}).(*repo_model.Repository)
 	owner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}).(*user_model.User)
 
-	var i = &Issue{
+	i := &Issue{
 		RepoID:   repo.ID,
 		Repo:     repo,
 		Title:    "title1",
@@ -140,7 +140,7 @@ func TestMigrate_InsertPullRequests(t *testing.T) {
 		Poster:   owner,
 	}
 
-	var p = &PullRequest{
+	p := &PullRequest{
 		Issue: i,
 	}
 
diff --git a/models/migrations/migrations_test.go b/models/migrations/migrations_test.go
index 33d589ddb25..f798d501179 100644
--- a/models/migrations/migrations_test.go
+++ b/models/migrations/migrations_test.go
@@ -219,10 +219,10 @@ func prepareTestEnv(t *testing.T, skip int, syncModels ...interface{}) (*xorm.En
 			assert.NoError(t, err, "unable to read the new repo root: %v\n", err)
 		}
 		for _, repoDir := range repoDirs {
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755)
 		}
 	}
 
diff --git a/models/migrations/testlogger_test.go b/models/migrations/testlogger_test.go
index 5e3d880b54e..01d6b7a0f7d 100644
--- a/models/migrations/testlogger_test.go
+++ b/models/migrations/testlogger_test.go
@@ -170,7 +170,7 @@ func (log *TestLogger) Init(config string) error {
 func (log *TestLogger) Flush() {
 }
 
-//ReleaseReopen does nothing
+// ReleaseReopen does nothing
 func (log *TestLogger) ReleaseReopen() error {
 	return nil
 }
diff --git a/models/migrations/v176_test.go b/models/migrations/v176_test.go
index 2763e4f120e..bc066c3b327 100644
--- a/models/migrations/v176_test.go
+++ b/models/migrations/v176_test.go
@@ -124,5 +124,4 @@ func Test_removeInvalidLabels(t *testing.T) {
 			t.Errorf("IssueLabel[%d] was deleted but should have remained", id)
 		}
 	}
-
 }
diff --git a/models/migrations/v177_test.go b/models/migrations/v177_test.go
index f5fc793aa42..5a58e2c6146 100644
--- a/models/migrations/v177_test.go
+++ b/models/migrations/v177_test.go
@@ -85,5 +85,4 @@ func Test_deleteOrphanedIssueLabels(t *testing.T) {
 		pre := preMigration[id]
 		assert.Equal(t, pre, post, "migration changed issueLabel %d", id)
 	}
-
 }
diff --git a/models/migrations/v181_test.go b/models/migrations/v181_test.go
index b392a9b71d7..b9a6c6619b7 100644
--- a/models/migrations/v181_test.go
+++ b/models/migrations/v181_test.go
@@ -38,7 +38,7 @@ func Test_addPrimaryEmail2EmailAddress(t *testing.T) {
 		IsPrimary   bool `xorm:"DEFAULT(false) NOT NULL"`
 	}
 
-	var users = make([]User, 0, 20)
+	users := make([]User, 0, 20)
 	err = x.Find(&users)
 	assert.NoError(t, err)
 
diff --git a/models/migrations/v182_test.go b/models/migrations/v182_test.go
index 9fb371e0787..0d3eda9c51a 100644
--- a/models/migrations/v182_test.go
+++ b/models/migrations/v182_test.go
@@ -37,10 +37,10 @@ func Test_addIssueResourceIndexTable(t *testing.T) {
 		MaxIndex int64 `xorm:"index"`
 	}
 
-	var start = 0
+	start := 0
 	const batchSize = 1000
 	for {
-		var indexes = make([]ResourceIndex, 0, batchSize)
+		indexes := make([]ResourceIndex, 0, batchSize)
 		err := x.Table("issue_index").Limit(batchSize, start).Find(&indexes)
 		assert.NoError(t, err)
 
diff --git a/models/migrations/v189_test.go b/models/migrations/v189_test.go
index fcae5dcc730..4ec3fe8c600 100644
--- a/models/migrations/v189_test.go
+++ b/models/migrations/v189_test.go
@@ -26,7 +26,6 @@ func (ls *LoginSourceOriginalV189) TableName() string {
 }
 
 func Test_unwrapLDAPSourceCfg(t *testing.T) {
-
 	// Prepare and load the testing database
 	x, deferable := prepareTestEnv(t, 0, new(LoginSourceOriginalV189))
 	if x == nil || t.Failed() {
@@ -80,5 +79,4 @@ func Test_unwrapLDAPSourceCfg(t *testing.T) {
 			assert.EqualValues(t, source.ID%2 == 0, source.IsActive, "unwrapLDAPSourceCfg failed for %d", source.ID)
 		}
 	}
-
 }
diff --git a/models/migrations/v191.go b/models/migrations/v191.go
index c91990e0f33..9a688243e19 100644
--- a/models/migrations/v191.go
+++ b/models/migrations/v191.go
@@ -11,7 +11,6 @@ import (
 )
 
 func alterIssueAndCommentTextFieldsToLongText(x *xorm.Engine) error {
-
 	sess := x.NewSession()
 	defer sess.Close()
 	if err := sess.Begin(); err != nil {
diff --git a/models/migrations/v195_test.go b/models/migrations/v195_test.go
index baf9cb61c2a..05f8469daaf 100644
--- a/models/migrations/v195_test.go
+++ b/models/migrations/v195_test.go
@@ -40,10 +40,10 @@ func Test_addTableCommitStatusIndex(t *testing.T) {
 		MaxIndex int64  `xorm:"index"`
 	}
 
-	var start = 0
+	start := 0
 	const batchSize = 1000
 	for {
-		var indexes = make([]CommitStatusIndex, 0, batchSize)
+		indexes := make([]CommitStatusIndex, 0, batchSize)
 		err := x.Table("commit_status_index").Limit(batchSize, start).Find(&indexes)
 		assert.NoError(t, err)
 
diff --git a/models/migrations/v207.go b/models/migrations/v207.go
index 82e2e3aa314..4964a8435ce 100644
--- a/models/migrations/v207.go
+++ b/models/migrations/v207.go
@@ -16,7 +16,6 @@ import (
 )
 
 func addWebAuthnCred(x *xorm.Engine) error {
-
 	// Create webauthnCredential table
 	type webauthnCredential struct {
 		ID              int64 `xorm:"pk autoincr"`
diff --git a/models/migrations/v208.go b/models/migrations/v208.go
index 04bb981a4e4..c1e656b98d8 100644
--- a/models/migrations/v208.go
+++ b/models/migrations/v208.go
@@ -12,7 +12,6 @@ import (
 )
 
 func useBase32HexForCredIDInWebAuthnCredential(x *xorm.Engine) error {
-
 	// Create webauthnCredential table
 	type webauthnCredential struct {
 		ID           int64  `xorm:"pk autoincr"`
diff --git a/models/repo.go b/models/repo.go
index 83031c508cd..2a857c43df0 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -718,7 +718,7 @@ func DeleteRepository(doer *user_model.User, uid, repoID int64) error {
 	if err != nil {
 		return fmt.Errorf("listDeployKeys: %v", err)
 	}
-	var needRewriteKeysFile = len(deployKeys) > 0
+	needRewriteKeysFile := len(deployKeys) > 0
 	for _, dKey := range deployKeys {
 		if err := DeleteDeployKey(ctx, doer, dKey.ID); err != nil {
 			return fmt.Errorf("deleteDeployKeys: %v", err)
@@ -844,7 +844,7 @@ func DeleteRepository(doer *user_model.User, uid, repoID int64) error {
 		return err
 	}
 
-	var lfsPaths = make([]string, 0, len(lfsObjects))
+	lfsPaths := make([]string, 0, len(lfsObjects))
 	for _, v := range lfsObjects {
 		count, err := sess.Count(&LFSMetaObject{Pointer: lfs.Pointer{Oid: v.Oid}})
 		if err != nil {
@@ -867,7 +867,7 @@ func DeleteRepository(doer *user_model.User, uid, repoID int64) error {
 		return err
 	}
 
-	var archivePaths = make([]string, 0, len(archives))
+	archivePaths := make([]string, 0, len(archives))
 	for _, v := range archives {
 		p, _ := v.RelativePath()
 		archivePaths = append(archivePaths, p)
@@ -893,7 +893,7 @@ func DeleteRepository(doer *user_model.User, uid, repoID int64) error {
 		return err
 	}
 
-	var newAttachmentPaths = make([]string, 0, len(newAttachments))
+	newAttachmentPaths := make([]string, 0, len(newAttachments))
 	for _, attach := range newAttachments {
 		newAttachmentPaths = append(newAttachmentPaths, attach.RelativePath())
 	}
diff --git a/models/repo/archiver.go b/models/repo/archiver.go
index c29891397f8..dc64cce49ba 100644
--- a/models/repo/archiver.go
+++ b/models/repo/archiver.go
@@ -90,7 +90,7 @@ type FindRepoArchiversOption struct {
 }
 
 func (opts FindRepoArchiversOption) toConds() builder.Cond {
-	var cond = builder.NewCond()
+	cond := builder.NewCond()
 	if opts.OlderThan > 0 {
 		cond = cond.And(builder.Lt{"created_unix": time.Now().Add(-opts.OlderThan).Unix()})
 	}
@@ -99,7 +99,7 @@ func (opts FindRepoArchiversOption) toConds() builder.Cond {
 
 // FindRepoArchives find repo archivers
 func FindRepoArchives(opts FindRepoArchiversOption) ([]*RepoArchiver, error) {
-	var archivers = make([]*RepoArchiver, 0, opts.PageSize)
+	archivers := make([]*RepoArchiver, 0, opts.PageSize)
 	start, limit := opts.GetSkipTake()
 	err := db.GetEngine(db.DefaultContext).Where(opts.toConds()).
 		Asc("created_unix").
diff --git a/models/repo/attachment.go b/models/repo/attachment.go
index 3fb331a2023..f5351578fbc 100644
--- a/models/repo/attachment.go
+++ b/models/repo/attachment.go
@@ -241,7 +241,7 @@ func UpdateAttachmentByUUID(ctx context.Context, attach *Attachment, cols ...str
 
 // UpdateAttachmentCtx updates the given attachment in database
 func UpdateAttachmentCtx(ctx context.Context, atta *Attachment) error {
-	var sess = db.GetEngine(ctx).Cols("name", "issue_id", "release_id", "comment_id", "download_count")
+	sess := db.GetEngine(ctx).Cols("name", "issue_id", "release_id", "comment_id", "download_count")
 	if atta.ID != 0 && atta.UUID == "" {
 		sess = sess.ID(atta.ID)
 	} else {
diff --git a/models/repo/mirror.go b/models/repo/mirror.go
index bdb449af3a7..e73226534ea 100644
--- a/models/repo/mirror.go
+++ b/models/repo/mirror.go
@@ -17,10 +17,8 @@ import (
 	"xorm.io/xorm"
 )
 
-var (
-	// ErrMirrorNotExist mirror does not exist error
-	ErrMirrorNotExist = errors.New("Mirror does not exist")
-)
+// ErrMirrorNotExist mirror does not exist error
+var ErrMirrorNotExist = errors.New("Mirror does not exist")
 
 // RemoteMirrorer defines base methods for pull/push mirrors.
 type RemoteMirrorer interface {
diff --git a/models/repo/pushmirror.go b/models/repo/pushmirror.go
index 0b621616412..bf39bb1ac07 100644
--- a/models/repo/pushmirror.go
+++ b/models/repo/pushmirror.go
@@ -15,10 +15,8 @@ import (
 	"xorm.io/xorm"
 )
 
-var (
-	// ErrPushMirrorNotExist mirror does not exist error
-	ErrPushMirrorNotExist = errors.New("PushMirror does not exist")
-)
+// ErrPushMirrorNotExist mirror does not exist error
+var ErrPushMirrorNotExist = errors.New("PushMirror does not exist")
 
 // PushMirror represents mirror information of a repository.
 type PushMirror struct {
diff --git a/models/review_test.go b/models/review_test.go
index 20810dac4ac..a4a71cc709d 100644
--- a/models/review_test.go
+++ b/models/review_test.go
@@ -199,5 +199,4 @@ func TestDismissReview(t *testing.T) {
 	assert.False(t, rejectReviewExample.Dismissed)
 	assert.False(t, requestReviewExample.Dismissed)
 	assert.True(t, approveReviewExample.Dismissed)
-
 }
diff --git a/models/unittest/testdb.go b/models/unittest/testdb.go
index 6f3a36ed216..c904646d281 100644
--- a/models/unittest/testdb.go
+++ b/models/unittest/testdb.go
@@ -117,10 +117,10 @@ func MainTest(m *testing.M, pathToGiteaRoot string, fixtureFiles ...string) {
 			fatalTestError("unable to read the new repo root: %v\n", err)
 		}
 		for _, repoDir := range repoDirs {
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755)
 		}
 	}
 
@@ -182,10 +182,10 @@ func PrepareTestEnv(t testing.TB) {
 		repoDirs, err := os.ReadDir(filepath.Join(setting.RepoRootPath, ownerDir.Name()))
 		assert.NoError(t, err)
 		for _, repoDir := range repoDirs {
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0755)
-			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "pack"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "objects", "info"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "heads"), 0o755)
+			_ = os.MkdirAll(filepath.Join(setting.RepoRootPath, ownerDir.Name(), repoDir.Name(), "refs", "tag"), 0o755)
 		}
 	}
 
diff --git a/models/user/email_address.go b/models/user/email_address.go
index 0ff62fb6a80..726af7b3b48 100644
--- a/models/user/email_address.go
+++ b/models/user/email_address.go
@@ -21,10 +21,8 @@ import (
 	"xorm.io/builder"
 )
 
-var (
-	// ErrEmailNotActivated e-mail address has not been activated error
-	ErrEmailNotActivated = errors.New("E-mail address has not been activated")
-)
+// ErrEmailNotActivated e-mail address has not been activated error
+var ErrEmailNotActivated = errors.New("E-mail address has not been activated")
 
 // ErrEmailInvalid represents an error where the email address does not comply with RFC 5322
 type ErrEmailInvalid struct {
diff --git a/modules/activitypub/keypair_test.go b/modules/activitypub/keypair_test.go
index 5d876937b14..defe498614f 100644
--- a/modules/activitypub/keypair_test.go
+++ b/modules/activitypub/keypair_test.go
@@ -26,7 +26,6 @@ func TestKeygen(t *testing.T) {
 
 	assert.Regexp(t, regexp.MustCompile("^-----BEGIN RSA PRIVATE KEY-----.*"), priv)
 	assert.Regexp(t, regexp.MustCompile("^-----BEGIN PUBLIC KEY-----.*"), pub)
-
 }
 
 func TestSignUsingKeys(t *testing.T) {
diff --git a/modules/appstate/db.go b/modules/appstate/db.go
index a594b01d850..2538d1b5c8e 100644
--- a/modules/appstate/db.go
+++ b/modules/appstate/db.go
@@ -12,8 +12,7 @@ import (
 )
 
 // DBStore can be used to store app state items in local filesystem
-type DBStore struct {
-}
+type DBStore struct{}
 
 // Get reads the state item
 func (f *DBStore) Get(item StateItem) error {
diff --git a/modules/auth/openid/discovery_cache_test.go b/modules/auth/openid/discovery_cache_test.go
index 931e5c7945e..28546f60318 100644
--- a/modules/auth/openid/discovery_cache_test.go
+++ b/modules/auth/openid/discovery_cache_test.go
@@ -14,9 +14,11 @@ type testDiscoveredInfo struct{}
 func (s *testDiscoveredInfo) ClaimedID() string {
 	return "claimedID"
 }
+
 func (s *testDiscoveredInfo) OpEndpoint() string {
 	return "opEndpoint"
 }
+
 func (s *testDiscoveredInfo) OpLocalID() string {
 	return "opLocalID"
 }
@@ -25,7 +27,7 @@ func TestTimedDiscoveryCache(t *testing.T) {
 	dc := newTimedDiscoveryCache(1 * time.Second)
 
 	// Put some initial values
-	dc.Put("foo", &testDiscoveredInfo{}) //openid.opEndpoint: "a", openid.opLocalID: "b", openid.claimedID: "c"})
+	dc.Put("foo", &testDiscoveredInfo{}) // openid.opEndpoint: "a", openid.opLocalID: "b", openid.claimedID: "c"})
 
 	// Make sure we can retrieve them
 	if di := dc.Get("foo"); di == nil {
diff --git a/modules/auth/openid/openid.go b/modules/auth/openid/openid.go
index 40f38c2d2e7..8926fc6d7a2 100644
--- a/modules/auth/openid/openid.go
+++ b/modules/auth/openid/openid.go
@@ -17,8 +17,10 @@ import (
 // If you have multiple servers for example, you may need to share at
 // least
 // the nonceStore between them.
-var nonceStore = openid.NewSimpleNonceStore()
-var discoveryCache = newTimedDiscoveryCache(24 * time.Hour)
+var (
+	nonceStore     = openid.NewSimpleNonceStore()
+	discoveryCache = newTimedDiscoveryCache(24 * time.Hour)
+)
 
 // Verify handles response from OpenID provider
 func Verify(fullURL string) (id string, err error) {
diff --git a/modules/auth/pam/pam.go b/modules/auth/pam/pam.go
index 73ecae0c2c2..30f13e440bb 100644
--- a/modules/auth/pam/pam.go
+++ b/modules/auth/pam/pam.go
@@ -27,7 +27,6 @@ func Auth(serviceName, userName, passwd string) (string, error) {
 		}
 		return "", errors.New("Unrecognized PAM message style")
 	})
-
 	if err != nil {
 		return "", err
 	}
diff --git a/modules/auth/webauthn/webauthn.go b/modules/auth/webauthn/webauthn.go
index 8f380e7c346..e39b6f46d6b 100644
--- a/modules/auth/webauthn/webauthn.go
+++ b/modules/auth/webauthn/webauthn.go
@@ -17,10 +17,10 @@ import (
 	"github.com/duo-labs/webauthn/webauthn"
 )
 
-//WebAuthn represents the global WebAuthn instance
+// WebAuthn represents the global WebAuthn instance
 var WebAuthn *webauthn.WebAuthn
 
-//Init initializes the WebAuthn instance from the config.
+// Init initializes the WebAuthn instance from the config.
 func Init() {
 	gob.Register(&webauthn.SessionData{})
 
@@ -42,14 +42,14 @@ func Init() {
 // User represents an implementation of webauthn.User based on User model
 type User user_model.User
 
-//WebAuthnID implements the webauthn.User interface
+// WebAuthnID implements the webauthn.User interface
 func (u *User) WebAuthnID() []byte {
 	id := make([]byte, 8)
 	binary.PutVarint(id, u.ID)
 	return id
 }
 
-//WebAuthnName implements the webauthn.User interface
+// WebAuthnName implements the webauthn.User interface
 func (u *User) WebAuthnName() string {
 	if u.LoginName == "" {
 		return u.Name
@@ -57,17 +57,17 @@ func (u *User) WebAuthnName() string {
 	return u.LoginName
 }
 
-//WebAuthnDisplayName implements the webauthn.User interface
+// WebAuthnDisplayName implements the webauthn.User interface
 func (u *User) WebAuthnDisplayName() string {
 	return (*user_model.User)(u).DisplayName()
 }
 
-//WebAuthnIcon implements the webauthn.User interface
+// WebAuthnIcon implements the webauthn.User interface
 func (u *User) WebAuthnIcon() string {
 	return (*user_model.User)(u).AvatarLink()
 }
 
-//WebAuthnCredentials implementns the webauthn.User interface
+// WebAuthnCredentials implementns the webauthn.User interface
 func (u *User) WebAuthnCredentials() []webauthn.Credential {
 	dbCreds, err := auth.GetWebAuthnCredentialsByUID(u.ID)
 	if err != nil {
diff --git a/modules/avatar/avatar_test.go b/modules/avatar/avatar_test.go
index b958a9e2367..a2acc544389 100644
--- a/modules/avatar/avatar_test.go
+++ b/modules/avatar/avatar_test.go
@@ -61,6 +61,7 @@ func Test_PrepareWithInvalidImage(t *testing.T) {
 	_, err := Prepare([]byte{})
 	assert.EqualError(t, err, "DecodeConfig: image: unknown format")
 }
+
 func Test_PrepareWithInvalidImageSize(t *testing.T) {
 	setting.Avatar.MaxWidth = 5
 	setting.Avatar.MaxHeight = 5
diff --git a/modules/base/tool.go b/modules/base/tool.go
index dff0d704209..bf53a8ea8a8 100644
--- a/modules/base/tool.go
+++ b/modules/base/tool.go
@@ -152,7 +152,7 @@ func PrettyNumber(v int64) string {
 func Subtract(left, right interface{}) interface{} {
 	var rleft, rright int64
 	var fleft, fright float64
-	var isInt = true
+	isInt := true
 	switch v := left.(type) {
 	case int:
 		rleft = int64(v)
diff --git a/modules/cache/cache.go b/modules/cache/cache.go
index e7630638bf8..0198f8da737 100644
--- a/modules/cache/cache.go
+++ b/modules/cache/cache.go
@@ -16,9 +16,7 @@ import (
 	_ "gitea.com/go-chi/cache/memcache" // memcache plugin for cache
 )
 
-var (
-	conn mc.Cache
-)
+var conn mc.Cache
 
 func newCache(cacheConfig setting.Cache) (mc.Cache, error) {
 	return mc.NewCacher(mc.Options{
diff --git a/modules/cache/cache_test.go b/modules/cache/cache_test.go
index 92be69252dd..f418f77e46e 100644
--- a/modules/cache/cache_test.go
+++ b/modules/cache/cache_test.go
@@ -113,6 +113,7 @@ func TestGetInt(t *testing.T) {
 
 	// TODO: uncommented code works in IDE but not with go test
 }
+
 func TestGetInt64(t *testing.T) {
 	createTestCache()
 
diff --git a/modules/charset/charset.go b/modules/charset/charset.go
index ae5cf5aa1a4..cf8aa0cb75e 100644
--- a/modules/charset/charset.go
+++ b/modules/charset/charset.go
@@ -25,7 +25,7 @@ var UTF8BOM = []byte{'\xef', '\xbb', '\xbf'}
 
 // ToUTF8WithFallbackReader detects the encoding of content and coverts to UTF-8 reader if possible
 func ToUTF8WithFallbackReader(rd io.Reader) io.Reader {
-	var buf = make([]byte, 2048)
+	buf := make([]byte, 2048)
 	n, err := util.ReadAtMost(rd, buf)
 	if err != nil {
 		return io.MultiReader(bytes.NewReader(RemoveBOMIfPresent(buf[:n])), rd)
diff --git a/modules/charset/charset_test.go b/modules/charset/charset_test.go
index 8957bf3c1cf..8376a0698af 100644
--- a/modules/charset/charset_test.go
+++ b/modules/charset/charset_test.go
@@ -56,36 +56,48 @@ func TestToUTF8WithErr(t *testing.T) {
 	assert.Equal(t, []byte{0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3, 0xc3, 0xba}, []byte(res))
 
 	// "áéíóú"
-	res, err = ToUTF8WithErr([]byte{0xef, 0xbb, 0xbf, 0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3,
-		0xc3, 0xba})
+	res, err = ToUTF8WithErr([]byte{
+		0xef, 0xbb, 0xbf, 0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3,
+		0xc3, 0xba,
+	})
 	assert.NoError(t, err)
 	assert.Equal(t, []byte{0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3, 0xc3, 0xba}, []byte(res))
 
-	res, err = ToUTF8WithErr([]byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
-		0xF3, 0x6D, 0x6F, 0x20, 0xF1, 0x6F, 0x73, 0x41, 0x41, 0x41, 0x2e})
+	res, err = ToUTF8WithErr([]byte{
+		0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
+		0xF3, 0x6D, 0x6F, 0x20, 0xF1, 0x6F, 0x73, 0x41, 0x41, 0x41, 0x2e,
+	})
 	assert.NoError(t, err)
 	stringMustStartWith(t, "Hola,", res)
 	stringMustEndWith(t, "AAA.", res)
 
-	res, err = ToUTF8WithErr([]byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
-		0xF3, 0x6D, 0x6F, 0x20, 0x07, 0xA4, 0x6F, 0x73, 0x41, 0x41, 0x41, 0x2e})
+	res, err = ToUTF8WithErr([]byte{
+		0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
+		0xF3, 0x6D, 0x6F, 0x20, 0x07, 0xA4, 0x6F, 0x73, 0x41, 0x41, 0x41, 0x2e,
+	})
 	assert.NoError(t, err)
 	stringMustStartWith(t, "Hola,", res)
 	stringMustEndWith(t, "AAA.", res)
 
-	res, err = ToUTF8WithErr([]byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
-		0xF3, 0x6D, 0x6F, 0x20, 0x81, 0xA4, 0x6F, 0x73, 0x41, 0x41, 0x41, 0x2e})
+	res, err = ToUTF8WithErr([]byte{
+		0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
+		0xF3, 0x6D, 0x6F, 0x20, 0x81, 0xA4, 0x6F, 0x73, 0x41, 0x41, 0x41, 0x2e,
+	})
 	assert.NoError(t, err)
 	stringMustStartWith(t, "Hola,", res)
 	stringMustEndWith(t, "AAA.", res)
 
 	// Japanese (Shift-JIS)
 	// 日属秘ぞしちゅ。
-	res, err = ToUTF8WithErr([]byte{0x93, 0xFA, 0x91, 0xAE, 0x94, 0xE9, 0x82, 0xBC, 0x82, 0xB5, 0x82,
-		0xBF, 0x82, 0xE3, 0x81, 0x42})
+	res, err = ToUTF8WithErr([]byte{
+		0x93, 0xFA, 0x91, 0xAE, 0x94, 0xE9, 0x82, 0xBC, 0x82, 0xB5, 0x82,
+		0xBF, 0x82, 0xE3, 0x81, 0x42,
+	})
 	assert.NoError(t, err)
-	assert.Equal(t, []byte{0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
-		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82},
+	assert.Equal(t, []byte{
+		0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
+		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82,
+	},
 		[]byte(res))
 
 	res, err = ToUTF8WithErr([]byte{0x00, 0x00, 0x00, 0x00})
@@ -108,10 +120,14 @@ func TestToUTF8WithFallback(t *testing.T) {
 	assert.Equal(t, []byte{0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3, 0xc3, 0xba}, res)
 
 	// "Hola, así cómo ños"
-	res = ToUTF8WithFallback([]byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
-		0xF3, 0x6D, 0x6F, 0x20, 0xF1, 0x6F, 0x73})
-	assert.Equal(t, []byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xC3, 0xAD, 0x20, 0x63,
-		0xC3, 0xB3, 0x6D, 0x6F, 0x20, 0xC3, 0xB1, 0x6F, 0x73}, res)
+	res = ToUTF8WithFallback([]byte{
+		0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
+		0xF3, 0x6D, 0x6F, 0x20, 0xF1, 0x6F, 0x73,
+	})
+	assert.Equal(t, []byte{
+		0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xC3, 0xAD, 0x20, 0x63,
+		0xC3, 0xB3, 0x6D, 0x6F, 0x20, 0xC3, 0xB1, 0x6F, 0x73,
+	}, res)
 
 	// "Hola, así cómo "
 	minmatch := []byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xC3, 0xAD, 0x20, 0x63, 0xC3, 0xB3, 0x6D, 0x6F, 0x20}
@@ -127,8 +143,10 @@ func TestToUTF8WithFallback(t *testing.T) {
 	// Japanese (Shift-JIS)
 	// "日属秘ぞしちゅ。"
 	res = ToUTF8WithFallback([]byte{0x93, 0xFA, 0x91, 0xAE, 0x94, 0xE9, 0x82, 0xBC, 0x82, 0xB5, 0x82, 0xBF, 0x82, 0xE3, 0x81, 0x42})
-	assert.Equal(t, []byte{0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
-		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82}, res)
+	assert.Equal(t, []byte{
+		0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
+		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82,
+	}, res)
 
 	res = ToUTF8WithFallback([]byte{0x00, 0x00, 0x00, 0x00})
 	assert.Equal(t, []byte{0x00, 0x00, 0x00, 0x00}, res)
@@ -148,21 +166,29 @@ func TestToUTF8(t *testing.T) {
 	assert.Equal(t, []byte{0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3, 0xc3, 0xba}, []byte(res))
 
 	// BOM + "áéíóú"
-	res = ToUTF8(string([]byte{0xef, 0xbb, 0xbf, 0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3,
-		0xc3, 0xba}))
+	res = ToUTF8(string([]byte{
+		0xef, 0xbb, 0xbf, 0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3,
+		0xc3, 0xba,
+	}))
 	assert.Equal(t, []byte{0xc3, 0xa1, 0xc3, 0xa9, 0xc3, 0xad, 0xc3, 0xb3, 0xc3, 0xba}, []byte(res))
 
 	// Latin1
 	// Hola, así cómo ños
-	res = ToUTF8(string([]byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
-		0xF3, 0x6D, 0x6F, 0x20, 0xF1, 0x6F, 0x73}))
-	assert.Equal(t, []byte{0x48, 0x6f, 0x6c, 0x61, 0x2c, 0x20, 0x61, 0x73, 0xc3, 0xad, 0x20, 0x63,
-		0xc3, 0xb3, 0x6d, 0x6f, 0x20, 0xc3, 0xb1, 0x6f, 0x73}, []byte(res))
+	res = ToUTF8(string([]byte{
+		0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
+		0xF3, 0x6D, 0x6F, 0x20, 0xF1, 0x6F, 0x73,
+	}))
+	assert.Equal(t, []byte{
+		0x48, 0x6f, 0x6c, 0x61, 0x2c, 0x20, 0x61, 0x73, 0xc3, 0xad, 0x20, 0x63,
+		0xc3, 0xb3, 0x6d, 0x6f, 0x20, 0xc3, 0xb1, 0x6f, 0x73,
+	}, []byte(res))
 
 	// Latin1
 	// Hola, así cómo \x07ños
-	res = ToUTF8(string([]byte{0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
-		0xF3, 0x6D, 0x6F, 0x20, 0x07, 0xA4, 0x6F, 0x73}))
+	res = ToUTF8(string([]byte{
+		0x48, 0x6F, 0x6C, 0x61, 0x2C, 0x20, 0x61, 0x73, 0xED, 0x20, 0x63,
+		0xF3, 0x6D, 0x6F, 0x20, 0x07, 0xA4, 0x6F, 0x73,
+	}))
 	// Hola,
 	bytesMustStartWith(t, []byte{0x48, 0x6F, 0x6C, 0x61, 0x2C}, []byte(res))
 
@@ -173,10 +199,14 @@ func TestToUTF8(t *testing.T) {
 
 	// Japanese (Shift-JIS)
 	// 日属秘ぞしちゅ。
-	res = ToUTF8(string([]byte{0x93, 0xFA, 0x91, 0xAE, 0x94, 0xE9, 0x82, 0xBC, 0x82, 0xB5, 0x82,
-		0xBF, 0x82, 0xE3, 0x81, 0x42}))
-	assert.Equal(t, []byte{0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
-		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82},
+	res = ToUTF8(string([]byte{
+		0x93, 0xFA, 0x91, 0xAE, 0x94, 0xE9, 0x82, 0xBC, 0x82, 0xB5, 0x82,
+		0xBF, 0x82, 0xE3, 0x81, 0x42,
+	}))
+	assert.Equal(t, []byte{
+		0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
+		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82,
+	},
 		[]byte(res))
 
 	res = ToUTF8("\x00\x00\x00\x00")
@@ -216,8 +246,10 @@ func TestToUTF8DropErrors(t *testing.T) {
 	// Japanese (Shift-JIS)
 	// "日属秘ぞしちゅ。"
 	res = ToUTF8DropErrors([]byte{0x93, 0xFA, 0x91, 0xAE, 0x94, 0xE9, 0x82, 0xBC, 0x82, 0xB5, 0x82, 0xBF, 0x82, 0xE3, 0x81, 0x42})
-	assert.Equal(t, []byte{0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
-		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82}, res)
+	assert.Equal(t, []byte{
+		0xE6, 0x97, 0xA5, 0xE5, 0xB1, 0x9E, 0xE7, 0xA7, 0x98, 0xE3,
+		0x81, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x85, 0xE3, 0x80, 0x82,
+	}, res)
 
 	res = ToUTF8DropErrors([]byte{0x00, 0x00, 0x00, 0x00})
 	assert.Equal(t, []byte{0x00, 0x00, 0x00, 0x00}, res)
diff --git a/modules/context/api.go b/modules/context/api.go
index dae6d23989f..c825e487535 100644
--- a/modules/context/api.go
+++ b/modules/context/api.go
@@ -56,29 +56,29 @@ type APIInvalidTopicsError struct {
 	InvalidTopics []string `json:"invalidTopics"`
 }
 
-//APIEmpty is an empty response
+// APIEmpty is an empty response
 // swagger:response empty
 type APIEmpty struct{}
 
-//APIForbiddenError is a forbidden error response
+// APIForbiddenError is a forbidden error response
 // swagger:response forbidden
 type APIForbiddenError struct {
 	APIError
 }
 
-//APINotFound is a not found empty response
+// APINotFound is a not found empty response
 // swagger:response notFound
 type APINotFound struct{}
 
-//APIConflict is a conflict empty response
+// APIConflict is a conflict empty response
 // swagger:response conflict
 type APIConflict struct{}
 
-//APIRedirect is a redirect response
+// APIRedirect is a redirect response
 // swagger:response redirect
 type APIRedirect struct{}
 
-//APIString is a string response
+// APIString is a string response
 // swagger:response string
 type APIString string
 
@@ -269,13 +269,12 @@ func APIAuth(authMethod auth_service.Method) func(*APIContext) {
 
 // APIContexter returns apicontext as middleware
 func APIContexter() func(http.Handler) http.Handler {
-	var csrfOpts = getCsrfOpts()
+	csrfOpts := getCsrfOpts()
 
 	return func(next http.Handler) http.Handler {
-
 		return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
-			var locale = middleware.Locale(w, req)
-			var ctx = APIContext{
+			locale := middleware.Locale(w, req)
+			ctx := APIContext{
 				Context: &Context{
 					Resp:    NewResponse(w),
 					Data:    map[string]interface{}{},
@@ -354,7 +353,7 @@ func ReferencesGitRepo(allowEmpty bool) func(ctx *APIContext) (cancel context.Ca
 // NotFound handles 404s for APIContext
 // String will replace message, errors will be added to a slice
 func (ctx *APIContext) NotFound(objs ...interface{}) {
-	var message = ctx.Tr("error.not_found")
+	message := ctx.Tr("error.not_found")
 	var errors []string
 	for _, obj := range objs {
 		// Ignore nil
diff --git a/modules/context/api_test.go b/modules/context/api_test.go
index e7e3e230afe..323fdbd2cc9 100644
--- a/modules/context/api_test.go
+++ b/modules/context/api_test.go
@@ -16,7 +16,7 @@ import (
 
 func TestGenAPILinks(t *testing.T) {
 	setting.AppURL = "http://localhost:3000/"
-	var kases = map[string][]string{
+	kases := map[string][]string{
 		"api/v1/repos/jerrykan/example-repo/issues?state=all": {
 			`<http://localhost:3000/api/v1/repos/jerrykan/example-repo/issues?page=2&state=all>; rel="next"`,
 			`<http://localhost:3000/api/v1/repos/jerrykan/example-repo/issues?page=5&state=all>; rel="last"`,
diff --git a/modules/context/captcha.go b/modules/context/captcha.go
index b8540136a18..6117d307133 100644
--- a/modules/context/captcha.go
+++ b/modules/context/captcha.go
@@ -13,8 +13,10 @@ import (
 	"gitea.com/go-chi/captcha"
 )
 
-var imageCaptchaOnce sync.Once
-var cpt *captcha.Captcha
+var (
+	imageCaptchaOnce sync.Once
+	cpt              *captcha.Captcha
+)
 
 // GetImageCaptcha returns global image captcha
 func GetImageCaptcha() *captcha.Captcha {
diff --git a/modules/context/context.go b/modules/context/context.go
index ab83ae4eb51..998eafe965f 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -362,7 +362,7 @@ func (ctx *Context) ServeStream(rd io.Reader, name string) {
 
 // Error returned an error to web browser
 func (ctx *Context) Error(status int, contents ...string) {
-	var v = http.StatusText(status)
+	v := http.StatusText(status)
 	if len(contents) > 0 {
 		v = contents[0]
 	}
@@ -606,16 +606,16 @@ func Auth(authMethod auth.Method) func(*Context) {
 
 // Contexter initializes a classic context for a request.
 func Contexter() func(next http.Handler) http.Handler {
-	var rnd = templates.HTMLRenderer()
-	var csrfOpts = getCsrfOpts()
+	rnd := templates.HTMLRenderer()
+	csrfOpts := getCsrfOpts()
 
 	return func(next http.Handler) http.Handler {
 		return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
-			var locale = middleware.Locale(resp, req)
-			var startTime = time.Now()
-			var link = setting.AppSubURL + strings.TrimSuffix(req.URL.EscapedPath(), "/")
+			locale := middleware.Locale(resp, req)
+			startTime := time.Now()
+			link := setting.AppSubURL + strings.TrimSuffix(req.URL.EscapedPath(), "/")
 
-			var ctx = Context{
+			ctx := Context{
 				Resp:    NewResponse(resp),
 				Cache:   mc.GetCache(),
 				Locale:  locale,
diff --git a/modules/context/csrf.go b/modules/context/csrf.go
index 8d179ca9047..99c223c884d 100644
--- a/modules/context/csrf.go
+++ b/modules/context/csrf.go
@@ -57,9 +57,9 @@ type csrf struct {
 	Form string
 	// Cookie name value for setting and getting csrf token.
 	Cookie string
-	//Cookie domain
+	// Cookie domain
 	CookieDomain string
-	//Cookie path
+	// Cookie path
 	CookiePath string
 	// Cookie HttpOnly flag value used for the csrf token.
 	CookieHTTPOnly bool
diff --git a/modules/context/private.go b/modules/context/private.go
index 3e31a7e7d89..6e5ef1bd121 100644
--- a/modules/context/private.go
+++ b/modules/context/private.go
@@ -44,9 +44,7 @@ func (ctx *PrivateContext) Err() error {
 	return ctx.Req.Context().Err()
 }
 
-var (
-	privateContextKey interface{} = "default_private_context"
-)
+var privateContextKey interface{} = "default_private_context"
 
 // WithPrivateContext set up private context in request
 func WithPrivateContext(req *http.Request, ctx *PrivateContext) *http.Request {
diff --git a/modules/context/repo.go b/modules/context/repo.go
index 4acb800b64f..97b417ffd16 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -111,7 +111,6 @@ type CanCommitToBranchResults struct {
 //   and branch is not protected for push
 func (r *Repository) CanCommitToBranch(ctx context.Context, doer *user_model.User) (CanCommitToBranchResults, error) {
 	protectedBranch, err := models.GetProtectedBranchBy(r.Repository.ID, r.BranchName)
-
 	if err != nil {
 		return CanCommitToBranchResults{}, err
 	}
diff --git a/modules/context/response.go b/modules/context/response.go
index a20fc63536e..112964dbe14 100644
--- a/modules/context/response.go
+++ b/modules/context/response.go
@@ -17,9 +17,7 @@ type ResponseWriter interface {
 	Size() int
 }
 
-var (
-	_ ResponseWriter = &Response{}
-)
+var _ ResponseWriter = &Response{}
 
 // Response represents a response
 type Response struct {
diff --git a/modules/convert/notification.go b/modules/convert/notification.go
index a0bd4cdc272..f304eadf695 100644
--- a/modules/convert/notification.go
+++ b/modules/convert/notification.go
@@ -22,12 +22,12 @@ func ToNotificationThread(n *models.Notification) *api.NotificationThread {
 		URL:       n.APIURL(),
 	}
 
-	//since user only get notifications when he has access to use minimal access mode
+	// since user only get notifications when he has access to use minimal access mode
 	if n.Repository != nil {
 		result.Repository = ToRepo(n.Repository, perm.AccessModeRead)
 	}
 
-	//handle Subject
+	// handle Subject
 	switch n.Source {
 	case models.NotificationSourceIssue:
 		result.Subject = &api.NotificationSubject{Type: api.NotifySubjectIssue}
@@ -83,7 +83,7 @@ func ToNotificationThread(n *models.Notification) *api.NotificationThread {
 
 // ToNotifications convert list of Notification to api.NotificationThread list
 func ToNotifications(nl models.NotificationList) []*api.NotificationThread {
-	var result = make([]*api.NotificationThread, 0, len(nl))
+	result := make([]*api.NotificationThread, 0, len(nl))
 	for _, n := range nl {
 		result = append(result, ToNotificationThread(n))
 	}
diff --git a/modules/convert/pull_test.go b/modules/convert/pull_test.go
index 5351b5e1725..8574ccfd26b 100644
--- a/modules/convert/pull_test.go
+++ b/modules/convert/pull_test.go
@@ -18,7 +18,7 @@ import (
 )
 
 func TestPullRequest_APIFormat(t *testing.T) {
-	//with HeadRepo
+	// with HeadRepo
 	assert.NoError(t, unittest.PrepareTestDatabase())
 	headRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}).(*repo_model.Repository)
 	pr := unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ID: 1}).(*models.PullRequest)
@@ -34,7 +34,7 @@ func TestPullRequest_APIFormat(t *testing.T) {
 		Repository: ToRepo(headRepo, perm.AccessModeRead),
 	}, apiPullRequest.Head)
 
-	//withOut HeadRepo
+	// withOut HeadRepo
 	pr = unittest.AssertExistsAndLoadBean(t, &models.PullRequest{ID: 1}).(*models.PullRequest)
 	assert.NoError(t, pr.LoadIssue())
 	assert.NoError(t, pr.LoadAttributes())
diff --git a/modules/convert/repository.go b/modules/convert/repository.go
index 459f98f396c..a3569255396 100644
--- a/modules/convert/repository.go
+++ b/modules/convert/repository.go
@@ -40,7 +40,7 @@ func innerToRepo(repo *repo_model.Repository, mode perm.AccessMode, isParent boo
 		}
 	}
 
-	//check enabled/disabled units
+	// check enabled/disabled units
 	hasIssues := false
 	var externalTracker *api.ExternalTracker
 	var internalTracker *api.InternalTracker
diff --git a/modules/convert/status.go b/modules/convert/status.go
index eb77c14dab3..1ac2a0f3e1a 100644
--- a/modules/convert/status.go
+++ b/modules/convert/status.go
@@ -33,7 +33,6 @@ func ToCommitStatus(status *models.CommitStatus) *api.CommitStatus {
 
 // ToCombinedStatus converts List of CommitStatus to a CombinedStatus
 func ToCombinedStatus(statuses []*models.CommitStatus, repo *api.Repository) *api.CombinedStatus {
-
 	if len(statuses) == 0 {
 		return nil
 	}
diff --git a/modules/csv/csv.go b/modules/csv/csv.go
index 47ea62699df..0dd54271f14 100644
--- a/modules/csv/csv.go
+++ b/modules/csv/csv.go
@@ -17,8 +17,10 @@ import (
 	"code.gitea.io/gitea/modules/util"
 )
 
-const maxLines = 10
-const guessSampleSize = 1e4 // 10k
+const (
+	maxLines        = 10
+	guessSampleSize = 1e4 // 10k
+)
 
 // CreateReader creates a csv.Reader with the given delimiter.
 func CreateReader(input io.Reader, delimiter rune) *stdcsv.Reader {
@@ -35,7 +37,7 @@ func CreateReader(input io.Reader, delimiter rune) *stdcsv.Reader {
 // CreateReaderAndDetermineDelimiter tries to guess the field delimiter from the content and creates a csv.Reader.
 // Reads at most guessSampleSize bytes.
 func CreateReaderAndDetermineDelimiter(ctx *markup.RenderContext, rd io.Reader) (*stdcsv.Reader, error) {
-	var data = make([]byte, guessSampleSize)
+	data := make([]byte, guessSampleSize)
 	size, err := util.ReadAtMost(rd, data)
 	if err != nil {
 		return nil, err
diff --git a/modules/csv/csv_test.go b/modules/csv/csv_test.go
index 41c4ddaee22..b1e928ae99c 100644
--- a/modules/csv/csv_test.go
+++ b/modules/csv/csv_test.go
@@ -31,7 +31,7 @@ func decodeSlashes(t *testing.T, s string) string {
 }
 
 func TestCreateReaderAndDetermineDelimiter(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		csv               string
 		expectedRows      [][]string
 		expectedDelimiter rune
@@ -135,7 +135,7 @@ func TestDetermineDelimiterReadAllError(t *testing.T) {
 }
 
 func TestDetermineDelimiter(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		csv               string
 		filename          string
 		expectedDelimiter rune
@@ -236,7 +236,7 @@ John Doe	john@doe.com	This,note,had,a,lot,of,commas,to,test,delimiters`,
 }
 
 func TestRemoveQuotedString(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		text         string
 		expectedText string
 	}{
@@ -301,7 +301,7 @@ abc   | |123
 }
 
 func TestGuessDelimiter(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		csv               string
 		expectedDelimiter rune
 	}{
@@ -456,7 +456,7 @@ jkl`,
 }
 
 func TestGuessFromBeforeAfterQuotes(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		csv               string
 		expectedDelimiter rune
 	}{
@@ -562,7 +562,7 @@ func (l mockLocale) TrN(_cnt interface{}, key1, _keyN string, _args ...interface
 }
 
 func TestFormatError(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		err             error
 		expectedMessage string
 		expectsError    bool
diff --git a/modules/doctor/fix16961.go b/modules/doctor/fix16961.go
index b929616b380..e2418380684 100644
--- a/modules/doctor/fix16961.go
+++ b/modules/doctor/fix16961.go
@@ -296,7 +296,6 @@ func fixBrokenRepoUnits16961(ctx context.Context, logger log.Logger, autofix boo
 			return repo_model.UpdateRepoUnit(repoUnit)
 		},
 	)
-
 	if err != nil {
 		logger.Critical("Unable to iterate across repounits to fix the broken units: Error %v", err)
 		return err
diff --git a/modules/doctor/misc.go b/modules/doctor/misc.go
index cb302c9c5b2..ec2fec20b37 100644
--- a/modules/doctor/misc.go
+++ b/modules/doctor/misc.go
@@ -119,7 +119,6 @@ func checkEnablePushOptions(ctx context.Context, logger log.Logger, autofix bool
 		logger.Info("Enabled push options for %d repositories.", numRepos)
 	} else {
 		logger.Info("Checked %d repositories, %d need updates.", numRepos, numNeedUpdate)
-
 	}
 
 	return nil
diff --git a/modules/doctor/paths.go b/modules/doctor/paths.go
index 623df863cb8..22c095c2279 100644
--- a/modules/doctor/paths.go
+++ b/modules/doctor/paths.go
@@ -27,7 +27,7 @@ func checkConfigurationFile(logger log.Logger, autofix bool, fileOpts configurat
 	fi, err := os.Stat(fileOpts.Path)
 	if err != nil {
 		if os.IsNotExist(err) && autofix && fileOpts.IsDirectory {
-			if err := os.MkdirAll(fileOpts.Path, 0777); err != nil {
+			if err := os.MkdirAll(fileOpts.Path, 0o777); err != nil {
 				logger.Error("    Directory does not exist and could not be created. ERROR: %v", err)
 				return fmt.Errorf("Configuration directory: \"%q\" does not exist and could not be created. ERROR: %v", fileOpts.Path, err)
 			}
diff --git a/modules/emoji/emoji.go b/modules/emoji/emoji.go
index 85df2d69730..89a86a7f3e6 100644
--- a/modules/emoji/emoji.go
+++ b/modules/emoji/emoji.go
@@ -44,9 +44,7 @@ var (
 )
 
 func loadMap() {
-
 	once.Do(func() {
-
 		// initialize
 		codeMap = make(map[string]int, len(GemojiData))
 		aliasMap = make(map[string]int, len(GemojiData))
@@ -87,7 +85,6 @@ func loadMap() {
 		codeReplacer = strings.NewReplacer(codePairs...)
 		aliasReplacer = strings.NewReplacer(aliasPairs...)
 	})
-
 }
 
 // FromCode retrieves the emoji data based on the provided unicode code (ie,
diff --git a/modules/git/command_test.go b/modules/git/command_test.go
index 58d616a0385..4e257178ef1 100644
--- a/modules/git/command_test.go
+++ b/modules/git/command_test.go
@@ -14,7 +14,6 @@ import (
 )
 
 func TestRunInDirTimeoutPipelineNoTimeout(t *testing.T) {
-
 	maxLoops := 1000
 
 	// 'git --version' does not block so it must be finished before the timeout triggered.
@@ -27,7 +26,6 @@ func TestRunInDirTimeoutPipelineNoTimeout(t *testing.T) {
 }
 
 func TestRunInDirTimeoutPipelineAlwaysTimeout(t *testing.T) {
-
 	maxLoops := 1000
 
 	// 'git hash-object --stdin' blocks on stdin so we can have the timeout triggered.
diff --git a/modules/git/commit.go b/modules/git/commit.go
index 8a786535530..0ba53897f5d 100644
--- a/modules/git/commit.go
+++ b/modules/git/commit.go
@@ -36,7 +36,7 @@ type Commit struct {
 // CommitGPGSignature represents a git commit signature part.
 type CommitGPGSignature struct {
 	Signature string
-	Payload   string //TODO check if can be reconstruct from the rest of commit information to not have duplicate data
+	Payload   string // TODO check if can be reconstruct from the rest of commit information to not have duplicate data
 }
 
 // Message returns the commit message. Same as retrieving CommitMessage directly.
diff --git a/modules/git/commit_info_gogit.go b/modules/git/commit_info_gogit.go
index ccf90fc8c7e..ab6e7381036 100644
--- a/modules/git/commit_info_gogit.go
+++ b/modules/git/commit_info_gogit.go
@@ -158,7 +158,7 @@ func getFileHashes(c cgobject.CommitNode, treePath string, paths []string) (map[
 
 func getLastCommitForPathsByCache(commitID, treePath string, paths []string, cache *LastCommitCache) (map[string]*object.Commit, []string, error) {
 	var unHitEntryPaths []string
-	var results = make(map[string]*object.Commit)
+	results := make(map[string]*object.Commit)
 	for _, p := range paths {
 		lastCommit, err := cache.Get(commitID, path.Join(treePath, p))
 		if err != nil {
diff --git a/modules/git/commit_info_nogogit.go b/modules/git/commit_info_nogogit.go
index b58c1885b69..347ad7d0590 100644
--- a/modules/git/commit_info_nogogit.go
+++ b/modules/git/commit_info_nogogit.go
@@ -104,7 +104,7 @@ func getLastCommitForPathsByCache(ctx context.Context, commitID, treePath string
 	defer cancel()
 
 	var unHitEntryPaths []string
-	var results = make(map[string]*Commit)
+	results := make(map[string]*Commit)
 	for _, p := range paths {
 		lastCommit, err := cache.Get(commitID, path.Join(treePath, p), wr, rd)
 		if err != nil {
diff --git a/modules/git/commit_info_test.go b/modules/git/commit_info_test.go
index a4c0483004d..4cc207de64e 100644
--- a/modules/git/commit_info_test.go
+++ b/modules/git/commit_info_test.go
@@ -16,8 +16,10 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-const testReposDir = "tests/repos/"
-const benchmarkReposDir = "benchmark/repos/"
+const (
+	testReposDir      = "tests/repos/"
+	benchmarkReposDir = "benchmark/repos/"
+)
 
 func cloneRepo(url, dir, name string) (string, error) {
 	repoDir := filepath.Join(dir, name)
diff --git a/modules/git/commit_test.go b/modules/git/commit_test.go
index 2b3365342d3..6e9dd34ea7f 100644
--- a/modules/git/commit_test.go
+++ b/modules/git/commit_test.go
@@ -234,5 +234,4 @@ func TestParseCommitFileStatus(t *testing.T) {
 		assert.Equal(t, kase.removed, fileStatus.Removed)
 		assert.Equal(t, kase.modified, fileStatus.Modified)
 	}
-
 }
diff --git a/modules/git/git.go b/modules/git/git.go
index cca5ce6714f..294d33f916b 100644
--- a/modules/git/git.go
+++ b/modules/git/git.go
@@ -112,8 +112,8 @@ func SetExecutablePath(path string) error {
 
 // VersionInfo returns git version information
 func VersionInfo() string {
-	var format = "Git Version: %s"
-	var args = []interface{}{gitVersion.Original()}
+	format := "Git Version: %s"
+	args := []interface{}{gitVersion.Original()}
 	// Since git wire protocol has been released from git v2.18
 	if setting.Git.EnableAutoGitWireProtocol && CheckGitVersionAtLeast("2.18") == nil {
 		format += ", Wire Protocol %s Enabled"
diff --git a/modules/git/hook.go b/modules/git/hook.go
index ecd2db3cc3a..c50f891224c 100644
--- a/modules/git/hook.go
+++ b/modules/git/hook.go
@@ -23,10 +23,8 @@ var hookNames = []string{
 	"post-receive",
 }
 
-var (
-	// ErrNotValidHook error when a git hook is not valid
-	ErrNotValidHook = errors.New("not a valid Git hook")
-)
+// ErrNotValidHook error when a git hook is not valid
+var ErrNotValidHook = errors.New("not a valid Git hook")
 
 // IsValidHookName returns true if given name is a valid Git hook.
 func IsValidHookName(name string) bool {
@@ -142,5 +140,5 @@ func SetUpdateHook(repoPath, content string) (err error) {
 	if err != nil {
 		return err
 	}
-	return os.WriteFile(hookPath, []byte(content), 0777)
+	return os.WriteFile(hookPath, []byte(content), 0o777)
 }
diff --git a/modules/git/last_commit_cache_gogit.go b/modules/git/last_commit_cache_gogit.go
index b57e9ad11ff..06e85a6db2a 100644
--- a/modules/git/last_commit_cache_gogit.go
+++ b/modules/git/last_commit_cache_gogit.go
@@ -64,7 +64,6 @@ func (c *LastCommitCache) Get(ref, entryPath string) (interface{}, error) {
 
 // CacheCommit will cache the commit from the gitRepository
 func (c *LastCommitCache) CacheCommit(ctx context.Context, commit *Commit) error {
-
 	commitNodeIndex, _ := commit.repo.CommitNodeIndex()
 
 	index, err := commitNodeIndex.Get(commit.ID)
diff --git a/modules/git/lfs.go b/modules/git/lfs.go
index 79049c98245..3a809d393d2 100644
--- a/modules/git/lfs.go
+++ b/modules/git/lfs.go
@@ -16,8 +16,8 @@ var once sync.Once
 // CheckLFSVersion will check lfs version, if not satisfied, then disable it.
 func CheckLFSVersion() {
 	if setting.LFS.StartServer {
-		//Disable LFS client hooks if installed for the current OS user
-		//Needs at least git v2.1.2
+		// Disable LFS client hooks if installed for the current OS user
+		// Needs at least git v2.1.2
 
 		err := LoadGitVersion()
 		if err != nil {
diff --git a/modules/git/parse_nogogit_test.go b/modules/git/parse_nogogit_test.go
index 5f58237de83..d6d6f3868c0 100644
--- a/modules/git/parse_nogogit_test.go
+++ b/modules/git/parse_nogogit_test.go
@@ -14,7 +14,6 @@ import (
 )
 
 func TestParseTreeEntries(t *testing.T) {
-
 	testCases := []struct {
 		Input    string
 		Expected []*TreeEntry
diff --git a/modules/git/repo.go b/modules/git/repo.go
index 591ef7362b1..6368c6459b5 100644
--- a/modules/git/repo.go
+++ b/modules/git/repo.go
@@ -146,7 +146,7 @@ func CloneWithArgs(ctx context.Context, from, to string, args []string, opts Clo
 		opts.Timeout = -1
 	}
 
-	var envs = os.Environ()
+	envs := os.Environ()
 	u, err := url.Parse(from)
 	if err == nil && (strings.EqualFold(u.Scheme, "http") || strings.EqualFold(u.Scheme, "https")) {
 		if proxy.Match(u.Host) {
@@ -154,7 +154,7 @@ func CloneWithArgs(ctx context.Context, from, to string, args []string, opts Clo
 		}
 	}
 
-	var stderr = new(bytes.Buffer)
+	stderr := new(bytes.Buffer)
 	if err = cmd.RunWithContext(&RunContext{
 		Timeout: opts.Timeout,
 		Env:     envs,
diff --git a/modules/git/repo_attribute.go b/modules/git/repo_attribute.go
index 0bb550bb4b8..d12f0b1099f 100644
--- a/modules/git/repo_attribute.go
+++ b/modules/git/repo_attribute.go
@@ -87,7 +87,7 @@ func (repo *Repository) CheckAttribute(opts CheckAttributeOpts) (map[string]map[
 		return nil, fmt.Errorf("wrong number of fields in return from check-attr")
 	}
 
-	var name2attribute2info = make(map[string]map[string]string)
+	name2attribute2info := make(map[string]map[string]string)
 
 	for i := 0; i < (len(fields) / 3); i++ {
 		filename := string(fields[3*i])
diff --git a/modules/git/repo_attribute_test.go b/modules/git/repo_attribute_test.go
index 92d1a78fa4d..901a0aa2447 100644
--- a/modules/git/repo_attribute_test.go
+++ b/modules/git/repo_attribute_test.go
@@ -45,7 +45,7 @@ func Test_nulSeparatedAttributeWriter_ReadAttribute(t *testing.T) {
 		assert.Fail(t, "took too long to read an attribute from the list")
 	}
 
-	//Write a partial attribute
+	// Write a partial attribute
 	_, err = wr.Write([]byte("incomplete-file"))
 	assert.NoError(t, err)
 	_, err = wr.Write([]byte("name\x00"))
@@ -133,7 +133,7 @@ func Test_lineSeparatedAttributeWriter_ReadAttribute(t *testing.T) {
 		assert.Fail(t, "took too long to read an attribute from the list")
 	}
 
-	//Write a partial attribute
+	// Write a partial attribute
 	_, err = wr.Write([]byte("incomplete-file"))
 	assert.NoError(t, err)
 	_, err = wr.Write([]byte("name: "))
diff --git a/modules/git/repo_commit.go b/modules/git/repo_commit.go
index ed04ee2f670..0423f157862 100644
--- a/modules/git/repo_commit.go
+++ b/modules/git/repo_commit.go
@@ -88,7 +88,6 @@ func (repo *Repository) GetCommitByPath(relpath string) (*Commit, error) {
 func (repo *Repository) commitsByRange(id SHA1, page, pageSize int) ([]*Commit, error) {
 	stdout, err := NewCommandContext(repo.Ctx, "log", id.String(), "--skip="+strconv.Itoa((page-1)*pageSize),
 		"--max-count="+strconv.Itoa(pageSize), prettyLogFormat).RunInDirBytes(repo.Path)
-
 	if err != nil {
 		return nil, err
 	}
diff --git a/modules/git/repo_commit_test.go b/modules/git/repo_commit_test.go
index 59433348436..232d6a218c5 100644
--- a/modules/git/repo_commit_test.go
+++ b/modules/git/repo_commit_test.go
@@ -90,9 +90,9 @@ func TestRepository_CommitsBetweenIDs(t *testing.T) {
 		NewID           string
 		ExpectedCommits int
 	}{
-		{"fdc1b615bdcff0f0658b216df0c9209e5ecb7c78", "78a445db1eac62fe15e624e1137965969addf344", 1}, //com1 -> com2
-		{"78a445db1eac62fe15e624e1137965969addf344", "fdc1b615bdcff0f0658b216df0c9209e5ecb7c78", 0}, //reset HEAD~, com2 -> com1
-		{"78a445db1eac62fe15e624e1137965969addf344", "a78e5638b66ccfe7e1b4689d3d5684e42c97d7ca", 1}, //com2 -> com2_new
+		{"fdc1b615bdcff0f0658b216df0c9209e5ecb7c78", "78a445db1eac62fe15e624e1137965969addf344", 1}, // com1 -> com2
+		{"78a445db1eac62fe15e624e1137965969addf344", "fdc1b615bdcff0f0658b216df0c9209e5ecb7c78", 0}, // reset HEAD~, com2 -> com1
+		{"78a445db1eac62fe15e624e1137965969addf344", "a78e5638b66ccfe7e1b4689d3d5684e42c97d7ca", 1}, // com2 -> com2_new
 	}
 	for i, c := range cases {
 		commits, err := bareRepo1.CommitsBetweenIDs(c.NewID, c.OldID)
diff --git a/modules/git/repo_language_stats.go b/modules/git/repo_language_stats.go
index ac23caa0fc0..daeb4b591f5 100644
--- a/modules/git/repo_language_stats.go
+++ b/modules/git/repo_language_stats.go
@@ -4,5 +4,7 @@
 
 package git
 
-const fileSizeLimit int64 = 16 * 1024 // 16 KiB
-const bigFileSize int64 = 1024 * 1024 // 1 MiB
+const (
+	fileSizeLimit int64 = 16 * 1024   // 16 KiB
+	bigFileSize   int64 = 1024 * 1024 // 1 MiB
+)
diff --git a/modules/git/repo_object.go b/modules/git/repo_object.go
index 3921e6a1d41..1d08c6bf79a 100644
--- a/modules/git/repo_object.go
+++ b/modules/git/repo_object.go
@@ -46,7 +46,6 @@ func (repo *Repository) hashObject(reader io.Reader) (string, error) {
 	stdout := new(bytes.Buffer)
 	stderr := new(bytes.Buffer)
 	err := cmd.RunInDirFullPipeline(repo.Path, stdout, stderr, reader)
-
 	if err != nil {
 		return "", err
 	}
diff --git a/modules/git/repo_tag.go b/modules/git/repo_tag.go
index 6b5dbeef482..9d1e47a4975 100644
--- a/modules/git/repo_tag.go
+++ b/modules/git/repo_tag.go
@@ -174,7 +174,7 @@ func (repo *Repository) GetTagInfos(page, pageSize int) ([]*Tag, int, error) {
 		tagNames = util.PaginateSlice(tagNames, page, pageSize).([]string)
 	}
 
-	var tags = make([]*Tag, 0, len(tagNames))
+	tags := make([]*Tag, 0, len(tagNames))
 	for _, tagName := range tagNames {
 		tagName = strings.TrimSpace(tagName)
 		if len(tagName) == 0 {
diff --git a/modules/git/submodule_test.go b/modules/git/submodule_test.go
index ff8dc579f6d..653f0a6f084 100644
--- a/modules/git/submodule_test.go
+++ b/modules/git/submodule_test.go
@@ -11,7 +11,7 @@ import (
 )
 
 func TestGetRefURL(t *testing.T) {
-	var kases = []struct {
+	kases := []struct {
 		refURL     string
 		prefixURL  string
 		parentPath string
diff --git a/modules/git/tag.go b/modules/git/tag.go
index 71dd866a18b..3482f81e900 100644
--- a/modules/git/tag.go
+++ b/modules/git/tag.go
@@ -10,8 +10,10 @@ import (
 	"strings"
 )
 
-const beginpgp = "\n-----BEGIN PGP SIGNATURE-----\n"
-const endpgp = "\n-----END PGP SIGNATURE-----"
+const (
+	beginpgp = "\n-----BEGIN PGP SIGNATURE-----\n"
+	endpgp   = "\n-----END PGP SIGNATURE-----"
+)
 
 // Tag represents a Git tag.
 type Tag struct {
diff --git a/modules/git/tree_blob_gogit.go b/modules/git/tree_blob_gogit.go
index a8d619cd18e..be7cb33d353 100644
--- a/modules/git/tree_blob_gogit.go
+++ b/modules/git/tree_blob_gogit.go
@@ -22,7 +22,7 @@ func (t *Tree) GetTreeEntryByPath(relpath string) (*TreeEntry, error) {
 	if len(relpath) == 0 {
 		return &TreeEntry{
 			ID: t.ID,
-			//Type: ObjectTree,
+			// Type: ObjectTree,
 			gogitTreeEntry: &object.TreeEntry{
 				Name: "",
 				Mode: filemode.Dir,
diff --git a/modules/git/tree_entry_mode.go b/modules/git/tree_entry_mode.go
index b029c6fc476..d999ccc02a8 100644
--- a/modules/git/tree_entry_mode.go
+++ b/modules/git/tree_entry_mode.go
@@ -13,15 +13,15 @@ type EntryMode int
 // one of these.
 const (
 	// EntryModeBlob
-	EntryModeBlob EntryMode = 0100644
+	EntryModeBlob EntryMode = 0o100644
 	// EntryModeExec
-	EntryModeExec EntryMode = 0100755
+	EntryModeExec EntryMode = 0o100755
 	// EntryModeSymlink
-	EntryModeSymlink EntryMode = 0120000
+	EntryModeSymlink EntryMode = 0o120000
 	// EntryModeCommit
-	EntryModeCommit EntryMode = 0160000
+	EntryModeCommit EntryMode = 0o160000
 	// EntryModeTree
-	EntryModeTree EntryMode = 0040000
+	EntryModeTree EntryMode = 0o040000
 )
 
 // String converts an EntryMode to a string
diff --git a/modules/gitgraph/graph_test.go b/modules/gitgraph/graph_test.go
index c805ff46476..e7173b521cc 100644
--- a/modules/gitgraph/graph_test.go
+++ b/modules/gitgraph/graph_test.go
@@ -14,7 +14,6 @@ import (
 )
 
 func BenchmarkGetCommitGraph(b *testing.B) {
-
 	currentRepo, err := git.OpenRepository(".")
 	if err != nil || currentRepo == nil {
 		b.Error("Could not open repository")
@@ -255,7 +254,6 @@ func TestCommitStringParsing(t *testing.T) {
 	}
 
 	for _, test := range tests {
-
 		t.Run(test.testName, func(t *testing.T) {
 			testString := fmt.Sprintf("%s%s", dataFirstPart, test.commitMessage)
 			idx := strings.Index(testString, "DATA:")
diff --git a/modules/gitgraph/parser.go b/modules/gitgraph/parser.go
index 62e05056520..5432962784f 100644
--- a/modules/gitgraph/parser.go
+++ b/modules/gitgraph/parser.go
@@ -144,7 +144,6 @@ func (parser *Parser) releaseUnusedColors() {
 
 // ParseGlyphs parses the provided glyphs and sets the internal state
 func (parser *Parser) ParseGlyphs(glyphs []byte) {
-
 	// Clean state for parsing this row
 	parser.glyphs, parser.oldGlyphs = parser.oldGlyphs, parser.glyphs
 	parser.glyphs = parser.glyphs[0:0]
diff --git a/modules/graceful/manager.go b/modules/graceful/manager.go
index 8c3b95c4aa7..031c10d41ba 100644
--- a/modules/graceful/manager.go
+++ b/modules/graceful/manager.go
@@ -190,6 +190,7 @@ func (g *Manager) RunAtHammer(hammer func()) {
 			hammer()
 		})
 }
+
 func (g *Manager) doShutdown() {
 	if !g.setStateTransition(stateRunning, stateShuttingDown) {
 		return
diff --git a/modules/highlight/highlight.go b/modules/highlight/highlight.go
index 04bd30bcebf..344be78144e 100644
--- a/modules/highlight/highlight.go
+++ b/modules/highlight/highlight.go
@@ -83,7 +83,7 @@ func Code(fileName, language, code string) string {
 
 	if lexer == nil {
 		if val, ok := highlightMapping[filepath.Ext(fileName)]; ok {
-			//use mapped value to find lexer
+			// use mapped value to find lexer
 			lexer = lexers.Get(val)
 		}
 	}
@@ -198,7 +198,7 @@ func File(numLines int, fileName, language string, code []byte) []string {
 	m := make([]string, 0, numLines)
 	for _, v := range strings.SplitN(htmlbuf.String(), "\n", numLines) {
 		content := string(v)
-		//need to keep lines that are only \n so copy/paste works properly in browser
+		// need to keep lines that are only \n so copy/paste works properly in browser
 		if content == "" {
 			content = "\n"
 		} else if content == `</span><span class="w">` {
@@ -220,7 +220,7 @@ func plainText(code string, numLines int) []string {
 	m := make([]string, 0, numLines)
 	for _, v := range strings.SplitN(string(code), "\n", numLines) {
 		content := string(v)
-		//need to keep lines that are only \n so copy/paste works properly in browser
+		// need to keep lines that are only \n so copy/paste works properly in browser
 		if content == "" {
 			content = "\n"
 		}
diff --git a/modules/httpcache/httpcache_test.go b/modules/httpcache/httpcache_test.go
index 68ac892c91e..49e54d147e7 100644
--- a/modules/httpcache/httpcache_test.go
+++ b/modules/httpcache/httpcache_test.go
@@ -15,8 +15,7 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-type mockFileInfo struct {
-}
+type mockFileInfo struct{}
 
 func (m mockFileInfo) Name() string       { return "gitea.test" }
 func (m mockFileInfo) Size() int64        { return int64(10) }
diff --git a/modules/indexer/code/bleve.go b/modules/indexer/code/bleve.go
index 64e974dc185..cfadcfebd8a 100644
--- a/modules/indexer/code/bleve.go
+++ b/modules/indexer/code/bleve.go
@@ -38,8 +38,10 @@ import (
 	"github.com/go-enry/go-enry/v2"
 )
 
-const unicodeNormalizeName = "unicodeNormalize"
-const maxBatchSize = 16
+const (
+	unicodeNormalizeName = "unicodeNormalize"
+	maxBatchSize         = 16
+)
 
 // numericEqualityQuery a numeric equality query for the given value and field
 func numericEqualityQuery(value int64, field string) *query.NumericRangeQuery {
@@ -158,9 +160,7 @@ func createBleveIndexer(path string, latestVersion int) (bleve.Index, error) {
 	return indexer, nil
 }
 
-var (
-	_ Indexer = &BleveIndexer{}
-)
+var _ Indexer = &BleveIndexer{}
 
 // BleveIndexer represents a bleve indexer implementation
 type BleveIndexer struct {
@@ -337,7 +337,7 @@ func (b *BleveIndexer) Search(repoIDs []int64, language, keyword string, page, p
 	}
 
 	if len(repoIDs) > 0 {
-		var repoQueries = make([]query.Query, 0, len(repoIDs))
+		repoQueries := make([]query.Query, 0, len(repoIDs))
 		for _, repoID := range repoIDs {
 			repoQueries = append(repoQueries, numericEqualityQuery(repoID, "RepoID"))
 		}
diff --git a/modules/indexer/code/elastic_search.go b/modules/indexer/code/elastic_search.go
index eb57d4d68a6..9bd2fa301e8 100644
--- a/modules/indexer/code/elastic_search.go
+++ b/modules/indexer/code/elastic_search.go
@@ -35,9 +35,7 @@ const (
 	esMultiMatchTypePhrasePrefix = "phrase_prefix"
 )
 
-var (
-	_ Indexer = &ElasticSearchIndexer{}
-)
+var _ Indexer = &ElasticSearchIndexer{}
 
 // ElasticSearchIndexer implements Indexer interface
 type ElasticSearchIndexer struct {
@@ -131,7 +129,7 @@ func (b *ElasticSearchIndexer) init() (bool, error) {
 		return false, err
 	}
 	if !exists {
-		var mapping = defaultMapping
+		mapping := defaultMapping
 
 		createIndex, err := b.client.CreateIndex(b.realIndexerName()).BodyString(mapping).Do(ctx)
 		if err != nil {
@@ -327,7 +325,7 @@ func convertResult(searchResult *elastic.SearchResult, kw string, pageSize int)
 		}
 
 		repoID, fileName := parseIndexerID(hit.Id)
-		var res = make(map[string]interface{})
+		res := make(map[string]interface{})
 		if err := json.Unmarshal(hit.Source, &res); err != nil {
 			return 0, nil, nil, err
 		}
@@ -378,7 +376,7 @@ func (b *ElasticSearchIndexer) Search(repoIDs []int64, language, keyword string,
 	query := elastic.NewBoolQuery()
 	query = query.Must(kwQuery)
 	if len(repoIDs) > 0 {
-		var repoStrs = make([]interface{}, 0, len(repoIDs))
+		repoStrs := make([]interface{}, 0, len(repoIDs))
 		for _, repoID := range repoIDs {
 			repoStrs = append(repoStrs, repoID)
 		}
diff --git a/modules/indexer/code/git.go b/modules/indexer/code/git.go
index 247354054c6..ae73f5690d2 100644
--- a/modules/indexer/code/git.go
+++ b/modules/indexer/code/git.go
@@ -73,7 +73,7 @@ func parseGitLsTreeOutput(stdout []byte) ([]fileUpdate, error) {
 	if err != nil {
 		return nil, err
 	}
-	var idxCount = 0
+	idxCount := 0
 	updates := make([]fileUpdate, len(entries))
 	for _, entry := range entries {
 		if isIndexable(entry) {
diff --git a/modules/indexer/code/indexer.go b/modules/indexer/code/indexer.go
index a17484cae57..4c7a1d4f177 100644
--- a/modules/indexer/code/indexer.go
+++ b/modules/indexer/code/indexer.go
@@ -78,9 +78,7 @@ type IndexerData struct {
 	RepoID int64
 }
 
-var (
-	indexerQueue queue.UniqueQueue
-)
+var indexerQueue queue.UniqueQueue
 
 func index(ctx context.Context, indexer Indexer, repoID int64) error {
 	repo, err := repo_model.GetRepositoryByID(repoID)
diff --git a/modules/indexer/code/indexer_test.go b/modules/indexer/code/indexer_test.go
index 71d58c08c53..0f9915c84b7 100644
--- a/modules/indexer/code/indexer_test.go
+++ b/modules/indexer/code/indexer_test.go
@@ -25,45 +25,43 @@ func testIndexer(name string, t *testing.T, indexer Indexer) {
 		var repoID int64 = 1
 		err := index(git.DefaultContext, indexer, repoID)
 		assert.NoError(t, err)
-		var (
-			keywords = []struct {
-				RepoIDs []int64
-				Keyword string
-				IDs     []int64
-				Langs   int
-			}{
-				{
-					RepoIDs: nil,
-					Keyword: "Description",
-					IDs:     []int64{repoID},
-					Langs:   1,
-				},
-				{
-					RepoIDs: []int64{2},
-					Keyword: "Description",
-					IDs:     []int64{},
-					Langs:   0,
-				},
-				{
-					RepoIDs: nil,
-					Keyword: "repo1",
-					IDs:     []int64{repoID},
-					Langs:   1,
-				},
-				{
-					RepoIDs: []int64{2},
-					Keyword: "repo1",
-					IDs:     []int64{},
-					Langs:   0,
-				},
-				{
-					RepoIDs: nil,
-					Keyword: "non-exist",
-					IDs:     []int64{},
-					Langs:   0,
-				},
-			}
-		)
+		keywords := []struct {
+			RepoIDs []int64
+			Keyword string
+			IDs     []int64
+			Langs   int
+		}{
+			{
+				RepoIDs: nil,
+				Keyword: "Description",
+				IDs:     []int64{repoID},
+				Langs:   1,
+			},
+			{
+				RepoIDs: []int64{2},
+				Keyword: "Description",
+				IDs:     []int64{},
+				Langs:   0,
+			},
+			{
+				RepoIDs: nil,
+				Keyword: "repo1",
+				IDs:     []int64{repoID},
+				Langs:   1,
+			},
+			{
+				RepoIDs: []int64{2},
+				Keyword: "repo1",
+				IDs:     []int64{},
+				Langs:   0,
+			},
+			{
+				RepoIDs: nil,
+				Keyword: "non-exist",
+				IDs:     []int64{},
+				Langs:   0,
+			},
+		}
 
 		for _, kw := range keywords {
 			t.Run(kw.Keyword, func(t *testing.T) {
@@ -72,7 +70,7 @@ func testIndexer(name string, t *testing.T, indexer Indexer) {
 				assert.EqualValues(t, len(kw.IDs), total)
 				assert.Len(t, langs, kw.Langs)
 
-				var ids = make([]int64, 0, len(res))
+				ids := make([]int64, 0, len(res))
 				for _, hit := range res {
 					ids = append(ids, hit.RepoID)
 					assert.EqualValues(t, "# repo1\n\nDescription for repo1", hit.Content)
diff --git a/modules/indexer/code/wrapped.go b/modules/indexer/code/wrapped.go
index e7b5b89eefc..56baadd6fc6 100644
--- a/modules/indexer/code/wrapped.go
+++ b/modules/indexer/code/wrapped.go
@@ -12,9 +12,7 @@ import (
 	repo_model "code.gitea.io/gitea/models/repo"
 )
 
-var (
-	indexer = newWrappedIndexer()
-)
+var indexer = newWrappedIndexer()
 
 // ErrWrappedIndexerClosed is the error returned if the indexer was closed before it was ready
 var ErrWrappedIndexerClosed = fmt.Errorf("Indexer closed before ready")
@@ -80,7 +78,6 @@ func (w *wrappedIndexer) Search(repoIDs []int64, language, keyword string, page,
 		return 0, nil, nil, err
 	}
 	return indexer.Search(repoIDs, language, keyword, page, pageSize, isMatch)
-
 }
 
 func (w *wrappedIndexer) Close() {
diff --git a/modules/indexer/issues/bleve.go b/modules/indexer/issues/bleve.go
index db12874e84e..d986a0e55ef 100644
--- a/modules/indexer/issues/bleve.go
+++ b/modules/indexer/issues/bleve.go
@@ -156,9 +156,7 @@ func createIssueIndexer(path string, latestVersion int) (bleve.Index, error) {
 	return index, nil
 }
 
-var (
-	_ Indexer = &BleveIndexer{}
-)
+var _ Indexer = &BleveIndexer{}
 
 // BleveIndexer implements Indexer interface
 type BleveIndexer struct {
@@ -256,7 +254,7 @@ func (b *BleveIndexer) Search(keyword string, repoIDs []int64, limit, start int)
 		return nil, err
 	}
 
-	var ret = SearchResult{
+	ret := SearchResult{
 		Hits: make([]Match, 0, len(result.Hits)),
 	}
 	for _, hit := range result.Hits {
diff --git a/modules/indexer/issues/bleve_test.go b/modules/indexer/issues/bleve_test.go
index 036b318d85c..df036fb5733 100644
--- a/modules/indexer/issues/bleve_test.go
+++ b/modules/indexer/issues/bleve_test.go
@@ -53,43 +53,41 @@ func TestBleveIndexAndSearch(t *testing.T) {
 	})
 	assert.NoError(t, err)
 
-	var (
-		keywords = []struct {
-			Keyword string
-			IDs     []int64
-		}{
-			{
-				Keyword: "search",
-				IDs:     []int64{1},
-			},
-			{
-				Keyword: "test1",
-				IDs:     []int64{1},
-			},
-			{
-				Keyword: "test2",
-				IDs:     []int64{1},
-			},
-			{
-				Keyword: "support",
-				IDs:     []int64{1, 2},
-			},
-			{
-				Keyword: "chinese",
-				IDs:     []int64{1, 2},
-			},
-			{
-				Keyword: "help",
-				IDs:     []int64{},
-			},
-		}
-	)
+	keywords := []struct {
+		Keyword string
+		IDs     []int64
+	}{
+		{
+			Keyword: "search",
+			IDs:     []int64{1},
+		},
+		{
+			Keyword: "test1",
+			IDs:     []int64{1},
+		},
+		{
+			Keyword: "test2",
+			IDs:     []int64{1},
+		},
+		{
+			Keyword: "support",
+			IDs:     []int64{1, 2},
+		},
+		{
+			Keyword: "chinese",
+			IDs:     []int64{1, 2},
+		},
+		{
+			Keyword: "help",
+			IDs:     []int64{},
+		},
+	}
 
 	for _, kw := range keywords {
 		res, err := indexer.Search(kw.Keyword, []int64{2}, 10, 0)
 		assert.NoError(t, err)
 
-		var ids = make([]int64, 0, len(res.Hits))
+		ids := make([]int64, 0, len(res.Hits))
 		for _, hit := range res.Hits {
 			ids = append(ids, hit.ID)
 		}
diff --git a/modules/indexer/issues/db.go b/modules/indexer/issues/db.go
index d0cca4fd180..f02cbddce8f 100644
--- a/modules/indexer/issues/db.go
+++ b/modules/indexer/issues/db.go
@@ -7,8 +7,7 @@ package issues
 import "code.gitea.io/gitea/models"
 
 // DBIndexer implements Indexer interface to use database's like search
-type DBIndexer struct {
-}
+type DBIndexer struct{}
 
 // Init dummy function
 func (db *DBIndexer) Init() (bool, error) {
@@ -35,7 +34,7 @@ func (db *DBIndexer) Search(kw string, repoIDs []int64, limit, start int) (*Sear
 	if err != nil {
 		return nil, err
 	}
-	var result = SearchResult{
+	result := SearchResult{
 		Total: total,
 		Hits:  make([]Match, 0, limit),
 	}
diff --git a/modules/indexer/issues/elastic_search.go b/modules/indexer/issues/elastic_search.go
index 3af64ed30e5..187b69b7494 100644
--- a/modules/indexer/issues/elastic_search.go
+++ b/modules/indexer/issues/elastic_search.go
@@ -16,9 +16,7 @@ import (
 	"github.com/olivere/elastic/v7"
 )
 
-var (
-	_ Indexer = &ElasticSearchIndexer{}
-)
+var _ Indexer = &ElasticSearchIndexer{}
 
 // ElasticSearchIndexer implements Indexer interface
 type ElasticSearchIndexer struct {
@@ -102,7 +100,7 @@ func (b *ElasticSearchIndexer) Init() (bool, error) {
 	}
 
 	if !exists {
-		var mapping = defaultMapping
+		mapping := defaultMapping
 
 		createIndex, err := b.client.CreateIndex(b.indexerName).BodyString(mapping).Do(ctx)
 		if err != nil {
@@ -195,7 +193,7 @@ func (b *ElasticSearchIndexer) Search(keyword string, repoIDs []int64, limit, st
 	query := elastic.NewBoolQuery()
 	query = query.Must(kwQuery)
 	if len(repoIDs) > 0 {
-		var repoStrs = make([]interface{}, 0, len(repoIDs))
+		repoStrs := make([]interface{}, 0, len(repoIDs))
 		for _, repoID := range repoIDs {
 			repoStrs = append(repoStrs, repoID)
 		}
diff --git a/modules/indexer/issues/indexer_test.go b/modules/indexer/issues/indexer_test.go
index ba35e37fd87..ee6ebcdd18b 100644
--- a/modules/indexer/issues/indexer_test.go
+++ b/modules/indexer/issues/indexer_test.go
@@ -71,7 +71,6 @@ func TestBleveSearchIssues(t *testing.T) {
 	ids, err = SearchIssuesByKeyword([]int64{1}, "good")
 	assert.NoError(t, err)
 	assert.EqualValues(t, []int64{1}, ids)
-
 }
 
 func TestDBSearchIssues(t *testing.T) {
diff --git a/modules/indexer/stats/db.go b/modules/indexer/stats/db.go
index 9d2942a266a..e425b95d209 100644
--- a/modules/indexer/stats/db.go
+++ b/modules/indexer/stats/db.go
@@ -15,8 +15,7 @@ import (
 )
 
 // DBIndexer implements Indexer interface to use database's like search
-type DBIndexer struct {
-}
+type DBIndexer struct{}
 
 // Index repository status function
 func (db *DBIndexer) Index(id int64) error {
diff --git a/modules/lfs/endpoint_test.go b/modules/lfs/endpoint_test.go
index a7e8b1bfb7d..69f47686503 100644
--- a/modules/lfs/endpoint_test.go
+++ b/modules/lfs/endpoint_test.go
@@ -18,7 +18,7 @@ func str2url(raw string) *url.URL {
 
 func TestDetermineEndpoint(t *testing.T) {
 	// Test cases
-	var cases = []struct {
+	cases := []struct {
 		cloneurl string
 		lfsurl   string
 		expected *url.URL
diff --git a/modules/lfs/http_client_test.go b/modules/lfs/http_client_test.go
index 5b514a1230d..0ffe663da58 100644
--- a/modules/lfs/http_client_test.go
+++ b/modules/lfs/http_client_test.go
@@ -23,8 +23,7 @@ func (f RoundTripFunc) RoundTrip(req *http.Request) (*http.Response, error) {
 	return f(req), nil
 }
 
-type DummyTransferAdapter struct {
-}
+type DummyTransferAdapter struct{}
 
 func (a *DummyTransferAdapter) Name() string {
 	return "dummy"
@@ -172,7 +171,7 @@ func TestHTTPClientDownload(t *testing.T) {
 	})}
 	dummy := &DummyTransferAdapter{}
 
-	var cases = []struct {
+	cases := []struct {
 		endpoint      string
 		expectederror string
 	}{
@@ -279,7 +278,7 @@ func TestHTTPClientUpload(t *testing.T) {
 	})}
 	dummy := &DummyTransferAdapter{}
 
-	var cases = []struct {
+	cases := []struct {
 		endpoint      string
 		expectederror string
 	}{
diff --git a/modules/lfs/pointer_scanner_gogit.go b/modules/lfs/pointer_scanner_gogit.go
index 7e8b812f466..b4ba6fc1335 100644
--- a/modules/lfs/pointer_scanner_gogit.go
+++ b/modules/lfs/pointer_scanner_gogit.go
@@ -51,7 +51,6 @@ func SearchPointerBlobs(ctx context.Context, repo *git.Repository, pointerChan c
 			return nil
 		})
 	}()
-
 	if err != nil {
 		select {
 		case <-ctx.Done():
diff --git a/modules/log/colors.go b/modules/log/colors.go
index ad3120ee6cc..15e23a0dac2 100644
--- a/modules/log/colors.go
+++ b/modules/log/colors.go
@@ -169,10 +169,12 @@ var levelToColor = map[Level][]byte{
 	NONE:     ColorBytes(Reset),
 }
 
-var resetBytes = ColorBytes(Reset)
-var fgCyanBytes = ColorBytes(FgCyan)
-var fgGreenBytes = ColorBytes(FgGreen)
-var fgBoldBytes = ColorBytes(Bold)
+var (
+	resetBytes   = ColorBytes(Reset)
+	fgCyanBytes  = ColorBytes(FgCyan)
+	fgGreenBytes = ColorBytes(FgGreen)
+	fgBoldBytes  = ColorBytes(Bold)
+)
 
 type protectedANSIWriterMode int
 
@@ -335,7 +337,6 @@ func NewColoredValuePointer(value *interface{}, color ...ColorAttribute) *Colore
 		resetBytes: &resetBytes,
 		Value:      value,
 	}
-
 }
 
 // NewColoredValueBytes creates a value from the provided value with color bytes
diff --git a/modules/log/conn_test.go b/modules/log/conn_test.go
index 158a8ca6cee..1d373506a40 100644
--- a/modules/log/conn_test.go
+++ b/modules/log/conn_test.go
@@ -135,7 +135,7 @@ func TestConnLoggerFailConnect(t *testing.T) {
 
 	date := time.Date(2019, time.January, 13, 22, 3, 30, 15, location)
 
-	//dateString := date.UTC().Format("2006/01/02 15:04:05")
+	// dateString := date.UTC().Format("2006/01/02 15:04:05")
 
 	event := Event{
 		level:    INFO,
@@ -224,7 +224,6 @@ func TestConnLoggerClose(t *testing.T) {
 		err := logger.LogEvent(&event)
 		assert.NoError(t, err)
 		logger.Close()
-
 	}()
 	wg.Wait()
 	logger.Flush()
diff --git a/modules/log/file.go b/modules/log/file.go
index bc9d7417246..7dc77c09426 100644
--- a/modules/log/file.go
+++ b/modules/log/file.go
@@ -76,7 +76,7 @@ func (mw *MuxWriter) SetFd(fd *os.File) {
 func NewFileLogger() LoggerProvider {
 	log := &FileLogger{
 		Filename:         "",
-		Maxsize:          1 << 28, //256 MB
+		Maxsize:          1 << 28, // 256 MB
 		Daily:            true,
 		Maxdays:          7,
 		Rotate:           true,
@@ -137,7 +137,7 @@ func (log *FileLogger) docheck(size int) {
 
 func (log *FileLogger) createLogFile() (*os.File, error) {
 	// Open the log file
-	return os.OpenFile(log.Filename, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0660)
+	return os.OpenFile(log.Filename, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0o660)
 }
 
 func (log *FileLogger) initFd() error {
@@ -202,7 +202,7 @@ func compressOldLogFile(fname string, compressionLevel int) error {
 	}
 	defer reader.Close()
 	buffer := bufio.NewReader(reader)
-	fw, err := os.OpenFile(fname+".gz", os.O_WRONLY|os.O_CREATE, 0660)
+	fw, err := os.OpenFile(fname+".gz", os.O_WRONLY|os.O_CREATE, 0o660)
 	if err != nil {
 		return err
 	}
@@ -234,7 +234,6 @@ func (log *FileLogger) deleteOldLog() {
 
 		if !info.IsDir() && info.ModTime().Unix() < (time.Now().Unix()-60*60*24*log.Maxdays) {
 			if strings.HasPrefix(filepath.Base(path), filepath.Base(log.Filename)) {
-
 				if err := util.Remove(path); err != nil {
 					returnErr = fmt.Errorf("Failed to remove %s: %v", path, err)
 				}
diff --git a/modules/log/file_test.go b/modules/log/file_test.go
index 09a07b1e275..c3074b69df9 100644
--- a/modules/log/file_test.go
+++ b/modules/log/file_test.go
@@ -27,11 +27,11 @@ func TestFileLoggerFails(t *testing.T) {
 	prefix := "TestPrefix "
 	level := INFO
 	flags := LstdFlags | LUTC | Lfuncname
-	//filename := filepath.Join(tmpDir, "test.log")
+	// filename := filepath.Join(tmpDir, "test.log")
 
 	fileLogger := NewFileLogger()
-	//realFileLogger, ok := fileLogger.(*FileLogger)
-	//assert.True(t, ok)
+	// realFileLogger, ok := fileLogger.(*FileLogger)
+	// assert.True(t, ok)
 
 	// Fail if there is bad json
 	err = fileLogger.Init("{")
@@ -44,7 +44,6 @@ func TestFileLoggerFails(t *testing.T) {
 	// Fail if the file isn't a filename
 	err = fileLogger.Init(fmt.Sprintf("{\"prefix\":\"%s\",\"level\":\"%s\",\"flags\":%d,\"filename\":\"%s\"}", prefix, level.String(), flags, filepath.ToSlash(tmpDir)))
 	assert.Error(t, err)
-
 }
 
 func TestFileLogger(t *testing.T) {
@@ -125,7 +124,7 @@ func TestFileLogger(t *testing.T) {
 	assert.Equal(t, expected, string(logData))
 
 	for num := 2; num <= 999; num++ {
-		file, err := os.OpenFile(filename+fmt.Sprintf(".%s.%03d", time.Now().Format("2006-01-02"), num), os.O_RDONLY|os.O_CREATE, 0666)
+		file, err := os.OpenFile(filename+fmt.Sprintf(".%s.%03d", time.Now().Format("2006-01-02"), num), os.O_RDONLY|os.O_CREATE, 0o666)
 		assert.NoError(t, err)
 		file.Close()
 	}
@@ -202,7 +201,7 @@ func TestCompressFileLogger(t *testing.T) {
 	fileLogger.Flush()
 
 	for num := 2; num <= 999; num++ {
-		file, err := os.OpenFile(filename+fmt.Sprintf(".%s.%03d.gz", time.Now().Format("2006-01-02"), num), os.O_RDONLY|os.O_CREATE, 0666)
+		file, err := os.OpenFile(filename+fmt.Sprintf(".%s.%03d.gz", time.Now().Format("2006-01-02"), num), os.O_RDONLY|os.O_CREATE, 0o666)
 		assert.NoError(t, err)
 		file.Close()
 	}
@@ -217,9 +216,9 @@ func TestCompressOldFile(t *testing.T) {
 	fname := filepath.Join(tmpDir, "test")
 	nonGzip := filepath.Join(tmpDir, "test-nonGzip")
 
-	f, err := os.OpenFile(fname, os.O_CREATE|os.O_WRONLY, 0660)
+	f, err := os.OpenFile(fname, os.O_CREATE|os.O_WRONLY, 0o660)
 	assert.NoError(t, err)
-	ng, err := os.OpenFile(nonGzip, os.O_CREATE|os.O_WRONLY, 0660)
+	ng, err := os.OpenFile(nonGzip, os.O_CREATE|os.O_WRONLY, 0o660)
 	assert.NoError(t, err)
 
 	for i := 0; i < 999; i++ {
diff --git a/modules/log/log_test.go b/modules/log/log_test.go
index d14daa5a206..33f68c8e8e9 100644
--- a/modules/log/log_test.go
+++ b/modules/log/log_test.go
@@ -136,7 +136,6 @@ func TestNewLogggerRecreate(t *testing.T) {
 
 	// We should be able to redelete without a problem
 	go DelLogger("console")
-
 }
 
 func TestNewNamedLogger(t *testing.T) {
diff --git a/modules/log/logger.go b/modules/log/logger.go
index 75f361ccdba..0045d793229 100644
--- a/modules/log/logger.go
+++ b/modules/log/logger.go
@@ -65,7 +65,6 @@ func (l *LevelLoggerLogger) IsTrace() bool {
 // Debug records debug log
 func (l *LevelLoggerLogger) Debug(format string, v ...interface{}) {
 	l.Log(1, DEBUG, format, v...)
-
 }
 
 // IsDebug returns true if the logger is DEBUG
diff --git a/modules/log/stack.go b/modules/log/stack.go
index 8fc3f35421f..4b40d81ab72 100644
--- a/modules/log/stack.go
+++ b/modules/log/stack.go
@@ -11,9 +11,7 @@ import (
 	"runtime"
 )
 
-var (
-	unknown = []byte("???")
-)
+var unknown = []byte("???")
 
 // Stack will skip back the provided number of frames and return a stack trace with source code.
 // Although we could just use debug.Stack(), this routine will return the source code and
diff --git a/modules/log/writer.go b/modules/log/writer.go
index e8d06b67aba..1c4f5b4a195 100644
--- a/modules/log/writer.go
+++ b/modules/log/writer.go
@@ -189,7 +189,7 @@ func (logger *WriterLogger) createMsg(buf *[]byte, event *Event) {
 		*buf = append(*buf, ' ')
 	}
 
-	var msg = []byte(event.msg)
+	msg := []byte(event.msg)
 	if len(msg) > 0 && msg[len(msg)-1] == '\n' {
 		msg = msg[:len(msg)-1]
 	}
diff --git a/modules/markup/common/footnote.go b/modules/markup/common/footnote.go
index 92a54101f0c..7b6c57f927c 100644
--- a/modules/markup/common/footnote.go
+++ b/modules/markup/common/footnote.go
@@ -178,8 +178,7 @@ func NewFootnoteList() *FootnoteList {
 
 var footnoteListKey = parser.NewContextKey()
 
-type footnoteBlockParser struct {
-}
+type footnoteBlockParser struct{}
 
 var defaultFootnoteBlockParser = &footnoteBlockParser{}
 
@@ -265,8 +264,7 @@ func (b *footnoteBlockParser) CanAcceptIndentedLine() bool {
 	return false
 }
 
-type footnoteParser struct {
-}
+type footnoteParser struct{}
 
 var defaultFootnoteParser = &footnoteParser{}
 
@@ -337,8 +335,7 @@ func (s *footnoteParser) Parse(parent ast.Node, block text.Reader, pc parser.Con
 	return NewFootnoteLink(index, name)
 }
 
-type footnoteASTTransformer struct {
-}
+type footnoteASTTransformer struct{}
 
 var defaultFootnoteASTTransformer = &footnoteASTTransformer{}
 
@@ -357,7 +354,7 @@ func (a *footnoteASTTransformer) Transform(node *ast.Document, reader text.Reade
 	}
 	pc.Set(footnoteListKey, nil)
 	for footnote := list.FirstChild(); footnote != nil; {
-		var container ast.Node = footnote
+		container := footnote
 		next := footnote.NextSibling()
 		if fc := container.LastChild(); fc != nil && ast.IsParagraph(fc) {
 			container = fc
diff --git a/modules/markup/common/html.go b/modules/markup/common/html.go
index 3a47686f1ef..a2328a2288b 100644
--- a/modules/markup/common/html.go
+++ b/modules/markup/common/html.go
@@ -8,12 +8,10 @@ import (
 	"mvdan.cc/xurls/v2"
 )
 
-var (
-	// NOTE: All below regex matching do not perform any extra validation.
-	// Thus a link is produced even if the linked entity does not exist.
-	// While fast, this is also incorrect and lead to false positives.
-	// TODO: fix invalid linking issue
+// NOTE: All below regex matching do not perform any extra validation.
+// Thus a link is produced even if the linked entity does not exist.
+// While fast, this is also incorrect and lead to false positives.
+// TODO: fix invalid linking issue
 
-	// LinkRegex is a regexp matching a valid link
-	LinkRegex, _ = xurls.StrictMatchingScheme("https?://")
-)
+// LinkRegex is a regexp matching a valid link
+var LinkRegex, _ = xurls.StrictMatchingScheme("https?://")
diff --git a/modules/markup/common/linkify.go b/modules/markup/common/linkify.go
index 8a4b2a89857..2140486a30d 100644
--- a/modules/markup/common/linkify.go
+++ b/modules/markup/common/linkify.go
@@ -20,8 +20,7 @@ import (
 
 var wwwURLRegxp = regexp.MustCompile(`^www\.[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}((?:/|[#?])[-a-zA-Z0-9@:%_\+.~#!?&//=\(\);,'">\^{}\[\]` + "`" + `]*)?`)
 
-type linkifyParser struct {
-}
+type linkifyParser struct{}
 
 var defaultLinkifyParser = &linkifyParser{}
 
@@ -36,10 +35,12 @@ func (s *linkifyParser) Trigger() []byte {
 	return []byte{' ', '*', '_', '~', '('}
 }
 
-var protoHTTP = []byte("http:")
-var protoHTTPS = []byte("https:")
-var protoFTP = []byte("ftp:")
-var domainWWW = []byte("www.")
+var (
+	protoHTTP  = []byte("http:")
+	protoHTTPS = []byte("https:")
+	protoFTP   = []byte("ftp:")
+	domainWWW  = []byte("www.")
+)
 
 func (s *linkifyParser) Parse(parent ast.Node, block text.Reader, pc parser.Context) ast.Node {
 	if pc.IsInLinkLabel() {
@@ -58,7 +59,7 @@ func (s *linkifyParser) Parse(parent ast.Node, block text.Reader, pc parser.Cont
 
 	var m []int
 	var protocol []byte
-	var typ ast.AutoLinkType = ast.AutoLinkURL
+	typ := ast.AutoLinkURL
 	if bytes.HasPrefix(line, protoHTTP) || bytes.HasPrefix(line, protoHTTPS) || bytes.HasPrefix(line, protoFTP) {
 		m = LinkRegex.FindSubmatchIndex(line)
 	}
@@ -139,8 +140,7 @@ func (s *linkifyParser) CloseBlock(parent ast.Node, pc parser.Context) {
 	// nothing to do
 }
 
-type linkify struct {
-}
+type linkify struct{}
 
 // Linkify is an extension that allow you to parse text that seems like a URL.
 var Linkify = &linkify{}
diff --git a/modules/markup/csv/csv.go b/modules/markup/csv/csv.go
index c1d9d18b67c..de32c57a64f 100644
--- a/modules/markup/csv/csv.go
+++ b/modules/markup/csv/csv.go
@@ -22,8 +22,7 @@ func init() {
 }
 
 // Renderer implements markup.Renderer for csv files
-type Renderer struct {
-}
+type Renderer struct{}
 
 // Name implements markup.Renderer
 func (Renderer) Name() string {
@@ -83,7 +82,7 @@ func writeField(w io.Writer, element, class, field string) error {
 
 // Render implements markup.Renderer
 func (Renderer) Render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error {
-	var tmpBlock = bufio.NewWriter(output)
+	tmpBlock := bufio.NewWriter(output)
 
 	// FIXME: don't read all to memory
 	rawBytes, err := io.ReadAll(input)
diff --git a/modules/markup/csv/csv_test.go b/modules/markup/csv/csv_test.go
index 613762f86ce..612f78c76cb 100644
--- a/modules/markup/csv/csv_test.go
+++ b/modules/markup/csv/csv_test.go
@@ -15,7 +15,7 @@ import (
 
 func TestRenderCSV(t *testing.T) {
 	var render Renderer
-	var kases = map[string]string{
+	kases := map[string]string{
 		"a":        "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>a</th></tr></table>",
 		"1,2":      "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>1</th><th>2</th></tr></table>",
 		"1;2\n3;4": "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>1</th><th>2</th></tr><tr><td class=\"line-num\">2</td><td>3</td><td>4</td></tr></table>",
diff --git a/modules/markup/html.go b/modules/markup/html.go
index f082b97dbb6..e28e26c6d16 100644
--- a/modules/markup/html.go
+++ b/modules/markup/html.go
@@ -202,7 +202,7 @@ func RenderCommitMessage(
 	ctx *RenderContext,
 	content string,
 ) (string, error) {
-	var procs = commitMessageProcessors
+	procs := commitMessageProcessors
 	if ctx.DefaultLink != "" {
 		// we don't have to fear data races, because being
 		// commitMessageProcessors of fixed len and cap, every time we append
@@ -238,7 +238,7 @@ func RenderCommitMessageSubject(
 	ctx *RenderContext,
 	content string,
 ) (string, error) {
-	var procs = commitMessageSubjectProcessors
+	procs := commitMessageSubjectProcessors
 	if ctx.DefaultLink != "" {
 		// we don't have to fear data races, because being
 		// commitMessageSubjectProcessors of fixed len and cap, every time we
@@ -291,8 +291,10 @@ func RenderEmoji(
 	return renderProcessString(&RenderContext{}, emojiProcessors, content)
 }
 
-var tagCleaner = regexp.MustCompile(`<((?:/?\w+/\w+)|(?:/[\w ]+/)|(/?[hH][tT][mM][lL]\b)|(/?[hH][eE][aA][dD]\b))`)
-var nulCleaner = strings.NewReplacer("\000", "")
+var (
+	tagCleaner = regexp.MustCompile(`<((?:/?\w+/\w+)|(?:/[\w ]+/)|(/?[hH][tT][mM][lL]\b)|(/?[hH][eE][aA][dD]\b))`)
+	nulCleaner = strings.NewReplacer("\000", "")
+)
 
 func postProcess(ctx *RenderContext, procs []processor, input io.Reader, output io.Writer) error {
 	defer ctx.Cancel()
diff --git a/modules/markup/html_internal_test.go b/modules/markup/html_internal_test.go
index a79b9824735..f0eb3253e1b 100644
--- a/modules/markup/html_internal_test.go
+++ b/modules/markup/html_internal_test.go
@@ -15,9 +15,11 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-const TestAppURL = "http://localhost:3000/"
-const TestOrgRepo = "gogits/gogs"
-const TestRepoURL = TestAppURL + TestOrgRepo + "/"
+const (
+	TestAppURL  = "http://localhost:3000/"
+	TestOrgRepo = "gogits/gogs"
+	TestRepoURL = TestAppURL + TestOrgRepo + "/"
+)
 
 // alphanumLink an HTML link to an alphanumeric-style issue
 func alphanumIssueLink(baseURL, class, name string) string {
diff --git a/modules/markup/html_test.go b/modules/markup/html_test.go
index 2824dca504f..ee9b17df2ff 100644
--- a/modules/markup/html_test.go
+++ b/modules/markup/html_test.go
@@ -38,17 +38,17 @@ func TestRender_Commits(t *testing.T) {
 		assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(buffer))
 	}
 
-	var sha = "65f1bf27bc3bf70f64657658635e66094edbcb4d"
-	var repo = TestRepoURL
-	var commit = util.URLJoin(repo, "commit", sha)
-	var tree = util.URLJoin(repo, "tree", sha, "src")
+	sha := "65f1bf27bc3bf70f64657658635e66094edbcb4d"
+	repo := TestRepoURL
+	commit := util.URLJoin(repo, "commit", sha)
+	tree := util.URLJoin(repo, "tree", sha, "src")
 
-	var file = util.URLJoin(repo, "commit", sha, "example.txt")
-	var fileWithExtra = file + ":"
-	var fileWithHash = file + "#L2"
-	var fileWithHasExtra = file + "#L2:"
-	var commitCompare = util.URLJoin(repo, "compare", sha+"..."+sha)
-	var commitCompareWithHash = commitCompare + "#L2"
+	file := util.URLJoin(repo, "commit", sha, "example.txt")
+	fileWithExtra := file + ":"
+	fileWithHash := file + "#L2"
+	fileWithHasExtra := file + "#L2:"
+	commitCompare := util.URLJoin(repo, "compare", sha+"..."+sha)
+	commitCompareWithHash := commitCompare + "#L2"
 
 	test(sha, `<p><a href="`+commit+`" rel="nofollow"><code>65f1bf27bc</code></a></p>`)
 	test(sha[:7], `<p><a href="`+commit[:len(commit)-(40-7)]+`" rel="nofollow"><code>65f1bf2</code></a></p>`)
@@ -102,8 +102,8 @@ func TestRender_CrossReferences(t *testing.T) {
 func TestMisc_IsSameDomain(t *testing.T) {
 	setting.AppURL = TestAppURL
 
-	var sha = "b6dd6210eaebc915fd5be5579c58cce4da2e2579"
-	var commit = util.URLJoin(TestRepoURL, "commit", sha)
+	sha := "b6dd6210eaebc915fd5be5579c58cce4da2e2579"
+	commit := util.URLJoin(TestRepoURL, "commit", sha)
 
 	assert.True(t, IsSameDomain(commit))
 	assert.False(t, IsSameDomain("http://google.com/ncr"))
@@ -291,7 +291,7 @@ func TestRender_emoji(t *testing.T) {
 			`<p><span class="emoji" aria-label="`+emoji.GemojiData[i].Description+`">`+emoji.GemojiData[i].Emoji+`</span></p>`)
 	}
 
-	//Text that should be turned into or recognized as emoji
+	// Text that should be turned into or recognized as emoji
 	test(
 		":gitea:",
 		`<p><span class="emoji" aria-label="gitea"><img alt=":gitea:" src="`+setting.StaticURLPrefix+`/assets/img/emoji/gitea.png"/></span></p>`)
@@ -472,7 +472,7 @@ func TestRender_RelativeImages(t *testing.T) {
 func Test_ParseClusterFuzz(t *testing.T) {
 	setting.AppURL = TestAppURL
 
-	var localMetas = map[string]string{
+	localMetas := map[string]string{
 		"user": "go-gitea",
 		"repo": "gitea",
 	}
@@ -502,7 +502,7 @@ func Test_ParseClusterFuzz(t *testing.T) {
 func TestIssue16020(t *testing.T) {
 	setting.AppURL = TestAppURL
 
-	var localMetas = map[string]string{
+	localMetas := map[string]string{
 		"user": "go-gitea",
 		"repo": "gitea",
 	}
diff --git a/modules/markup/markdown/goldmark.go b/modules/markup/markdown/goldmark.go
index 83afb8b6637..9b6cd3aaefb 100644
--- a/modules/markup/markdown/goldmark.go
+++ b/modules/markup/markdown/goldmark.go
@@ -42,7 +42,7 @@ func (g *ASTTransformer) Transform(node *ast.Document, reader text.Reader, pc pa
 	metaData := meta.GetItems(pc)
 	firstChild := node.FirstChild()
 	createTOC := false
-	var toc = []Header{}
+	toc := []Header{}
 	rc := &RenderConfig{
 		Meta: "table",
 		Icon: "table",
diff --git a/modules/markup/markdown/markdown.go b/modules/markup/markdown/markdown.go
index 5ce36a1d162..b45b9c8b8ae 100644
--- a/modules/markup/markdown/markdown.go
+++ b/modules/markup/markdown/markdown.go
@@ -28,12 +28,16 @@ import (
 	"github.com/yuin/goldmark/util"
 )
 
-var converter goldmark.Markdown
-var once = sync.Once{}
+var (
+	converter goldmark.Markdown
+	once      = sync.Once{}
+)
 
-var urlPrefixKey = parser.NewContextKey()
-var isWikiKey = parser.NewContextKey()
-var renderMetasKey = parser.NewContextKey()
+var (
+	urlPrefixKey   = parser.NewContextKey()
+	isWikiKey      = parser.NewContextKey()
+	renderMetasKey = parser.NewContextKey()
+)
 
 type limitWriter struct {
 	w     io.Writer
@@ -134,7 +138,6 @@ func actualRender(ctx *markup.RenderContext, input io.Reader, output io.Writer)
 				util.Prioritized(NewHTMLRenderer(), 10),
 			),
 		)
-
 	})
 
 	lw := &limitWriter{
@@ -190,10 +193,8 @@ func render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error
 	return actualRender(ctx, input, output)
 }
 
-var (
-	// MarkupName describes markup's name
-	MarkupName = "markdown"
-)
+// MarkupName describes markup's name
+var MarkupName = "markdown"
 
 func init() {
 	markup.RegisterRenderer(Renderer{})
diff --git a/modules/markup/markdown/markdown_test.go b/modules/markup/markdown/markdown_test.go
index 84295b3d4ea..54c2ea87d67 100644
--- a/modules/markup/markdown/markdown_test.go
+++ b/modules/markup/markdown/markdown_test.go
@@ -18,9 +18,11 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-const AppURL = "http://localhost:3000/"
-const Repo = "gogits/gogs"
-const AppSubURL = AppURL + Repo + "/"
+const (
+	AppURL    = "http://localhost:3000/"
+	Repo      = "gogits/gogs"
+	AppSubURL = AppURL + Repo + "/"
+)
 
 // these values should match the Repo const above
 var localMetas = map[string]string{
@@ -120,7 +122,6 @@ func TestRender_Images(t *testing.T) {
 	test(
 		"[!["+title+"]("+url+")]("+href+")",
 		`<p><a href="`+href+`" rel="nofollow"><img src="`+result+`" alt="`+title+`"/></a></p>`)
-
 }
 
 func testAnswers(baseURLContent, baseURLImages string) []string {
diff --git a/modules/markup/mdstripper/mdstripper.go b/modules/markup/mdstripper/mdstripper.go
index 2977c819778..64079194fff 100644
--- a/modules/markup/mdstripper/mdstripper.go
+++ b/modules/markup/mdstripper/mdstripper.go
@@ -147,8 +147,10 @@ func StripMarkdown(rawBytes []byte) (string, []string) {
 	return string(buf), links
 }
 
-var stripParser parser.Parser
-var once = sync.Once{}
+var (
+	stripParser parser.Parser
+	once        = sync.Once{}
+)
 
 // StripMarkdownBytes parses markdown content by removing all markup and code blocks
 //	in order to extract links and other references
diff --git a/modules/markup/mdstripper/mdstripper_test.go b/modules/markup/mdstripper/mdstripper_test.go
index 13cea0ff72a..8045c34c079 100644
--- a/modules/markup/mdstripper/mdstripper_test.go
+++ b/modules/markup/mdstripper/mdstripper_test.go
@@ -52,7 +52,8 @@ A HIDDEN ` + "`" + `GHOST` + "`" + ` IN THIS LINE.
 			},
 			[]string{
 				"link",
-			}},
+			},
+		},
 		{
 			"Simply closes: #29 yes",
 			[]string{
diff --git a/modules/markup/orgmode/orgmode.go b/modules/markup/orgmode/orgmode.go
index b035e04a1fc..8aa5f45ee24 100644
--- a/modules/markup/orgmode/orgmode.go
+++ b/modules/markup/orgmode/orgmode.go
@@ -27,8 +27,7 @@ func init() {
 }
 
 // Renderer implements markup.Renderer for orgmode
-type Renderer struct {
-}
+type Renderer struct{}
 
 // Name implements markup.Renderer
 func (Renderer) Name() string {
diff --git a/modules/markup/orgmode/orgmode_test.go b/modules/markup/orgmode/orgmode_test.go
index 38c010ef68d..4fc0a20db2b 100644
--- a/modules/markup/orgmode/orgmode_test.go
+++ b/modules/markup/orgmode/orgmode_test.go
@@ -15,9 +15,11 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-const AppURL = "http://localhost:3000/"
-const Repo = "gogits/gogs"
-const AppSubURL = AppURL + Repo + "/"
+const (
+	AppURL    = "http://localhost:3000/"
+	Repo      = "gogits/gogs"
+	AppSubURL = AppURL + Repo + "/"
+)
 
 func TestRender_StandardLinks(t *testing.T) {
 	setting.AppURL = AppURL
diff --git a/modules/markup/sanitizer.go b/modules/markup/sanitizer.go
index 92dd19f0a1e..388af567123 100644
--- a/modules/markup/sanitizer.go
+++ b/modules/markup/sanitizer.go
@@ -86,7 +86,8 @@ func createDefaultPolicy() *bluemonday.Policy {
 	policy.AllowAttrs("class").Matching(regexp.MustCompile(`^((icon(\s+[\p{L}\p{N}_-]+)+)|(emoji))$|^([a-z][a-z0-9]{0,2})$|^` + keywordClass + `$`)).OnElements("span")
 
 	// Allow generally safe attributes
-	generalSafeAttrs := []string{"abbr", "accept", "accept-charset",
+	generalSafeAttrs := []string{
+		"abbr", "accept", "accept-charset",
 		"accesskey", "action", "align", "alt",
 		"aria-describedby", "aria-hidden", "aria-label", "aria-labelledby",
 		"axis", "border", "cellpadding", "cellspacing", "char",
diff --git a/modules/markup/sanitizer_test.go b/modules/markup/sanitizer_test.go
index 64189e14352..a0753c4a56c 100644
--- a/modules/markup/sanitizer_test.go
+++ b/modules/markup/sanitizer_test.go
@@ -59,5 +59,4 @@ func TestSanitizeNonEscape(t *testing.T) {
 	if strings.Contains(string(output), "<script>") {
 		t.Errorf("un-escaped <script> in output: %q", output)
 	}
-
 }
diff --git a/modules/metrics/collector.go b/modules/metrics/collector.go
index 64631185817..069633a565a 100755
--- a/modules/metrics/collector.go
+++ b/modules/metrics/collector.go
@@ -47,7 +47,6 @@ type Collector struct {
 
 // NewCollector returns a new Collector with all prometheus.Desc initialized
 func NewCollector() Collector {
-
 	return Collector{
 		Accesses: prometheus.NewDesc(
 			namespace+"accesses",
diff --git a/modules/migration/null_downloader.go b/modules/migration/null_downloader.go
index 69d5ac7b564..61928708735 100644
--- a/modules/migration/null_downloader.go
+++ b/modules/migration/null_downloader.go
@@ -10,12 +10,9 @@ import (
 )
 
 // NullDownloader implements a blank downloader
-type NullDownloader struct {
-}
+type NullDownloader struct{}
 
-var (
-	_ Downloader = &NullDownloader{}
-)
+var _ Downloader = &NullDownloader{}
 
 // SetContext set context
 func (n NullDownloader) SetContext(_ context.Context) {}
diff --git a/modules/migration/retry_downloader.go b/modules/migration/retry_downloader.go
index 1f034ab0c76..1095a26891b 100644
--- a/modules/migration/retry_downloader.go
+++ b/modules/migration/retry_downloader.go
@@ -9,9 +9,7 @@ import (
 	"time"
 )
 
-var (
-	_ Downloader = &RetryDownloader{}
-)
+var _ Downloader = &RetryDownloader{}
 
 // RetryDownloader retry the downloads
 type RetryDownloader struct {
diff --git a/modules/nosql/redis.go b/modules/nosql/redis.go
index 528f5fc802c..13795f3d7bc 100644
--- a/modules/nosql/redis.go
+++ b/modules/nosql/redis.go
@@ -45,7 +45,6 @@ func ToRedisURI(connection string) *url.URL {
 	if len(fields) == 1 {
 		// It's a comma delimited string, then...
 		fields = strings.Split(connection, ",")
-
 	}
 	for _, f := range fields {
 		items := strings.SplitN(f, "=", 2)
diff --git a/modules/notification/action/action.go b/modules/notification/action/action.go
index bdf4a509951..ed4ce3dd1af 100644
--- a/modules/notification/action/action.go
+++ b/modules/notification/action/action.go
@@ -25,9 +25,7 @@ type actionNotifier struct {
 	base.NullNotifier
 }
 
-var (
-	_ base.Notifier = &actionNotifier{}
-)
+var _ base.Notifier = &actionNotifier{}
 
 // NewNotifier create a new actionNotifier notifier
 func NewNotifier() base.Notifier {
@@ -220,7 +218,7 @@ func (a *actionNotifier) NotifyPullRequestReview(pr *models.PullRequest, review
 		return
 	}
 
-	var actions = make([]*models.Action, 0, 10)
+	actions := make([]*models.Action, 0, 10)
 	for _, lines := range review.CodeComments {
 		for _, comments := range lines {
 			for _, comm := range comments {
diff --git a/modules/notification/base/notifier.go b/modules/notification/base/notifier.go
index 177864994da..7f5caa3bcc2 100644
--- a/modules/notification/base/notifier.go
+++ b/modules/notification/base/notifier.go
@@ -14,14 +14,12 @@ import (
 // Notifier defines an interface to notify receiver
 type Notifier interface {
 	Run()
-
-	NotifyCreateRepository(doer *user_model.User, u *user_model.User, repo *repo_model.Repository)
-	NotifyMigrateRepository(doer *user_model.User, u *user_model.User, repo *repo_model.Repository)
+	NotifyCreateRepository(doer, u *user_model.User, repo *repo_model.Repository)
+	NotifyMigrateRepository(doer, u *user_model.User, repo *repo_model.Repository)
 	NotifyDeleteRepository(doer *user_model.User, repo *repo_model.Repository)
 	NotifyForkRepository(doer *user_model.User, oldRepo, repo *repo_model.Repository)
 	NotifyRenameRepository(doer *user_model.User, repo *repo_model.Repository, oldRepoName string)
 	NotifyTransferRepository(doer *user_model.User, repo *repo_model.Repository, oldOwnerName string)
-
 	NotifyNewIssue(issue *models.Issue, mentions []*user_model.User)
 	NotifyIssueChangeStatus(*user_model.User, *models.Issue, *models.Comment, bool)
 	NotifyIssueChangeMilestone(doer *user_model.User, issue *models.Issue, oldMilestoneID int64)
@@ -32,8 +30,7 @@ type Notifier interface {
 	NotifyIssueChangeTitle(doer *user_model.User, issue *models.Issue, oldTitle string)
 	NotifyIssueChangeRef(doer *user_model.User, issue *models.Issue, oldRef string)
 	NotifyIssueChangeLabels(doer *user_model.User, issue *models.Issue,
-		addedLabels []*models.Label, removedLabels []*models.Label)
-
+		addedLabels, removedLabels []*models.Label)
 	NotifyNewPullRequest(pr *models.PullRequest, mentions []*user_model.User)
 	NotifyMergePullRequest(*models.PullRequest, *user_model.User)
 	NotifyPullRequestSynchronized(doer *user_model.User, pr *models.PullRequest)
@@ -42,23 +39,18 @@ type Notifier interface {
 	NotifyPullRequestChangeTargetBranch(doer *user_model.User, pr *models.PullRequest, oldBranch string)
 	NotifyPullRequestPushCommits(doer *user_model.User, pr *models.PullRequest, comment *models.Comment)
 	NotifyPullRevieweDismiss(doer *user_model.User, review *models.Review, comment *models.Comment)
-
 	NotifyCreateIssueComment(doer *user_model.User, repo *repo_model.Repository,
 		issue *models.Issue, comment *models.Comment, mentions []*user_model.User)
 	NotifyUpdateComment(*user_model.User, *models.Comment, string)
 	NotifyDeleteComment(*user_model.User, *models.Comment)
-
 	NotifyNewRelease(rel *models.Release)
 	NotifyUpdateRelease(doer *user_model.User, rel *models.Release)
 	NotifyDeleteRelease(doer *user_model.User, rel *models.Release)
-
 	NotifyPushCommits(pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits)
 	NotifyCreateRef(doer *user_model.User, repo *repo_model.Repository, refType, refFullName, refID string)
 	NotifyDeleteRef(doer *user_model.User, repo *repo_model.Repository, refType, refFullName string)
-
 	NotifySyncPushCommits(pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits)
 	NotifySyncCreateRef(doer *user_model.User, repo *repo_model.Repository, refType, refFullName, refID string)
 	NotifySyncDeleteRef(doer *user_model.User, repo *repo_model.Repository, refType, refFullName string)
-
 	NotifyRepoPendingTransfer(doer, newOwner *user_model.User, repo *repo_model.Repository)
 }
diff --git a/modules/notification/base/null.go b/modules/notification/base/null.go
index 9524f02f1b3..bd52b843a7c 100644
--- a/modules/notification/base/null.go
+++ b/modules/notification/base/null.go
@@ -12,12 +12,9 @@ import (
 )
 
 // NullNotifier implements a blank notifier
-type NullNotifier struct {
-}
+type NullNotifier struct{}
 
-var (
-	_ Notifier = &NullNotifier{}
-)
+var _ Notifier = &NullNotifier{}
 
 // Run places a place holder function
 func (*NullNotifier) Run() {
@@ -118,7 +115,7 @@ func (*NullNotifier) NotifyIssueChangeRef(doer *user_model.User, issue *models.I
 
 // NotifyIssueChangeLabels places a place holder function
 func (*NullNotifier) NotifyIssueChangeLabels(doer *user_model.User, issue *models.Issue,
-	addedLabels []*models.Label, removedLabels []*models.Label) {
+	addedLabels, removedLabels []*models.Label) {
 }
 
 // NotifyCreateRepository places a place holder function
diff --git a/modules/notification/indexer/indexer.go b/modules/notification/indexer/indexer.go
index 715ec724c34..26f19e7791e 100644
--- a/modules/notification/indexer/indexer.go
+++ b/modules/notification/indexer/indexer.go
@@ -22,9 +22,7 @@ type indexerNotifier struct {
 	base.NullNotifier
 }
 
-var (
-	_ base.Notifier = &indexerNotifier{}
-)
+var _ base.Notifier = &indexerNotifier{}
 
 // NewNotifier create a new indexerNotifier notifier
 func NewNotifier() base.Notifier {
diff --git a/modules/notification/mail/mail.go b/modules/notification/mail/mail.go
index b96871597fa..94ee16ff8c1 100644
--- a/modules/notification/mail/mail.go
+++ b/modules/notification/mail/mail.go
@@ -21,9 +21,7 @@ type mailNotifier struct {
 	base.NullNotifier
 }
 
-var (
-	_ base.Notifier = &mailNotifier{}
-)
+var _ base.Notifier = &mailNotifier{}
 
 // NewNotifier create a new mailNotifier notifier
 func NewNotifier() base.Notifier {
diff --git a/modules/notification/notification.go b/modules/notification/notification.go
index 201f652b3c0..a0acd01561a 100644
--- a/modules/notification/notification.go
+++ b/modules/notification/notification.go
@@ -18,9 +18,7 @@ import (
 	"code.gitea.io/gitea/modules/setting"
 )
 
-var (
-	notifiers []base.Notifier
-)
+var notifiers []base.Notifier
 
 // RegisterNotifier providers method to receive notify messages
 func RegisterNotifier(notifier base.Notifier) {
@@ -203,7 +201,7 @@ func NotifyIssueChangeRef(doer *user_model.User, issue *models.Issue, oldRef str
 
 // NotifyIssueChangeLabels notifies change labels to notifiers
 func NotifyIssueChangeLabels(doer *user_model.User, issue *models.Issue,
-	addedLabels []*models.Label, removedLabels []*models.Label) {
+	addedLabels, removedLabels []*models.Label) {
 	for _, notifier := range notifiers {
 		notifier.NotifyIssueChangeLabels(doer, issue, addedLabels, removedLabels)
 	}
diff --git a/modules/notification/ui/ui.go b/modules/notification/ui/ui.go
index fd44cd15fd0..ecedd70193e 100644
--- a/modules/notification/ui/ui.go
+++ b/modules/notification/ui/ui.go
@@ -29,9 +29,7 @@ type (
 	}
 )
 
-var (
-	_ base.Notifier = &notificationService{}
-)
+var _ base.Notifier = &notificationService{}
 
 // NewNotifier create a new notificationService notifier
 func NewNotifier() base.Notifier {
@@ -55,7 +53,7 @@ func (ns *notificationService) Run() {
 
 func (ns *notificationService) NotifyCreateIssueComment(doer *user_model.User, repo *repo_model.Repository,
 	issue *models.Issue, comment *models.Comment, mentions []*user_model.User) {
-	var opts = issueNotificationOpts{
+	opts := issueNotificationOpts{
 		IssueID:              issue.ID,
 		NotificationAuthorID: doer.ID,
 	}
@@ -64,7 +62,7 @@ func (ns *notificationService) NotifyCreateIssueComment(doer *user_model.User, r
 	}
 	_ = ns.issueQueue.Push(opts)
 	for _, mention := range mentions {
-		var opts = issueNotificationOpts{
+		opts := issueNotificationOpts{
 			IssueID:              issue.ID,
 			NotificationAuthorID: doer.ID,
 			ReceiverID:           mention.ID,
@@ -153,7 +151,7 @@ func (ns *notificationService) NotifyNewPullRequest(pr *models.PullRequest, ment
 }
 
 func (ns *notificationService) NotifyPullRequestReview(pr *models.PullRequest, r *models.Review, c *models.Comment, mentions []*user_model.User) {
-	var opts = issueNotificationOpts{
+	opts := issueNotificationOpts{
 		IssueID:              pr.Issue.ID,
 		NotificationAuthorID: r.Reviewer.ID,
 	}
@@ -162,7 +160,7 @@ func (ns *notificationService) NotifyPullRequestReview(pr *models.PullRequest, r
 	}
 	_ = ns.issueQueue.Push(opts)
 	for _, mention := range mentions {
-		var opts = issueNotificationOpts{
+		opts := issueNotificationOpts{
 			IssueID:              pr.Issue.ID,
 			NotificationAuthorID: r.Reviewer.ID,
 			ReceiverID:           mention.ID,
@@ -186,7 +184,7 @@ func (ns *notificationService) NotifyPullRequestCodeComment(pr *models.PullReque
 }
 
 func (ns *notificationService) NotifyPullRequestPushCommits(doer *user_model.User, pr *models.PullRequest, comment *models.Comment) {
-	var opts = issueNotificationOpts{
+	opts := issueNotificationOpts{
 		IssueID:              pr.IssueID,
 		NotificationAuthorID: doer.ID,
 		CommentID:            comment.ID,
@@ -195,7 +193,7 @@ func (ns *notificationService) NotifyPullRequestPushCommits(doer *user_model.Use
 }
 
 func (ns *notificationService) NotifyPullRevieweDismiss(doer *user_model.User, review *models.Review, comment *models.Comment) {
-	var opts = issueNotificationOpts{
+	opts := issueNotificationOpts{
 		IssueID:              review.IssueID,
 		NotificationAuthorID: doer.ID,
 		CommentID:            comment.ID,
@@ -205,7 +203,7 @@ func (ns *notificationService) NotifyPullRevieweDismiss(doer *user_model.User, r
 
 func (ns *notificationService) NotifyIssueChangeAssignee(doer *user_model.User, issue *models.Issue, assignee *user_model.User, removed bool, comment *models.Comment) {
 	if !removed {
-		var opts = issueNotificationOpts{
+		opts := issueNotificationOpts{
 			IssueID:              issue.ID,
 			NotificationAuthorID: doer.ID,
 			ReceiverID:           assignee.ID,
@@ -221,7 +219,7 @@ func (ns *notificationService) NotifyIssueChangeAssignee(doer *user_model.User,
 
 func (ns *notificationService) NotifyPullReviewRequest(doer *user_model.User, issue *models.Issue, reviewer *user_model.User, isRequest bool, comment *models.Comment) {
 	if isRequest {
-		var opts = issueNotificationOpts{
+		opts := issueNotificationOpts{
 			IssueID:              issue.ID,
 			NotificationAuthorID: doer.ID,
 			ReceiverID:           reviewer.ID,
diff --git a/modules/notification/webhook/webhook.go b/modules/notification/webhook/webhook.go
index 39b50b3cd10..ea70faa3c76 100644
--- a/modules/notification/webhook/webhook.go
+++ b/modules/notification/webhook/webhook.go
@@ -29,9 +29,7 @@ type webhookNotifier struct {
 	base.NullNotifier
 }
 
-var (
-	_ base.Notifier = &webhookNotifier{}
-)
+var _ base.Notifier = &webhookNotifier{}
 
 // NewNotifier create a new webhookNotifier notifier
 func NewNotifier() base.Notifier {
@@ -497,11 +495,10 @@ func (m *webhookNotifier) NotifyDeleteComment(doer *user_model.User, comment *mo
 	if err != nil {
 		log.Error("PrepareWebhooks [comment_id: %d]: %v", comment.ID, err)
 	}
-
 }
 
 func (m *webhookNotifier) NotifyIssueChangeLabels(doer *user_model.User, issue *models.Issue,
-	addedLabels []*models.Label, removedLabels []*models.Label) {
+	addedLabels, removedLabels []*models.Label) {
 	ctx, _, finished := process.GetManager().AddContext(graceful.GetManager().HammerContext(), fmt.Sprintf("webhook.NotifyIssueChangeLabels User: %s[%d] Issue[%d] #%d in [%d]", doer.Name, doer.ID, issue.ID, issue.Index, issue.RepoID))
 	defer finished()
 
diff --git a/modules/options/dynamic.go b/modules/options/dynamic.go
index 78b0450d9b4..e1b9353c335 100644
--- a/modules/options/dynamic.go
+++ b/modules/options/dynamic.go
@@ -17,9 +17,7 @@ import (
 	"code.gitea.io/gitea/modules/util"
 )
 
-var (
-	directories = make(directorySet)
-)
+var directories = make(directorySet)
 
 // Dir returns all files from static or custom directory.
 func Dir(name string) ([]string, error) {
@@ -27,9 +25,7 @@ func Dir(name string) ([]string, error) {
 		return directories.Get(name), nil
 	}
 
-	var (
-		result []string
-	)
+	var result []string
 
 	customDir := path.Join(setting.CustomPath, "options", name)
 
@@ -39,7 +35,6 @@ func Dir(name string) ([]string, error) {
 	}
 	if isDir {
 		files, err := util.StatDir(customDir, true)
-
 		if err != nil {
 			return []string{}, fmt.Errorf("Failed to read custom directory. %v", err)
 		}
@@ -55,7 +50,6 @@ func Dir(name string) ([]string, error) {
 	}
 	if isDir {
 		files, err := util.StatDir(staticDir, true)
-
 		if err != nil {
 			return []string{}, fmt.Errorf("Failed to read static directory. %v", err)
 		}
diff --git a/modules/options/static.go b/modules/options/static.go
index afe32216d33..5b61e58f8fc 100644
--- a/modules/options/static.go
+++ b/modules/options/static.go
@@ -18,9 +18,7 @@ import (
 	"code.gitea.io/gitea/modules/util"
 )
 
-var (
-	directories = make(directorySet)
-)
+var directories = make(directorySet)
 
 // Dir returns all files from bindata or custom directory.
 func Dir(name string) ([]string, error) {
@@ -28,9 +26,7 @@ func Dir(name string) ([]string, error) {
 		return directories.Get(name), nil
 	}
 
-	var (
-		result []string
-	)
+	var result []string
 
 	customDir := path.Join(setting.CustomPath, "options", name)
 	isDir, err := util.IsDir(customDir)
@@ -39,7 +35,6 @@ func Dir(name string) ([]string, error) {
 	}
 	if isDir {
 		files, err := util.StatDir(customDir, true)
-
 		if err != nil {
 			return []string{}, fmt.Errorf("Failed to read custom directory. %v", err)
 		}
@@ -48,7 +43,6 @@ func Dir(name string) ([]string, error) {
 	}
 
 	files, err := AssetDir(name)
-
 	if err != nil {
 		return []string{}, fmt.Errorf("Failed to read embedded directory. %v", err)
 	}
@@ -69,7 +63,7 @@ func AssetDir(dirName string) ([]string, error) {
 	if err != nil {
 		return nil, err
 	}
-	var results = make([]string, 0, len(files))
+	results := make([]string, 0, len(files))
 	for _, file := range files {
 		results = append(results, file.Name())
 	}
@@ -133,7 +127,7 @@ func Asset(name string) ([]byte, error) {
 
 func AssetNames() []string {
 	realFS := Assets.(vfsgen۰FS)
-	var results = make([]string, 0, len(realFS))
+	results := make([]string, 0, len(realFS))
 	for k := range realFS {
 		results = append(results, k[1:])
 	}
diff --git a/modules/private/mail.go b/modules/private/mail.go
index bcf601b0297..3efef3bece8 100644
--- a/modules/private/mail.go
+++ b/modules/private/mail.go
@@ -50,7 +50,7 @@ func SendEmail(ctx context.Context, subject, message string, to []string) (int,
 		return http.StatusInternalServerError, fmt.Sprintf("Response body error: %v", err.Error())
 	}
 
-	var users = fmt.Sprintf("%d", len(to))
+	users := fmt.Sprintf("%d", len(to))
 	if len(to) == 0 {
 		users = "all"
 	}
diff --git a/modules/private/manager.go b/modules/private/manager.go
index 337b0dac64c..2543e141ea4 100644
--- a/modules/private/manager.go
+++ b/modules/private/manager.go
@@ -170,7 +170,6 @@ func AddLogger(ctx context.Context, group, name, mode string, config map[string]
 	}
 
 	return http.StatusOK, "Added"
-
 }
 
 // RemoveLogger removes a logger
diff --git a/modules/private/restore_repo.go b/modules/private/restore_repo.go
index 6ebf4c63d5c..6f8eaf927f8 100644
--- a/modules/private/restore_repo.go
+++ b/modules/private/restore_repo.go
@@ -44,7 +44,7 @@ func RestoreRepo(ctx context.Context, repoDir, ownerName, repoName string, units
 	defer resp.Body.Close()
 
 	if resp.StatusCode != 200 {
-		var ret = struct {
+		ret := struct {
 			Err string `json:"err"`
 		}{}
 		body, err := io.ReadAll(resp.Body)
diff --git a/modules/private/serv.go b/modules/private/serv.go
index a7a56df7b30..e1204c23a74 100644
--- a/modules/private/serv.go
+++ b/modules/private/serv.go
@@ -106,5 +106,4 @@ func ServCommand(ctx context.Context, keyID int64, ownerName, repoName string, m
 		return nil, err
 	}
 	return &results, nil
-
 }
diff --git a/modules/process/manager.go b/modules/process/manager.go
index a9a28629585..d9d2f8c3e5f 100644
--- a/modules/process/manager.go
+++ b/modules/process/manager.go
@@ -260,7 +260,6 @@ func (pm *Manager) ExecDirEnvStdIn(ctx context.Context, timeout time.Duration, d
 	}
 
 	err := cmd.Wait()
-
 	if err != nil {
 		err = &Error{
 			PID:         GetPID(ctx),
diff --git a/modules/process/manager_test.go b/modules/process/manager_test.go
index eb4228e72cc..152c7a92359 100644
--- a/modules/process/manager_test.go
+++ b/modules/process/manager_test.go
@@ -90,7 +90,6 @@ func TestManager_Remove(t *testing.T) {
 }
 
 func TestExecTimeoutNever(t *testing.T) {
-
 	// TODO Investigate how to improve the time elapsed per round.
 	maxLoops := 10
 	for i := 1; i < maxLoops; i++ {
@@ -102,7 +101,6 @@ func TestExecTimeoutNever(t *testing.T) {
 }
 
 func TestExecTimeoutAlways(t *testing.T) {
-
 	maxLoops := 100
 	for i := 1; i < maxLoops; i++ {
 		_, stderr, err := GetManager().ExecTimeout(100*time.Microsecond, "ExecTimeout", "sleep", "5")
diff --git a/modules/public/public.go b/modules/public/public.go
index f4a769f27ae..91ecf42a3ca 100644
--- a/modules/public/public.go
+++ b/modules/public/public.go
@@ -28,7 +28,7 @@ const AssetsURLPathPrefix = "/assets/"
 
 // AssetsHandlerFunc implements the static handler for serving custom or original assets.
 func AssetsHandlerFunc(opts *Options) http.HandlerFunc {
-	var custPath = filepath.Join(setting.CustomPath, "public")
+	custPath := filepath.Join(setting.CustomPath, "public")
 	if !filepath.IsAbs(custPath) {
 		custPath = filepath.Join(setting.AppWorkPath, custPath)
 	}
@@ -85,7 +85,7 @@ func AssetsHandlerFunc(opts *Options) http.HandlerFunc {
 // parseAcceptEncoding parse Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5 as compress methods
 func parseAcceptEncoding(val string) map[string]bool {
 	parts := strings.Split(val, ";")
-	var types = make(map[string]bool)
+	types := make(map[string]bool)
 	for _, v := range strings.Split(parts[0], ",") {
 		types[strings.TrimSpace(v)] = true
 	}
diff --git a/modules/public/public_test.go b/modules/public/public_test.go
index cf8dced4311..430e7345646 100644
--- a/modules/public/public_test.go
+++ b/modules/public/public_test.go
@@ -11,7 +11,7 @@ import (
 )
 
 func TestParseAcceptEncoding(t *testing.T) {
-	var kases = []struct {
+	kases := []struct {
 		Header   string
 		Expected map[string]bool
 	}{
diff --git a/modules/public/static.go b/modules/public/static.go
index a81efacfa4a..d373c712ee5 100644
--- a/modules/public/static.go
+++ b/modules/public/static.go
@@ -41,7 +41,7 @@ func Asset(name string) ([]byte, error) {
 
 func AssetNames() []string {
 	realFS := Assets.(vfsgen۰FS)
-	var results = make([]string, 0, len(realFS))
+	results := make([]string, 0, len(realFS))
 	for k := range realFS {
 		results = append(results, k[1:])
 	}
diff --git a/modules/queue/manager.go b/modules/queue/manager.go
index 23e96155a91..e0384d15a39 100644
--- a/modules/queue/manager.go
+++ b/modules/queue/manager.go
@@ -109,8 +109,8 @@ func GetManager() *Manager {
 func (m *Manager) Add(managed interface{},
 	t Type,
 	configuration,
-	exemplar interface{}) int64 {
-
+	exemplar interface{},
+) int64 {
 	cfg, _ := json.Marshal(configuration)
 	mq := &ManagedQueue{
 		Type:          t,
@@ -141,7 +141,6 @@ func (m *Manager) Remove(qid int64) {
 	delete(m.Queues, qid)
 	m.mutex.Unlock()
 	log.Trace("Queue Manager removed: QID: %d", qid)
-
 }
 
 // GetManagedQueue by qid
@@ -225,7 +224,6 @@ func (m *Manager) FlushAll(baseCtx context.Context, timeout time.Duration) error
 		wg.Wait()
 	}
 	return nil
-
 }
 
 // ManagedQueues returns the managed queues
diff --git a/modules/queue/queue.go b/modules/queue/queue.go
index 7159048c116..80a9f1f2c72 100644
--- a/modules/queue/queue.go
+++ b/modules/queue/queue.go
@@ -39,7 +39,7 @@ type Data interface{}
 type HandlerFunc func(...Data)
 
 // NewQueueFunc is a function that creates a queue
-type NewQueueFunc func(handler HandlerFunc, config interface{}, exemplar interface{}) (Queue, error)
+type NewQueueFunc func(handler HandlerFunc, config, exemplar interface{}) (Queue, error)
 
 // Shutdownable represents a queue that can be shutdown
 type Shutdownable interface {
@@ -70,8 +70,7 @@ func NewDummyQueue(handler HandlerFunc, opts, exemplar interface{}) (Queue, erro
 }
 
 // DummyQueue represents an empty queue
-type DummyQueue struct {
-}
+type DummyQueue struct{}
 
 // Run does nothing
 func (*DummyQueue) Run(_, _ func(func())) {}
diff --git a/modules/queue/queue_bytefifo.go b/modules/queue/queue_bytefifo.go
index edde47a62d6..c4d5d20a896 100644
--- a/modules/queue/queue_bytefifo.go
+++ b/modules/queue/queue_bytefifo.go
@@ -195,9 +195,11 @@ loop:
 	}
 }
 
-var errQueueEmpty = fmt.Errorf("empty queue")
-var errEmptyBytes = fmt.Errorf("empty bytes")
-var errUnmarshal = fmt.Errorf("failed to unmarshal")
+var (
+	errQueueEmpty = fmt.Errorf("empty queue")
+	errEmptyBytes = fmt.Errorf("empty bytes")
+	errUnmarshal  = fmt.Errorf("failed to unmarshal")
+)
 
 func (q *ByteFIFOQueue) doPop() error {
 	q.lock.Lock()
diff --git a/modules/queue/queue_disk_channel.go b/modules/queue/queue_disk_channel.go
index c3a1c5781ef..f3cd132d7d6 100644
--- a/modules/queue/queue_disk_channel.go
+++ b/modules/queue/queue_disk_channel.go
@@ -173,7 +173,6 @@ func (q *PersistableChannelQueue) Run(atShutdown, atTerminate func(func())) {
 		q.internal.(*LevelQueue).Shutdown()
 		GetManager().Remove(q.internal.(*LevelQueue).qid)
 	}
-
 }
 
 // Flush flushes the queue and blocks till the queue is empty
diff --git a/modules/queue/queue_disk_channel_test.go b/modules/queue/queue_disk_channel_test.go
index c90d715a73c..db12d9575c8 100644
--- a/modules/queue/queue_disk_channel_test.go
+++ b/modules/queue/queue_disk_channel_test.go
@@ -188,5 +188,4 @@ func TestPersistableChannelQueue(t *testing.T) {
 	for _, callback := range callbacks {
 		callback()
 	}
-
 }
diff --git a/modules/queue/queue_wrapped.go b/modules/queue/queue_wrapped.go
index ec30ab02819..edb589338ae 100644
--- a/modules/queue/queue_wrapped.go
+++ b/modules/queue/queue_wrapped.go
@@ -55,7 +55,7 @@ func (q *delayedStarter) setInternal(atShutdown func(func()), handle HandlerFunc
 	for q.internal == nil {
 		select {
 		case <-ctx.Done():
-			var cfg = q.cfg
+			cfg := q.cfg
 			if s, ok := cfg.([]byte); ok {
 				cfg = string(s)
 			}
diff --git a/modules/queue/unique_queue_disk_channel.go b/modules/queue/unique_queue_disk_channel.go
index af42c0913d4..d71f5e2b045 100644
--- a/modules/queue/unique_queue_disk_channel.go
+++ b/modules/queue/unique_queue_disk_channel.go
@@ -197,7 +197,6 @@ func (q *PersistableChannelUniqueQueue) Run(atShutdown, atTerminate func(func())
 		q.internal.(*LevelUniqueQueue).Shutdown()
 		GetManager().Remove(q.internal.(*LevelUniqueQueue).qid)
 	}
-
 }
 
 // Flush flushes the queue
diff --git a/modules/queue/workerpool.go b/modules/queue/workerpool.go
index 0176e2e0b2d..653d0558c80 100644
--- a/modules/queue/workerpool.go
+++ b/modules/queue/workerpool.go
@@ -341,7 +341,7 @@ func (p *WorkerPool) FlushWithContext(ctx context.Context) error {
 
 func (p *WorkerPool) doWork(ctx context.Context) {
 	delay := time.Millisecond * 300
-	var data = make([]Data, 0, p.batchLength)
+	data := make([]Data, 0, p.batchLength)
 	for {
 		select {
 		case <-ctx.Done():
diff --git a/modules/references/references.go b/modules/references/references.go
index 74837b8553f..630e6210432 100644
--- a/modules/references/references.go
+++ b/modules/references/references.go
@@ -371,7 +371,6 @@ func FindRenderizableReferenceAlphanumeric(content string) (bool, *RenderizableR
 
 // FindAllIssueReferencesBytes returns a list of unvalidated references found in a byte slice.
 func findAllIssueReferencesBytes(content []byte, links []string) []*rawReference {
-
 	ret := make([]*rawReference, 0, 10)
 	pos := 0
 
diff --git a/modules/references/references_test.go b/modules/references/references_test.go
index 11a31b41b68..adf86a3c6c4 100644
--- a/modules/references/references_test.go
+++ b/modules/references/references_test.go
@@ -51,7 +51,6 @@ owner/repo!123456789
 }
 
 func TestFindAllIssueReferences(t *testing.T) {
-
 	fixtures := []testFixture{
 		{
 			"Simply closes: #29 yes",
diff --git a/modules/repository/generate.go b/modules/repository/generate.go
index c7ba617919d..5b5e1064aaf 100644
--- a/modules/repository/generate.go
+++ b/modules/repository/generate.go
@@ -62,7 +62,7 @@ func generateExpansion(src string, templateRepo, generateRepo *repo_model.Reposi
 		{Name: "TEMPLATE_SSH_URL", Value: templateRepo.CloneLink().SSH, Transformers: nil},
 	}
 
-	var expansionMap = make(map[string]string)
+	expansionMap := make(map[string]string)
 	for _, e := range expansions {
 		expansionMap[e.Name] = e.Value
 		for _, tr := range e.Transformers {
@@ -159,7 +159,7 @@ func generateRepoCommit(ctx context.Context, repo, templateRepo, generateRepo *r
 
 						if err := os.WriteFile(path,
 							[]byte(generateExpansion(string(content), templateRepo, generateRepo)),
-							0644); err != nil {
+							0o644); err != nil {
 							return err
 						}
 						break
diff --git a/modules/repository/hooks.go b/modules/repository/hooks.go
index bd77423afc9..debaa0ecc48 100644
--- a/modules/repository/hooks.go
+++ b/modules/repository/hooks.go
@@ -129,7 +129,7 @@ func createDelegateHooks(repoPath string) (err error) {
 		if err = util.Remove(oldHookPath); err != nil && !os.IsNotExist(err) {
 			return fmt.Errorf("unable to pre-remove old hook file '%s' prior to rewriting: %v ", oldHookPath, err)
 		}
-		if err = os.WriteFile(oldHookPath, []byte(hookTpls[i]), 0777); err != nil {
+		if err = os.WriteFile(oldHookPath, []byte(hookTpls[i]), 0o777); err != nil {
 			return fmt.Errorf("write old hook file '%s': %v", oldHookPath, err)
 		}
 
@@ -140,7 +140,7 @@ func createDelegateHooks(repoPath string) (err error) {
 		if err = util.Remove(newHookPath); err != nil && !os.IsNotExist(err) {
 			return fmt.Errorf("unable to pre-remove new hook file '%s' prior to rewriting: %v", newHookPath, err)
 		}
-		if err = os.WriteFile(newHookPath, []byte(giteaHookTpls[i]), 0777); err != nil {
+		if err = os.WriteFile(newHookPath, []byte(giteaHookTpls[i]), 0o777); err != nil {
 			return fmt.Errorf("write new hook file '%s': %v", newHookPath, err)
 		}
 
@@ -157,7 +157,7 @@ func checkExecutable(filename string) bool {
 	if err != nil {
 		return false
 	}
-	return (fileInfo.Mode() & 0100) > 0
+	return (fileInfo.Mode() & 0o100) > 0
 }
 
 func ensureExecutable(filename string) error {
@@ -165,10 +165,10 @@ func ensureExecutable(filename string) error {
 	if err != nil {
 		return err
 	}
-	if (fileInfo.Mode() & 0100) > 0 {
+	if (fileInfo.Mode() & 0o100) > 0 {
 		return nil
 	}
-	mode := fileInfo.Mode() | 0100
+	mode := fileInfo.Mode() | 0o100
 	return os.Chmod(filename, mode)
 }
 
diff --git a/modules/repository/init.go b/modules/repository/init.go
index c5dd8cb909f..d6911161de1 100644
--- a/modules/repository/init.go
+++ b/modules/repository/init.go
@@ -62,7 +62,7 @@ func prepareRepoCommit(ctx context.Context, repo *repo_model.Repository, tmpDir,
 		"OwnerName":      repo.OwnerName,
 	}
 	if err = os.WriteFile(filepath.Join(tmpDir, "README.md"),
-		[]byte(com.Expand(string(data), match)), 0644); err != nil {
+		[]byte(com.Expand(string(data), match)), 0o644); err != nil {
 		return fmt.Errorf("write README.md: %v", err)
 	}
 
@@ -81,7 +81,7 @@ func prepareRepoCommit(ctx context.Context, repo *repo_model.Repository, tmpDir,
 		}
 
 		if buf.Len() > 0 {
-			if err = os.WriteFile(filepath.Join(tmpDir, ".gitignore"), buf.Bytes(), 0644); err != nil {
+			if err = os.WriteFile(filepath.Join(tmpDir, ".gitignore"), buf.Bytes(), 0o644); err != nil {
 				return fmt.Errorf("write .gitignore: %v", err)
 			}
 		}
@@ -94,7 +94,7 @@ func prepareRepoCommit(ctx context.Context, repo *repo_model.Repository, tmpDir,
 			return fmt.Errorf("GetRepoInitFile[%s]: %v", opts.License, err)
 		}
 
-		if err = os.WriteFile(filepath.Join(tmpDir, "LICENSE"), data, 0644); err != nil {
+		if err = os.WriteFile(filepath.Join(tmpDir, "LICENSE"), data, 0o644); err != nil {
 			return fmt.Errorf("write LICENSE: %v", err)
 		}
 	}
diff --git a/modules/repository/repo.go b/modules/repository/repo.go
index a8d65a4429d..22bdf770936 100644
--- a/modules/repository/repo.go
+++ b/modules/repository/repo.go
@@ -310,7 +310,7 @@ func PushUpdateAddTag(repo *repo_model.Repository, gitRepo *git.Repository, tagN
 	}
 
 	var author *user_model.User
-	var createdAt = time.Unix(1, 0)
+	createdAt := time.Unix(1, 0)
 
 	if sig != nil {
 		author, err = user_model.GetUserByEmail(sig.Email)
@@ -325,7 +325,7 @@ func PushUpdateAddTag(repo *repo_model.Repository, gitRepo *git.Repository, tagN
 		return fmt.Errorf("CommitsCount: %v", err)
 	}
 
-	var rel = models.Release{
+	rel := models.Release{
 		RepoID:       repo.ID,
 		TagName:      tagName,
 		LowerTagName: strings.ToLower(tagName),
diff --git a/modules/session/db.go b/modules/session/db.go
index 7ba27cba23d..f9de37210fe 100644
--- a/modules/session/db.go
+++ b/modules/session/db.go
@@ -135,7 +135,6 @@ func (p *DBProvider) Regenerate(oldsid, sid string) (_ session.RawStore, err err
 	s, err := auth.RegenerateSession(oldsid, sid)
 	if err != nil {
 		return nil, err
-
 	}
 
 	var kv map[interface{}]interface{}
diff --git a/modules/setting/attachment.go b/modules/setting/attachment.go
index 409c2b87e54..c3c2c3fafdb 100644
--- a/modules/setting/attachment.go
+++ b/modules/setting/attachment.go
@@ -4,24 +4,22 @@
 
 package setting
 
-var (
-	// Attachment settings
-	Attachment = struct {
-		Storage
-		AllowedTypes string
-		MaxSize      int64
-		MaxFiles     int
-		Enabled      bool
-	}{
-		Storage: Storage{
-			ServeDirect: false,
-		},
-		AllowedTypes: "image/jpeg,image/png,application/zip,application/gzip",
-		MaxSize:      4,
-		MaxFiles:     5,
-		Enabled:      true,
-	}
-)
+// Attachment settings
+var Attachment = struct {
+	Storage
+	AllowedTypes string
+	MaxSize      int64
+	MaxFiles     int
+	Enabled      bool
+}{
+	Storage: Storage{
+		ServeDirect: false,
+	},
+	AllowedTypes: "image/jpeg,image/png,application/zip,application/gzip",
+	MaxSize:      4,
+	MaxFiles:     5,
+	Enabled:      true,
+}
 
 func newAttachmentService() {
 	sec := Cfg.Section("attachment")
diff --git a/modules/setting/cache.go b/modules/setting/cache.go
index 2bfe2318f54..9a449651244 100644
--- a/modules/setting/cache.go
+++ b/modules/setting/cache.go
@@ -20,34 +20,32 @@ type Cache struct {
 	TTL      time.Duration `ini:"ITEM_TTL"`
 }
 
-var (
-	// CacheService the global cache
-	CacheService = struct {
-		Cache `ini:"cache"`
+// CacheService the global cache
+var CacheService = struct {
+	Cache `ini:"cache"`
 
-		LastCommit struct {
-			Enabled      bool
-			TTL          time.Duration `ini:"ITEM_TTL"`
-			CommitsCount int64
-		} `ini:"cache.last_commit"`
+	LastCommit struct {
+		Enabled      bool
+		TTL          time.Duration `ini:"ITEM_TTL"`
+		CommitsCount int64
+	} `ini:"cache.last_commit"`
+}{
+	Cache: Cache{
+		Enabled:  true,
+		Adapter:  "memory",
+		Interval: 60,
+		TTL:      16 * time.Hour,
+	},
+	LastCommit: struct {
+		Enabled      bool
+		TTL          time.Duration `ini:"ITEM_TTL"`
+		CommitsCount int64
 	}{
-		Cache: Cache{
-			Enabled:  true,
-			Adapter:  "memory",
-			Interval: 60,
-			TTL:      16 * time.Hour,
-		},
-		LastCommit: struct {
-			Enabled      bool
-			TTL          time.Duration `ini:"ITEM_TTL"`
-			CommitsCount int64
-		}{
-			Enabled:      true,
-			TTL:          8760 * time.Hour,
-			CommitsCount: 1000,
-		},
-	}
-)
+		Enabled:      true,
+		TTL:          8760 * time.Hour,
+		CommitsCount: 1000,
+	},
+}
 
 // MemcacheMaxTTL represents the maximum memcache TTL
 const MemcacheMaxTTL = 30 * 24 * time.Hour
diff --git a/modules/setting/cors.go b/modules/setting/cors.go
index 4c7997d584e..a843194ff98 100644
--- a/modules/setting/cors.go
+++ b/modules/setting/cors.go
@@ -10,23 +10,21 @@ import (
 	"code.gitea.io/gitea/modules/log"
 )
 
-var (
-	// CORSConfig defines CORS settings
-	CORSConfig = struct {
-		Enabled          bool
-		Scheme           string
-		AllowDomain      []string
-		AllowSubdomain   bool
-		Methods          []string
-		MaxAge           time.Duration
-		AllowCredentials bool
-		XFrameOptions    string
-	}{
-		Enabled:       false,
-		MaxAge:        10 * time.Minute,
-		XFrameOptions: "SAMEORIGIN",
-	}
-)
+// CORSConfig defines CORS settings
+var CORSConfig = struct {
+	Enabled          bool
+	Scheme           string
+	AllowDomain      []string
+	AllowSubdomain   bool
+	Methods          []string
+	MaxAge           time.Duration
+	AllowCredentials bool
+	XFrameOptions    string
+}{
+	Enabled:       false,
+	MaxAge:        10 * time.Minute,
+	XFrameOptions: "SAMEORIGIN",
+}
 
 func newCORSService() {
 	sec := Cfg.Section("cors")
diff --git a/modules/setting/cron_test.go b/modules/setting/cron_test.go
index 8670a92bac9..cb397d81c45 100644
--- a/modules/setting/cron_test.go
+++ b/modules/setting/cron_test.go
@@ -12,7 +12,6 @@ import (
 )
 
 func Test_GetCronSettings(t *testing.T) {
-
 	type BaseStruct struct {
 		Base   bool
 		Second string
@@ -43,5 +42,4 @@ Extend = true
 	assert.True(t, extended.Base)
 	assert.EqualValues(t, extended.Second, "white rabbit")
 	assert.True(t, extended.Extend)
-
 }
diff --git a/modules/setting/database.go b/modules/setting/database.go
index 8db1cd13ebd..5be2d8deea9 100644
--- a/modules/setting/database.go
+++ b/modules/setting/database.go
@@ -102,7 +102,7 @@ func InitDBConfig() {
 // DBConnStr returns database connection string
 func DBConnStr() (string, error) {
 	connStr := ""
-	var Param = "?"
+	Param := "?"
 	if strings.Contains(Database.Name, Param) {
 		Param = "&"
 	}
diff --git a/modules/setting/git.go b/modules/setting/git.go
index 4cf7e722e77..9b2698f01e7 100644
--- a/modules/setting/git.go
+++ b/modules/setting/git.go
@@ -10,63 +10,61 @@ import (
 	"code.gitea.io/gitea/modules/log"
 )
 
-var (
-	// Git settings
-	Git = struct {
-		Path                      string
-		DisableDiffHighlight      bool
-		MaxGitDiffLines           int
-		MaxGitDiffLineCharacters  int
-		MaxGitDiffFiles           int
-		CommitsRangeSize          int // CommitsRangeSize the default commits range size
-		BranchesRangeSize         int // BranchesRangeSize the default branches range size
-		VerbosePush               bool
-		VerbosePushDelay          time.Duration
-		GCArgs                    []string `ini:"GC_ARGS" delim:" "`
-		EnableAutoGitWireProtocol bool
-		PullRequestPushMessage    bool
-		LargeObjectThreshold      int64
-		DisableCoreProtectNTFS    bool
-		DisablePartialClone       bool
-		Timeout                   struct {
-			Default int
-			Migrate int
-			Mirror  int
-			Clone   int
-			Pull    int
-			GC      int `ini:"GC"`
-		} `ini:"git.timeout"`
+// Git settings
+var Git = struct {
+	Path                      string
+	DisableDiffHighlight      bool
+	MaxGitDiffLines           int
+	MaxGitDiffLineCharacters  int
+	MaxGitDiffFiles           int
+	CommitsRangeSize          int // CommitsRangeSize the default commits range size
+	BranchesRangeSize         int // BranchesRangeSize the default branches range size
+	VerbosePush               bool
+	VerbosePushDelay          time.Duration
+	GCArgs                    []string `ini:"GC_ARGS" delim:" "`
+	EnableAutoGitWireProtocol bool
+	PullRequestPushMessage    bool
+	LargeObjectThreshold      int64
+	DisableCoreProtectNTFS    bool
+	DisablePartialClone       bool
+	Timeout                   struct {
+		Default int
+		Migrate int
+		Mirror  int
+		Clone   int
+		Pull    int
+		GC      int `ini:"GC"`
+	} `ini:"git.timeout"`
+}{
+	DisableDiffHighlight:      false,
+	MaxGitDiffLines:           1000,
+	MaxGitDiffLineCharacters:  5000,
+	MaxGitDiffFiles:           100,
+	CommitsRangeSize:          50,
+	BranchesRangeSize:         20,
+	VerbosePush:               true,
+	VerbosePushDelay:          5 * time.Second,
+	GCArgs:                    []string{},
+	EnableAutoGitWireProtocol: true,
+	PullRequestPushMessage:    true,
+	LargeObjectThreshold:      1024 * 1024,
+	DisablePartialClone:       false,
+	Timeout: struct {
+		Default int
+		Migrate int
+		Mirror  int
+		Clone   int
+		Pull    int
+		GC      int `ini:"GC"`
 	}{
-		DisableDiffHighlight:      false,
-		MaxGitDiffLines:           1000,
-		MaxGitDiffLineCharacters:  5000,
-		MaxGitDiffFiles:           100,
-		CommitsRangeSize:          50,
-		BranchesRangeSize:         20,
-		VerbosePush:               true,
-		VerbosePushDelay:          5 * time.Second,
-		GCArgs:                    []string{},
-		EnableAutoGitWireProtocol: true,
-		PullRequestPushMessage:    true,
-		LargeObjectThreshold:      1024 * 1024,
-		DisablePartialClone:       false,
-		Timeout: struct {
-			Default int
-			Migrate int
-			Mirror  int
-			Clone   int
-			Pull    int
-			GC      int `ini:"GC"`
-		}{
-			Default: 360,
-			Migrate: 600,
-			Mirror:  300,
-			Clone:   300,
-			Pull:    300,
-			GC:      60,
-		},
-	}
-)
+		Default: 360,
+		Migrate: 600,
+		Mirror:  300,
+		Clone:   300,
+		Pull:    300,
+		GC:      60,
+	},
+}
 
 func newGit() {
 	if err := Cfg.Section("git").MapTo(&Git); err != nil {
diff --git a/modules/setting/indexer.go b/modules/setting/indexer.go
index f103a7464b8..46d4027d145 100644
--- a/modules/setting/indexer.go
+++ b/modules/setting/indexer.go
@@ -14,39 +14,37 @@ import (
 	"github.com/gobwas/glob"
 )
 
-var (
-	// Indexer settings
-	Indexer = struct {
-		IssueType        string
-		IssuePath        string
-		IssueConnStr     string
-		IssueIndexerName string
-		StartupTimeout   time.Duration
+// Indexer settings
+var Indexer = struct {
+	IssueType        string
+	IssuePath        string
+	IssueConnStr     string
+	IssueIndexerName string
+	StartupTimeout   time.Duration
 
-		RepoIndexerEnabled bool
-		RepoType           string
-		RepoPath           string
-		RepoConnStr        string
-		RepoIndexerName    string
-		MaxIndexerFileSize int64
-		IncludePatterns    []glob.Glob
-		ExcludePatterns    []glob.Glob
-		ExcludeVendored    bool
-	}{
-		IssueType:        "bleve",
-		IssuePath:        "indexers/issues.bleve",
-		IssueConnStr:     "",
-		IssueIndexerName: "gitea_issues",
+	RepoIndexerEnabled bool
+	RepoType           string
+	RepoPath           string
+	RepoConnStr        string
+	RepoIndexerName    string
+	MaxIndexerFileSize int64
+	IncludePatterns    []glob.Glob
+	ExcludePatterns    []glob.Glob
+	ExcludeVendored    bool
+}{
+	IssueType:        "bleve",
+	IssuePath:        "indexers/issues.bleve",
+	IssueConnStr:     "",
+	IssueIndexerName: "gitea_issues",
 
-		RepoIndexerEnabled: false,
-		RepoType:           "bleve",
-		RepoPath:           "indexers/repos.bleve",
-		RepoConnStr:        "",
-		RepoIndexerName:    "gitea_codes",
-		MaxIndexerFileSize: 1024 * 1024,
-		ExcludeVendored:    true,
-	}
-)
+	RepoIndexerEnabled: false,
+	RepoType:           "bleve",
+	RepoPath:           "indexers/repos.bleve",
+	RepoConnStr:        "",
+	RepoIndexerName:    "gitea_codes",
+	MaxIndexerFileSize: 1024 * 1024,
+	ExcludeVendored:    true,
+}
 
 func newIndexerService() {
 	sec := Cfg.Section("indexer")
diff --git a/modules/setting/indexer_test.go b/modules/setting/indexer_test.go
index ed631747dc7..0ff1d814abc 100644
--- a/modules/setting/indexer_test.go
+++ b/modules/setting/indexer_test.go
@@ -16,7 +16,6 @@ type indexerMatchList struct {
 }
 
 func Test_newIndexerGlobSettings(t *testing.T) {
-
 	checkGlobMatch(t, "", []indexerMatchList{})
 	checkGlobMatch(t, "     ", []indexerMatchList{})
 	checkGlobMatch(t, "data, */data, */data/*, **/data/*, **/data/**", []indexerMatchList{
diff --git a/modules/setting/lfs.go b/modules/setting/lfs.go
index 7065ce63834..3179a67ce74 100644
--- a/modules/setting/lfs.go
+++ b/modules/setting/lfs.go
@@ -36,7 +36,7 @@ func newLFSService() {
 	storageType := lfsSec.Key("STORAGE_TYPE").MustString("")
 
 	// Specifically default PATH to LFS_CONTENT_PATH
-	//FIXME: DEPRECATED to be removed in v1.18.0
+	// FIXME: DEPRECATED to be removed in v1.18.0
 	deprecatedSetting("server", "LFS_CONTENT_PATH", "lfs", "PATH")
 	lfsSec.Key("PATH").MustString(
 		sec.Key("LFS_CONTENT_PATH").String())
diff --git a/modules/setting/log.go b/modules/setting/log.go
index a53b4311963..e666e2a0274 100644
--- a/modules/setting/log.go
+++ b/modules/setting/log.go
@@ -19,9 +19,11 @@ import (
 	ini "gopkg.in/ini.v1"
 )
 
-var filenameSuffix = ""
-var descriptionLock = sync.RWMutex{}
-var logDescriptions = make(map[string]*LogDescription)
+var (
+	filenameSuffix  = ""
+	descriptionLock = sync.RWMutex{}
+	logDescriptions = make(map[string]*LogDescription)
+)
 
 // GetLogDescriptions returns a race safe set of descriptions
 func GetLogDescriptions() map[string]*LogDescription {
@@ -86,7 +88,7 @@ func RemoveSubLogDescription(key, name string) bool {
 type defaultLogOptions struct {
 	levelName      string // LogLevel
 	flags          string
-	filename       string //path.Join(LogRootPath, "gitea.log")
+	filename       string // path.Join(LogRootPath, "gitea.log")
 	bufferLength   int64
 	disableConsole bool
 }
diff --git a/modules/setting/mailer.go b/modules/setting/mailer.go
index 5da520171e9..8a26f8b0c49 100644
--- a/modules/setting/mailer.go
+++ b/modules/setting/mailer.go
@@ -43,10 +43,8 @@ type Mailer struct {
 	SendmailConvertCRLF bool
 }
 
-var (
-	// MailService the global mailer
-	MailService *Mailer
-)
+// MailService the global mailer
+var MailService *Mailer
 
 func newMailService() {
 	sec := Cfg.Section("mailer")
diff --git a/modules/setting/markup.go b/modules/setting/markup.go
index 0bf67977121..09b86b9b1a4 100644
--- a/modules/setting/markup.go
+++ b/modules/setting/markup.go
@@ -123,7 +123,7 @@ func newMarkupRenderer(name string, sec *ini.Section) {
 	extensionReg := regexp.MustCompile(`\.\w`)
 
 	extensions := sec.Key("FILE_EXTENSIONS").Strings(",")
-	var exts = make([]string, 0, len(extensions))
+	exts := make([]string, 0, len(extensions))
 	for _, extension := range extensions {
 		if !extensionReg.MatchString(extension) {
 			log.Warn(sec.Name() + " file extension " + extension + " is invalid. Extension ignored")
diff --git a/modules/setting/migrations.go b/modules/setting/migrations.go
index 34d90372753..4b10f3dc6e5 100644
--- a/modules/setting/migrations.go
+++ b/modules/setting/migrations.go
@@ -4,20 +4,18 @@
 
 package setting
 
-var (
-	// Migrations settings
-	Migrations = struct {
-		MaxAttempts        int
-		RetryBackoff       int
-		AllowedDomains     string
-		BlockedDomains     string
-		AllowLocalNetworks bool
-		SkipTLSVerify      bool
-	}{
-		MaxAttempts:  3,
-		RetryBackoff: 3,
-	}
-)
+// Migrations settings
+var Migrations = struct {
+	MaxAttempts        int
+	RetryBackoff       int
+	AllowedDomains     string
+	BlockedDomains     string
+	AllowLocalNetworks bool
+	SkipTLSVerify      bool
+}{
+	MaxAttempts:  3,
+	RetryBackoff: 3,
+}
 
 func newMigrationsService() {
 	sec := Cfg.Section("migrations")
diff --git a/modules/setting/mime_type_map.go b/modules/setting/mime_type_map.go
index 5c1fc7f71a4..8e5b864e241 100644
--- a/modules/setting/mime_type_map.go
+++ b/modules/setting/mime_type_map.go
@@ -6,16 +6,14 @@ package setting
 
 import "strings"
 
-var (
-	// MimeTypeMap defines custom mime type mapping settings
-	MimeTypeMap = struct {
-		Enabled bool
-		Map     map[string]string
-	}{
-		Enabled: false,
-		Map:     map[string]string{},
-	}
-)
+// MimeTypeMap defines custom mime type mapping settings
+var MimeTypeMap = struct {
+	Enabled bool
+	Map     map[string]string
+}{
+	Enabled: false,
+	Map:     map[string]string{},
+}
 
 func newMimeTypeMap() {
 	sec := Cfg.Section("repository.mimetype_mapping")
diff --git a/modules/setting/mirror.go b/modules/setting/mirror.go
index e49393e39c6..2bd0322d06f 100644
--- a/modules/setting/mirror.go
+++ b/modules/setting/mirror.go
@@ -10,22 +10,20 @@ import (
 	"code.gitea.io/gitea/modules/log"
 )
 
-var (
-	// Mirror settings
-	Mirror = struct {
-		Enabled         bool
-		DisableNewPull  bool
-		DisableNewPush  bool
-		DefaultInterval time.Duration
-		MinInterval     time.Duration
-	}{
-		Enabled:         true,
-		DisableNewPull:  false,
-		DisableNewPush:  false,
-		MinInterval:     10 * time.Minute,
-		DefaultInterval: 8 * time.Hour,
-	}
-)
+// Mirror settings
+var Mirror = struct {
+	Enabled         bool
+	DisableNewPull  bool
+	DisableNewPush  bool
+	DefaultInterval time.Duration
+	MinInterval     time.Duration
+}{
+	Enabled:         true,
+	DisableNewPull:  false,
+	DisableNewPush:  false,
+	MinInterval:     10 * time.Minute,
+	DefaultInterval: 8 * time.Hour,
+}
 
 func newMirror() {
 	// Handle old configuration through `[repository]` `DISABLE_MIRRORS`
diff --git a/modules/setting/proxy.go b/modules/setting/proxy.go
index b99237a3986..53fb0066d99 100644
--- a/modules/setting/proxy.go
+++ b/modules/setting/proxy.go
@@ -10,19 +10,17 @@ import (
 	"code.gitea.io/gitea/modules/log"
 )
 
-var (
-	// Proxy settings
-	Proxy = struct {
-		Enabled       bool
-		ProxyURL      string
-		ProxyURLFixed *url.URL
-		ProxyHosts    []string
-	}{
-		Enabled:    false,
-		ProxyURL:   "",
-		ProxyHosts: []string{},
-	}
-)
+// Proxy settings
+var Proxy = struct {
+	Enabled       bool
+	ProxyURL      string
+	ProxyURLFixed *url.URL
+	ProxyHosts    []string
+}{
+	Enabled:    false,
+	ProxyURL:   "",
+	ProxyHosts: []string{},
+}
 
 func newProxyService() {
 	sec := Cfg.Section("proxy")
diff --git a/modules/setting/session.go b/modules/setting/session.go
index 9e6193e8262..62ca1d82e88 100644
--- a/modules/setting/session.go
+++ b/modules/setting/session.go
@@ -14,33 +14,31 @@ import (
 	"code.gitea.io/gitea/modules/log"
 )
 
-var (
-	// SessionConfig defines Session settings
-	SessionConfig = struct {
-		Provider string
-		// Provider configuration, it's corresponding to provider.
-		ProviderConfig string
-		// Cookie name to save session ID. Default is "MacaronSession".
-		CookieName string
-		// Cookie path to store. Default is "/".
-		CookiePath string
-		// GC interval time in seconds. Default is 3600.
-		Gclifetime int64
-		// Max life time in seconds. Default is whatever GC interval time is.
-		Maxlifetime int64
-		// Use HTTPS only. Default is false.
-		Secure bool
-		// Cookie domain name. Default is empty.
-		Domain string
-		// SameSite declares if your cookie should be restricted to a first-party or same-site context. Valid strings are "none", "lax", "strict". Default is "lax"
-		SameSite http.SameSite
-	}{
-		CookieName:  "i_like_gitea",
-		Gclifetime:  86400,
-		Maxlifetime: 86400,
-		SameSite:    http.SameSiteLaxMode,
-	}
-)
+// SessionConfig defines Session settings
+var SessionConfig = struct {
+	Provider string
+	// Provider configuration, it's corresponding to provider.
+	ProviderConfig string
+	// Cookie name to save session ID. Default is "MacaronSession".
+	CookieName string
+	// Cookie path to store. Default is "/".
+	CookiePath string
+	// GC interval time in seconds. Default is 3600.
+	Gclifetime int64
+	// Max life time in seconds. Default is whatever GC interval time is.
+	Maxlifetime int64
+	// Use HTTPS only. Default is false.
+	Secure bool
+	// Cookie domain name. Default is empty.
+	Domain string
+	// SameSite declares if your cookie should be restricted to a first-party or same-site context. Valid strings are "none", "lax", "strict". Default is "lax"
+	SameSite http.SameSite
+}{
+	CookieName:  "i_like_gitea",
+	Gclifetime:  86400,
+	Maxlifetime: 86400,
+	SameSite:    http.SameSiteLaxMode,
+}
 
 func newSessionService() {
 	sec := Cfg.Section("session")
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 3c8e009daa3..5b8683f5783 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -644,7 +644,7 @@ func loadFromConf(allowEmpty bool, extraConfig string) {
 		}
 		UnixSocketPermissionRaw := sec.Key("UNIX_SOCKET_PERMISSION").MustString("666")
 		UnixSocketPermissionParsed, err := strconv.ParseUint(UnixSocketPermissionRaw, 8, 32)
-		if err != nil || UnixSocketPermissionParsed > 0777 {
+		if err != nil || UnixSocketPermissionParsed > 0o777 {
 			log.Fatal("Failed to parse unixSocketPermission: %s", UnixSocketPermissionRaw)
 		}
 
@@ -800,16 +800,16 @@ func loadFromConf(allowEmpty bool, extraConfig string) {
 	SSH.AuthorizedPrincipalsAllow, SSH.AuthorizedPrincipalsEnabled = parseAuthorizedPrincipalsAllow(sec.Key("SSH_AUTHORIZED_PRINCIPALS_ALLOW").Strings(","))
 
 	if !SSH.Disabled && !SSH.StartBuiltinServer {
-		if err := os.MkdirAll(SSH.RootPath, 0700); err != nil {
+		if err := os.MkdirAll(SSH.RootPath, 0o700); err != nil {
 			log.Fatal("Failed to create '%s': %v", SSH.RootPath, err)
-		} else if err = os.MkdirAll(SSH.KeyTestPath, 0644); err != nil {
+		} else if err = os.MkdirAll(SSH.KeyTestPath, 0o644); err != nil {
 			log.Fatal("Failed to create '%s': %v", SSH.KeyTestPath, err)
 		}
 
 		if len(trustedUserCaKeys) > 0 && SSH.AuthorizedPrincipalsEnabled {
 			fname := sec.Key("SSH_TRUSTED_USER_CA_KEYS_FILENAME").MustString(filepath.Join(SSH.RootPath, "gitea-trusted-user-ca-keys.pem"))
 			if err := os.WriteFile(fname,
-				[]byte(strings.Join(trustedUserCaKeys, "\n")), 0600); err != nil {
+				[]byte(strings.Join(trustedUserCaKeys, "\n")), 0o600); err != nil {
 				log.Fatal("Failed to create '%s': %v", fname, err)
 			}
 		}
@@ -1080,7 +1080,7 @@ func loadInternalToken(sec *ini.Section) string {
 	}
 	switch tempURI.Scheme {
 	case "file":
-		fp, err := os.OpenFile(tempURI.RequestURI(), os.O_RDWR, 0600)
+		fp, err := os.OpenFile(tempURI.RequestURI(), os.O_RDWR, 0o600)
 		if err != nil {
 			log.Fatal("Failed to open InternalTokenURI (%s): %v", uri, err)
 		}
@@ -1173,7 +1173,6 @@ func MakeManifestData(appName, appURL, absoluteAssetURL string) []byte {
 			},
 		},
 	})
-
 	if err != nil {
 		log.Error("unable to marshal manifest JSON. Error: %v", err)
 		return make([]byte, 0)
diff --git a/modules/setting/webhook.go b/modules/setting/webhook.go
index 6284f397b17..b576f9573b3 100644
--- a/modules/setting/webhook.go
+++ b/modules/setting/webhook.go
@@ -10,27 +10,25 @@ import (
 	"code.gitea.io/gitea/modules/log"
 )
 
-var (
-	// Webhook settings
-	Webhook = struct {
-		QueueLength     int
-		DeliverTimeout  int
-		SkipTLSVerify   bool
-		AllowedHostList string
-		Types           []string
-		PagingNum       int
-		ProxyURL        string
-		ProxyURLFixed   *url.URL
-		ProxyHosts      []string
-	}{
-		QueueLength:    1000,
-		DeliverTimeout: 5,
-		SkipTLSVerify:  false,
-		PagingNum:      10,
-		ProxyURL:       "",
-		ProxyHosts:     []string{},
-	}
-)
+// Webhook settings
+var Webhook = struct {
+	QueueLength     int
+	DeliverTimeout  int
+	SkipTLSVerify   bool
+	AllowedHostList string
+	Types           []string
+	PagingNum       int
+	ProxyURL        string
+	ProxyURLFixed   *url.URL
+	ProxyHosts      []string
+}{
+	QueueLength:    1000,
+	DeliverTimeout: 5,
+	SkipTLSVerify:  false,
+	PagingNum:      10,
+	ProxyURL:       "",
+	ProxyHosts:     []string{},
+}
 
 func newWebhookService() {
 	sec := Cfg.Section("webhook")
diff --git a/modules/ssh/ssh.go b/modules/ssh/ssh.go
index 4f876ec39aa..6f4e9934576 100644
--- a/modules/ssh/ssh.go
+++ b/modules/ssh/ssh.go
@@ -342,7 +342,6 @@ func Listen(host string, port int, ciphers, keyExchanges, macs []string) {
 	srv.HostSigners = signers
 
 	go listen(&srv)
-
 }
 
 // wrapSigner wraps a signer and overrides its public key type with the provided algorithm
@@ -387,7 +386,7 @@ func GenKeyPair(keyPath string) error {
 	}
 
 	privateKeyPEM := &pem.Block{Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(privateKey)}
-	f, err := os.OpenFile(keyPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
+	f, err := os.OpenFile(keyPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0o600)
 	if err != nil {
 		return err
 	}
@@ -408,7 +407,7 @@ func GenKeyPair(keyPath string) error {
 	}
 
 	public := gossh.MarshalAuthorizedKey(pub)
-	p, err := os.OpenFile(keyPath+".pub", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
+	p, err := os.OpenFile(keyPath+".pub", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0o600)
 	if err != nil {
 		return err
 	}
diff --git a/modules/ssh/ssh_graceful.go b/modules/ssh/ssh_graceful.go
index 08a7c857529..98fe17b3bc6 100644
--- a/modules/ssh/ssh_graceful.go
+++ b/modules/ssh/ssh_graceful.go
@@ -27,7 +27,6 @@ func listen(server *ssh.Server) {
 		}
 	}
 	log.Info("SSH Listener: %s Closed", server.Addr)
-
 }
 
 // Unused informs our cleanup routine that we will not be using a ssh port
diff --git a/modules/storage/local.go b/modules/storage/local.go
index 54e0d0563d2..022e6186d4e 100644
--- a/modules/storage/local.go
+++ b/modules/storage/local.go
@@ -15,9 +15,7 @@ import (
 	"code.gitea.io/gitea/modules/util"
 )
 
-var (
-	_ ObjectStorage = &LocalStorage{}
-)
+var _ ObjectStorage = &LocalStorage{}
 
 // LocalStorageType is the type descriptor for local storage
 const LocalStorageType Type = "local"
diff --git a/modules/storage/minio.go b/modules/storage/minio.go
index f78ba6aa275..f35f4092a99 100644
--- a/modules/storage/minio.go
+++ b/modules/storage/minio.go
@@ -122,7 +122,7 @@ func (m *MinioStorage) buildMinioPath(p string) string {
 
 // Open open a file
 func (m *MinioStorage) Open(path string) (Object, error) {
-	var opts = minio.GetObjectOptions{}
+	opts := minio.GetObjectOptions{}
 	object, err := m.client.GetObject(m.ctx, m.bucket, m.buildMinioPath(path), opts)
 	if err != nil {
 		return nil, convertMinioErr(err)
@@ -206,7 +206,7 @@ func (m *MinioStorage) URL(path, name string) (*url.URL, error) {
 
 // IterateObjects iterates across the objects in the miniostorage
 func (m *MinioStorage) IterateObjects(fn func(path string, obj Object) error) error {
-	var opts = minio.GetObjectOptions{}
+	opts := minio.GetObjectOptions{}
 	lobjectCtx, cancel := context.WithCancel(m.ctx)
 	defer cancel()
 	for mObjInfo := range m.client.ListObjects(lobjectCtx, m.bucket, minio.ListObjectsOptions{
diff --git a/modules/storage/storage.go b/modules/storage/storage.go
index 2532ceb35da..f11e1ac7437 100644
--- a/modules/storage/storage.go
+++ b/modules/storage/storage.go
@@ -16,10 +16,8 @@ import (
 	"code.gitea.io/gitea/modules/setting"
 )
 
-var (
-	// ErrURLNotSupported represents url is not supported
-	ErrURLNotSupported = errors.New("url method not supported")
-)
+// ErrURLNotSupported represents url is not supported
+var ErrURLNotSupported = errors.New("url method not supported")
 
 // ErrInvalidConfiguration is called when there is invalid configuration for a storage
 type ErrInvalidConfiguration struct {
diff --git a/modules/structs/hook.go b/modules/structs/hook.go
index 163fb5c94d6..bb62483cda3 100644
--- a/modules/structs/hook.go
+++ b/modules/structs/hook.go
@@ -13,10 +13,8 @@ import (
 	"code.gitea.io/gitea/modules/json"
 )
 
-var (
-	// ErrInvalidReceiveHook FIXME
-	ErrInvalidReceiveHook = errors.New("Invalid JSON payload received over webhook")
-)
+// ErrInvalidReceiveHook FIXME
+var ErrInvalidReceiveHook = errors.New("Invalid JSON payload received over webhook")
 
 // Hook a hook is a web hook when one repository changed
 type Hook struct {
diff --git a/modules/structs/repo.go b/modules/structs/repo.go
index 680277ea609..671885f20a6 100644
--- a/modules/structs/repo.go
+++ b/modules/structs/repo.go
@@ -326,19 +326,17 @@ func (gt GitServiceType) TokenAuth() bool {
 	return false
 }
 
-var (
-	// SupportedFullGitService represents all git services supported to migrate issues/labels/prs and etc.
-	// TODO: add to this list after new git service added
-	SupportedFullGitService = []GitServiceType{
-		GithubService,
-		GitlabService,
-		GiteaService,
-		GogsService,
-		OneDevService,
-		GitBucketService,
-		CodebaseService,
-	}
-)
+// SupportedFullGitService represents all git services supported to migrate issues/labels/prs and etc.
+// TODO: add to this list after new git service added
+var SupportedFullGitService = []GitServiceType{
+	GithubService,
+	GitlabService,
+	GiteaService,
+	GogsService,
+	OneDevService,
+	GitBucketService,
+	CodebaseService,
+}
 
 // RepoTransfer represents a pending repo transfer
 type RepoTransfer struct {
diff --git a/modules/templates/base.go b/modules/templates/base.go
index f3052770ea6..282019f826c 100644
--- a/modules/templates/base.go
+++ b/modules/templates/base.go
@@ -29,7 +29,7 @@ func (vars Vars) Merge(another map[string]interface{}) Vars {
 
 // BaseVars returns all basic vars
 func BaseVars() Vars {
-	var startTime = time.Now()
+	startTime := time.Now()
 	return map[string]interface{}{
 		"IsLandingPageHome":          setting.LandingPageURL == setting.LandingPageHome,
 		"IsLandingPageExplore":       setting.LandingPageURL == setting.LandingPageExplore,
diff --git a/modules/templates/dynamic.go b/modules/templates/dynamic.go
index fde58a4a700..c6c47a6c880 100644
--- a/modules/templates/dynamic.go
+++ b/modules/templates/dynamic.go
@@ -71,7 +71,6 @@ func Mailer() (*texttmpl.Template, *template.Template) {
 				}
 
 				content, err := os.ReadFile(path.Join(staticDir, filePath))
-
 				if err != nil {
 					log.Warn("Failed to read static %s template. %v", filePath, err)
 					continue
@@ -100,7 +99,6 @@ func Mailer() (*texttmpl.Template, *template.Template) {
 				}
 
 				content, err := os.ReadFile(path.Join(customDir, filePath))
-
 				if err != nil {
 					log.Warn("Failed to read custom %s template. %v", filePath, err)
 					continue
diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 833b5820735..255866e2ed1 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -213,7 +213,7 @@ func NewFuncMap() []template.FuncMap {
 			}
 			return path
 		},
-		"DiffStatsWidth": func(adds int, dels int) string {
+		"DiffStatsWidth": func(adds, dels int) string {
 			return fmt.Sprintf("%f", float64(adds)/(float64(adds)+float64(dels))*100)
 		},
 		"Json": func(in interface{}) string {
@@ -286,7 +286,7 @@ func NewFuncMap() []template.FuncMap {
 			return util.MergeInto(dict, values...)
 		},
 		"percentage": func(n int, values ...int) float32 {
-			var sum = 0
+			sum := 0
 			for i := 0; i < len(values); i++ {
 				sum += values[i]
 			}
@@ -302,7 +302,7 @@ func NewFuncMap() []template.FuncMap {
 				"EventSourceUpdateTime": int(setting.UI.Notification.EventSourceUpdateTime / time.Millisecond),
 			}
 		},
-		"containGeneric": func(arr interface{}, v interface{}) bool {
+		"containGeneric": func(arr, v interface{}) bool {
 			arrV := reflect.ValueOf(arr)
 			if arrV.Kind() == reflect.String && reflect.ValueOf(v).Kind() == reflect.String {
 				return strings.Contains(arr.(string), v.(string))
@@ -478,7 +478,7 @@ func NewTextFuncMap() []texttmpl.FuncMap {
 			return dict, nil
 		},
 		"percentage": func(n int, values ...int) float32 {
-			var sum = 0
+			sum := 0
 			for i := 0; i < len(values); i++ {
 				sum += values[i]
 			}
@@ -502,8 +502,10 @@ func NewTextFuncMap() []texttmpl.FuncMap {
 	}}
 }
 
-var widthRe = regexp.MustCompile(`width="[0-9]+?"`)
-var heightRe = regexp.MustCompile(`height="[0-9]+?"`)
+var (
+	widthRe  = regexp.MustCompile(`width="[0-9]+?"`)
+	heightRe = regexp.MustCompile(`height="[0-9]+?"`)
+)
 
 func parseOthers(defaultSize int, defaultClass string, others ...interface{}) (int, string) {
 	size := defaultSize
@@ -741,7 +743,7 @@ func RenderEmoji(text string) template.HTML {
 	return template.HTML(renderedText)
 }
 
-//ReactionToEmoji renders emoji for use in reactions
+// ReactionToEmoji renders emoji for use in reactions
 func ReactionToEmoji(reaction string) template.HTML {
 	val := emoji.FromCode(reaction)
 	if val != nil {
diff --git a/modules/templates/static.go b/modules/templates/static.go
index 5b06aaad8fa..cb2978c2efc 100644
--- a/modules/templates/static.go
+++ b/modules/templates/static.go
@@ -47,7 +47,7 @@ func GetAsset(name string) ([]byte, error) {
 // GetAssetNames only for chi
 func GetAssetNames() []string {
 	realFS := Assets.(vfsgen۰FS)
-	var tmpls = make([]string, 0, len(realFS))
+	tmpls := make([]string, 0, len(realFS))
 	for k := range realFS {
 		tmpls = append(tmpls, "templates/"+k[1:])
 	}
@@ -76,7 +76,6 @@ func Mailer() (*texttmpl.Template, *template.Template) {
 		}
 
 		content, err := Asset(assetPath)
-
 		if err != nil {
 			log.Warn("Failed to read embedded %s template. %v", assetPath, err)
 			continue
@@ -111,7 +110,6 @@ func Mailer() (*texttmpl.Template, *template.Template) {
 				}
 
 				content, err := os.ReadFile(path.Join(customDir, filePath))
-
 				if err != nil {
 					log.Warn("Failed to read custom %s template. %v", filePath, err)
 					continue
@@ -142,7 +140,7 @@ func Asset(name string) ([]byte, error) {
 
 func AssetNames() []string {
 	realFS := Assets.(vfsgen۰FS)
-	var results = make([]string, 0, len(realFS))
+	results := make([]string, 0, len(realFS))
 	for k := range realFS {
 		results = append(results, k[1:])
 	}
diff --git a/modules/test/context_tests.go b/modules/test/context_tests.go
index 1bc1d104bc5..e6c78bcaa53 100644
--- a/modules/test/context_tests.go
+++ b/modules/test/context_tests.go
@@ -29,8 +29,8 @@ import (
 
 // MockContext mock context for unit tests
 func MockContext(t *testing.T, path string) *context.Context {
-	var resp = &mockResponseWriter{}
-	var ctx = context.Context{
+	resp := &mockResponseWriter{}
+	ctx := context.Context{
 		Render: &mockRender{},
 		Data:   make(map[string]interface{}),
 		Flash: &middleware.Flash{
@@ -42,7 +42,7 @@ func MockContext(t *testing.T, path string) *context.Context {
 
 	requestURL, err := url.Parse(path)
 	assert.NoError(t, err)
-	var req = &http.Request{
+	req := &http.Request{
 		URL:  requestURL,
 		Form: url.Values{},
 	}
@@ -133,8 +133,7 @@ func (rw *mockResponseWriter) Push(target string, opts *http.PushOptions) error
 	return nil
 }
 
-type mockRender struct {
-}
+type mockRender struct{}
 
 func (tr *mockRender) TemplateLookup(tmpl string) *template.Template {
 	return nil
diff --git a/modules/timeutil/executable.go b/modules/timeutil/executable.go
index b0a3280753e..1875b633495 100644
--- a/modules/timeutil/executable.go
+++ b/modules/timeutil/executable.go
@@ -13,8 +13,10 @@ import (
 	"code.gitea.io/gitea/modules/log"
 )
 
-var executablModTime = time.Now()
-var executablModTimeOnce sync.Once
+var (
+	executablModTime     = time.Now()
+	executablModTimeOnce sync.Once
+)
 
 // GetExecutableModTime get executable file modified time of current process.
 func GetExecutableModTime() time.Time {
diff --git a/modules/timeutil/language.go b/modules/timeutil/language.go
index 121b50f2779..d0380cac3d8 100644
--- a/modules/timeutil/language.go
+++ b/modules/timeutil/language.go
@@ -10,13 +10,11 @@ import (
 	"code.gitea.io/gitea/modules/setting"
 )
 
-var (
-	langTimeFormats = map[string]string{
-		"zh-CN": "2006年01月02日 15时04分05秒",
-		"en-US": time.RFC1123,
-		"lv-LV": "02.01.2006. 15:04:05",
-	}
-)
+var langTimeFormats = map[string]string{
+	"zh-CN": "2006年01月02日 15时04分05秒",
+	"en-US": time.RFC1123,
+	"lv-LV": "02.01.2006. 15:04:05",
+}
 
 // GetLangTimeFormat represents the default time format for the language
 func GetLangTimeFormat(lang string) string {
diff --git a/modules/typesniffer/typesniffer.go b/modules/typesniffer/typesniffer.go
index 9e29b3557c4..e4bed6595a9 100644
--- a/modules/typesniffer/typesniffer.go
+++ b/modules/typesniffer/typesniffer.go
@@ -20,8 +20,10 @@ const sniffLen = 1024
 // SvgMimeType MIME type of SVG images.
 const SvgMimeType = "image/svg+xml"
 
-var svgTagRegex = regexp.MustCompile(`(?si)\A\s*(?:(<!--.*?-->|<!DOCTYPE\s+svg([\s:]+.*?>|>))\s*)*<svg[\s>\/]`)
-var svgTagInXMLRegex = regexp.MustCompile(`(?si)\A<\?xml\b.*?\?>\s*(?:(<!--.*?-->|<!DOCTYPE\s+svg([\s:]+.*?>|>))\s*)*<svg[\s>\/]`)
+var (
+	svgTagRegex      = regexp.MustCompile(`(?si)\A\s*(?:(<!--.*?-->|<!DOCTYPE\s+svg([\s:]+.*?>|>))\s*)*<svg[\s>\/]`)
+	svgTagInXMLRegex = regexp.MustCompile(`(?si)\A<\?xml\b.*?\?>\s*(?:(<!--.*?-->|<!DOCTYPE\s+svg([\s:]+.*?>|>))\s*)*<svg[\s>\/]`)
+)
 
 // SniffedType contains information about a blobs type.
 type SniffedType struct {
diff --git a/modules/updatechecker/update_checker.go b/modules/updatechecker/update_checker.go
index b144166ee99..9c1569b15e7 100644
--- a/modules/updatechecker/update_checker.go
+++ b/modules/updatechecker/update_checker.go
@@ -60,7 +60,6 @@ func GiteaUpdateChecker(httpEndpoint string) error {
 	}
 
 	return UpdateRemoteVersion(respData.Latest.Version)
-
 }
 
 // UpdateRemoteVersion updates the latest available version of Gitea
diff --git a/modules/util/paginate_test.go b/modules/util/paginate_test.go
index d962e04c160..3657efc919e 100644
--- a/modules/util/paginate_test.go
+++ b/modules/util/paginate_test.go
@@ -36,7 +36,7 @@ func TestPaginateSlice(t *testing.T) {
 		Val int
 	}
 
-	var testVar = []*Test{{Val: 2}, {Val: 3}, {Val: 4}}
+	testVar := []*Test{{Val: 2}, {Val: 3}, {Val: 4}}
 	testVar, ok = PaginateSlice(testVar, 1, 50).([]*Test)
 	assert.True(t, ok)
 	assert.EqualValues(t, []*Test{{Val: 2}, {Val: 3}, {Val: 4}}, testVar)
diff --git a/modules/util/path_test.go b/modules/util/path_test.go
index 41104f79fc8..b0ea448a1ce 100644
--- a/modules/util/path_test.go
+++ b/modules/util/path_test.go
@@ -13,7 +13,7 @@ import (
 )
 
 func TestFileURLToPath(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		url      string
 		expected string
 		haserror bool
diff --git a/modules/util/sanitize.go b/modules/util/sanitize.go
index de59ffaa2e5..a782fcf5120 100644
--- a/modules/util/sanitize.go
+++ b/modules/util/sanitize.go
@@ -9,8 +9,10 @@ import (
 	"strings"
 )
 
-const userPlaceholder = "sanitized-credential"
-const unparsableURL = "(unparsable url)"
+const (
+	userPlaceholder = "sanitized-credential"
+	unparsableURL   = "(unparsable url)"
+)
 
 type sanitizedError struct {
 	err      error
diff --git a/modules/util/sanitize_test.go b/modules/util/sanitize_test.go
index 578f75f5188..c141f5e947e 100644
--- a/modules/util/sanitize_test.go
+++ b/modules/util/sanitize_test.go
@@ -16,7 +16,7 @@ func TestNewSanitizedError(t *testing.T) {
 	err2 := NewSanitizedError(err)
 	assert.Equal(t, err.Error(), err2.Error())
 
-	var cases = []struct {
+	cases := []struct {
 		input    error
 		oldnew   []string
 		expected string
@@ -43,7 +43,7 @@ func TestNewSanitizedError(t *testing.T) {
 }
 
 func TestNewStringURLSanitizer(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		input       string
 		placeholder bool
 		expected    string
@@ -101,7 +101,7 @@ func TestNewStringURLSanitizer(t *testing.T) {
 }
 
 func TestNewStringURLSanitizedError(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		input       string
 		placeholder bool
 		expected    string
diff --git a/modules/util/shellquote.go b/modules/util/shellquote.go
index bde24a15177..5a12c2e2618 100644
--- a/modules/util/shellquote.go
+++ b/modules/util/shellquote.go
@@ -41,9 +41,11 @@ const (
 	needsSingleQuote = "!\n"
 )
 
-var doubleQuoteEscaper = strings.NewReplacer(`$`, `\$`, "`", "\\`", `"`, `\"`, `\`, `\\`)
-var singleQuoteEscaper = strings.NewReplacer(`'`, `'\''`)
-var singleQuoteCoalescer = strings.NewReplacer(`''\'`, `\'`, `\'''`, `\'`)
+var (
+	doubleQuoteEscaper   = strings.NewReplacer(`$`, `\$`, "`", "\\`", `"`, `\"`, `\`, `\\`)
+	singleQuoteEscaper   = strings.NewReplacer(`'`, `'\''`)
+	singleQuoteCoalescer = strings.NewReplacer(`''\'`, `\'`, `\'''`, `\'`)
+)
 
 // ShellEscape will escape the provided string.
 // We can't just use go-shellquote here because our preferences for escaping differ from those in that we want:
diff --git a/modules/util/truncate.go b/modules/util/truncate.go
index 38c2c0d1d63..2e6f7f68b0c 100644
--- a/modules/util/truncate.go
+++ b/modules/util/truncate.go
@@ -7,8 +7,10 @@ package util
 import "unicode/utf8"
 
 // in UTF8 "…" is 3 bytes so doesn't really gain us anything...
-const utf8Ellipsis = "…"
-const asciiEllipsis = "..."
+const (
+	utf8Ellipsis  = "…"
+	asciiEllipsis = "..."
+)
 
 // SplitStringAtByteN splits a string at byte n accounting for rune boundaries. (Combining characters are not accounted for.)
 func SplitStringAtByteN(input string, n int) (left, right string) {
diff --git a/modules/util/util_test.go b/modules/util/util_test.go
index f42b1a930f2..e2e26b26274 100644
--- a/modules/util/util_test.go
+++ b/modules/util/util_test.go
@@ -46,7 +46,6 @@ func TestURLJoin(t *testing.T) {
 }
 
 func TestIsEmptyString(t *testing.T) {
-
 	cases := []struct {
 		s        string
 		expected bool
diff --git a/modules/validation/binding.go b/modules/validation/binding.go
index 5d5c64611f2..7baa36ccc51 100644
--- a/modules/validation/binding.go
+++ b/modules/validation/binding.go
@@ -24,16 +24,13 @@ const (
 	ErrRegexPattern = "RegexPattern"
 )
 
-var (
-	// GitRefNamePatternInvalid is regular expression with unallowed characters in git reference name
-	// They cannot have ASCII control characters (i.e. bytes whose values are lower than \040, or \177 DEL), space, tilde ~, caret ^, or colon : anywhere.
-	// They cannot have question-mark ?, asterisk *, or open bracket [ anywhere
-	GitRefNamePatternInvalid = regexp.MustCompile(`[\000-\037\177 \\~^:?*[]+`)
-)
+// GitRefNamePatternInvalid is regular expression with unallowed characters in git reference name
+// They cannot have ASCII control characters (i.e. bytes whose values are lower than \040, or \177 DEL), space, tilde ~, caret ^, or colon : anywhere.
+// They cannot have question-mark ?, asterisk *, or open bracket [ anywhere
+var GitRefNamePatternInvalid = regexp.MustCompile(`[\000-\037\177 \\~^:?*[]+`)
 
 // CheckGitRefAdditionalRulesValid check name is valid on additional rules
 func CheckGitRefAdditionalRulesValid(name string) bool {
-
 	// Additional rules as described at https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html
 	if strings.HasPrefix(name, "/") || strings.HasSuffix(name, "/") ||
 		strings.HasSuffix(name, ".") || strings.Contains(name, "..") ||
diff --git a/modules/web/middleware/flash.go b/modules/web/middleware/flash.go
index cd9b089b94d..d1d4a864e36 100644
--- a/modules/web/middleware/flash.go
+++ b/modules/web/middleware/flash.go
@@ -14,10 +14,8 @@ const (
 	InfoFlash    = "InfoMsg"
 )
 
-var (
-	// FlashNow FIXME:
-	FlashNow bool
-)
+// FlashNow FIXME:
+var FlashNow bool
 
 // Flash represents a one time data transfer between two requests.
 type Flash struct {
diff --git a/modules/web/middleware/locale.go b/modules/web/middleware/locale.go
index ede38ef933c..3daf5f32d45 100644
--- a/modules/web/middleware/locale.go
+++ b/modules/web/middleware/locale.go
@@ -18,7 +18,7 @@ import (
 func Locale(resp http.ResponseWriter, req *http.Request) translation.Locale {
 	// 1. Check URL arguments.
 	lang := req.URL.Query().Get("lang")
-	var changeLang = lang != ""
+	changeLang := lang != ""
 
 	// 2. Get language information from cookies.
 	if len(lang) == 0 {
diff --git a/modules/web/route.go b/modules/web/route.go
index 86e407701c3..4341b1bf5d1 100644
--- a/modules/web/route.go
+++ b/modules/web/route.go
@@ -20,7 +20,7 @@ import (
 
 // Bind binding an obj to a handler
 func Bind(obj interface{}) http.HandlerFunc {
-	var tp = reflect.TypeOf(obj)
+	tp := reflect.TypeOf(obj)
 	if tp.Kind() == reflect.Ptr {
 		tp = tp.Elem()
 	}
@@ -28,7 +28,7 @@ func Bind(obj interface{}) http.HandlerFunc {
 		panic("Only structs are allowed to bind")
 	}
 	return Wrap(func(ctx *context.Context) {
-		var theObj = reflect.New(tp).Interface() // create a new form obj for every request but not use obj directly
+		theObj := reflect.New(tp).Interface() // create a new form obj for every request but not use obj directly
 		binding.Bind(ctx.Req, theObj)
 		SetForm(ctx, theObj)
 		middleware.AssignForm(theObj, ctx.Data)
@@ -86,8 +86,8 @@ func (r *Route) Use(middlewares ...interface{}) {
 
 // Group mounts a sub-Router along a `pattern` string.
 func (r *Route) Group(pattern string, fn func(), middlewares ...interface{}) {
-	var previousGroupPrefix = r.curGroupPrefix
-	var previousMiddlewares = r.curMiddlewares
+	previousGroupPrefix := r.curGroupPrefix
+	previousMiddlewares := r.curMiddlewares
 	r.curGroupPrefix += pattern
 	r.curMiddlewares = append(r.curMiddlewares, middlewares...)
 
@@ -110,7 +110,7 @@ func (r *Route) getPattern(pattern string) string {
 
 // Mount attaches another Route along ./pattern/*
 func (r *Route) Mount(pattern string, subR *Route) {
-	var middlewares = make([]interface{}, len(r.curMiddlewares))
+	middlewares := make([]interface{}, len(r.curMiddlewares))
 	copy(middlewares, r.curMiddlewares)
 	subR.Use(middlewares...)
 	r.R.Mount(r.getPattern(pattern), subR.R)
@@ -118,7 +118,7 @@ func (r *Route) Mount(pattern string, subR *Route) {
 
 // Any delegate requests for all methods
 func (r *Route) Any(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.HandleFunc(r.getPattern(pattern), Wrap(middlewares...))
 }
 
@@ -126,7 +126,7 @@ func (r *Route) Any(pattern string, h ...interface{}) {
 func (r *Route) Route(pattern, methods string, h ...interface{}) {
 	p := r.getPattern(pattern)
 	ms := strings.Split(methods, ",")
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	for _, method := range ms {
 		r.R.MethodFunc(strings.TrimSpace(method), p, Wrap(middlewares...))
 	}
@@ -134,12 +134,12 @@ func (r *Route) Route(pattern, methods string, h ...interface{}) {
 
 // Delete delegate delete method
 func (r *Route) Delete(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Delete(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 func (r *Route) getMiddlewares(h []interface{}) []interface{} {
-	var middlewares = make([]interface{}, len(r.curMiddlewares), len(r.curMiddlewares)+len(h))
+	middlewares := make([]interface{}, len(r.curMiddlewares), len(r.curMiddlewares)+len(h))
 	copy(middlewares, r.curMiddlewares)
 	middlewares = append(middlewares, h...)
 	return middlewares
@@ -147,51 +147,51 @@ func (r *Route) getMiddlewares(h []interface{}) []interface{} {
 
 // Get delegate get method
 func (r *Route) Get(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Get(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 // Options delegate options method
 func (r *Route) Options(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Options(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 // GetOptions delegate get and options method
 func (r *Route) GetOptions(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Get(r.getPattern(pattern), Wrap(middlewares...))
 	r.R.Options(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 // PostOptions delegate post and options method
 func (r *Route) PostOptions(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Post(r.getPattern(pattern), Wrap(middlewares...))
 	r.R.Options(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 // Head delegate head method
 func (r *Route) Head(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Head(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 // Post delegate post method
 func (r *Route) Post(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Post(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 // Put delegate put method
 func (r *Route) Put(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Put(r.getPattern(pattern), Wrap(middlewares...))
 }
 
 // Patch delegate patch method
 func (r *Route) Patch(pattern string, h ...interface{}) {
-	var middlewares = r.getMiddlewares(h)
+	middlewares := r.getMiddlewares(h)
 	r.R.Patch(r.getPattern(pattern), Wrap(middlewares...))
 }
 
diff --git a/modules/web/routing/context.go b/modules/web/routing/context.go
index f57b2e9026a..d3c7759e64c 100644
--- a/modules/web/routing/context.go
+++ b/modules/web/routing/context.go
@@ -13,7 +13,7 @@ type contextKeyType struct{}
 
 var contextKey contextKeyType
 
-//UpdateFuncInfo updates a context's func info
+// UpdateFuncInfo updates a context's func info
 func UpdateFuncInfo(ctx context.Context, funcInfo *FuncInfo) {
 	record, ok := ctx.Value(contextKey).(*requestRecord)
 	if !ok {
@@ -23,7 +23,6 @@ func UpdateFuncInfo(ctx context.Context, funcInfo *FuncInfo) {
 	record.lock.Lock()
 	record.funcInfo = funcInfo
 	record.lock.Unlock()
-
 }
 
 // MarkLongPolling marks the reuqest is a long-polling request, and the logger may output different message for it
@@ -38,7 +37,7 @@ func MarkLongPolling(resp http.ResponseWriter, req *http.Request) {
 	record.lock.Unlock()
 }
 
-//UpdatePanicError updates a context's error info, a panic may be recovered by other middlewares, but we still need to know that.
+// UpdatePanicError updates a context's error info, a panic may be recovered by other middlewares, but we still need to know that.
 func UpdatePanicError(ctx context.Context, err interface{}) {
 	record, ok := ctx.Value(contextKey).(*requestRecord)
 	if !ok {
diff --git a/modules/web/routing/funcinfo.go b/modules/web/routing/funcinfo.go
index 6d3986e364e..9bb38af1c8b 100644
--- a/modules/web/routing/funcinfo.go
+++ b/modules/web/routing/funcinfo.go
@@ -12,9 +12,11 @@ import (
 	"sync"
 )
 
-var funcInfoMap = map[uintptr]*FuncInfo{}
-var funcInfoNameMap = map[string]*FuncInfo{}
-var funcInfoMapMu sync.RWMutex
+var (
+	funcInfoMap     = map[uintptr]*FuncInfo{}
+	funcInfoNameMap = map[string]*FuncInfo{}
+	funcInfoMapMu   sync.RWMutex
+)
 
 // FuncInfo contains information about the function to be logged by the router log
 type FuncInfo struct {
diff --git a/modules/web/routing/logger_manager.go b/modules/web/routing/logger_manager.go
index 31fd09f3120..cc434c338da 100644
--- a/modules/web/routing/logger_manager.go
+++ b/modules/web/routing/logger_manager.go
@@ -17,13 +17,13 @@ import (
 type Event int
 
 const (
-	//StartEvent at the beginning of a request
+	// StartEvent at the beginning of a request
 	StartEvent Event = iota
 
-	//StillExecutingEvent the request is still executing
+	// StillExecutingEvent the request is still executing
 	StillExecutingEvent
 
-	//EndEvent the request has ended (either completed or failed)
+	// EndEvent the request has ended (either completed or failed)
 	EndEvent
 )
 
diff --git a/modules/web/wrap_convert.go b/modules/web/wrap_convert.go
index f2e05de7c1d..d4a24b3ad4d 100644
--- a/modules/web/wrap_convert.go
+++ b/modules/web/wrap_convert.go
@@ -87,7 +87,7 @@ func convertHandler(handler interface{}) wrappedHandlerFunc {
 		}
 	case func(http.Handler) http.Handler:
 		return func(resp http.ResponseWriter, req *http.Request, others ...wrappedHandlerFunc) (done bool, deferrable func()) {
-			var next = http.HandlerFunc(func(http.ResponseWriter, *http.Request) {})
+			next := http.HandlerFunc(func(http.ResponseWriter, *http.Request) {})
 			if len(others) > 0 {
 				next = wrapInternal(others)
 			}
diff --git a/routers/api/v1/admin/org.go b/routers/api/v1/admin/org.go
index bdfe87fd4e4..aaa27afb9e9 100644
--- a/routers/api/v1/admin/org.go
+++ b/routers/api/v1/admin/org.go
@@ -82,7 +82,7 @@ func CreateOrg(ctx *context.APIContext) {
 	ctx.JSON(http.StatusCreated, convert.ToOrganization(org))
 }
 
-//GetAllOrgs API for getting information of all the organizations
+// GetAllOrgs API for getting information of all the organizations
 func GetAllOrgs(ctx *context.APIContext) {
 	// swagger:operation GET /admin/orgs admin adminGetAllOrgs
 	// ---
diff --git a/routers/api/v1/admin/user.go b/routers/api/v1/admin/user.go
index e95ab33d77d..0ecebad5d7a 100644
--- a/routers/api/v1/admin/user.go
+++ b/routers/api/v1/admin/user.go
@@ -403,7 +403,7 @@ func DeleteUserPublicKey(ctx *context.APIContext) {
 	ctx.Status(http.StatusNoContent)
 }
 
-//GetAllUsers API for getting information of all the users
+// GetAllUsers API for getting information of all the users
 func GetAllUsers(ctx *context.APIContext) {
 	// swagger:operation GET /admin/users admin adminGetAllUsers
 	// ---
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index 7a723a138ac..df00a852f22 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -333,7 +333,7 @@ func reqTeamMembership() func(ctx *context.APIContext) {
 			return
 		}
 
-		var orgID = ctx.Org.Team.OrgID
+		orgID := ctx.Org.Team.OrgID
 		isOwner, err := models.IsOrganizationOwner(orgID, ctx.User.ID)
 		if err != nil {
 			ctx.Error(http.StatusInternalServerError, "IsOrganizationOwner", err)
@@ -545,12 +545,12 @@ func mustNotBeArchived(ctx *context.APIContext) {
 
 // bind binding an obj to a func(ctx *context.APIContext)
 func bind(obj interface{}) http.HandlerFunc {
-	var tp = reflect.TypeOf(obj)
+	tp := reflect.TypeOf(obj)
 	for tp.Kind() == reflect.Ptr {
 		tp = tp.Elem()
 	}
 	return web.Wrap(func(ctx *context.APIContext) {
-		var theObj = reflect.New(tp).Interface() // create a new form obj for every request but not use obj directly
+		theObj := reflect.New(tp).Interface() // create a new form obj for every request but not use obj directly
 		errs := binding.Bind(ctx.Req, theObj)
 		if len(errs) > 0 {
 			ctx.Error(http.StatusUnprocessableEntity, "validationError", fmt.Sprintf("%s: %s", errs[0].FieldNames, errs[0].Error()))
@@ -562,16 +562,16 @@ func bind(obj interface{}) http.HandlerFunc {
 
 // Routes registers all v1 APIs routes to web application.
 func Routes(sessioner func(http.Handler) http.Handler) *web.Route {
-	var m = web.NewRoute()
+	m := web.NewRoute()
 
 	m.Use(sessioner)
 
 	m.Use(securityHeaders())
 	if setting.CORSConfig.Enabled {
 		m.Use(cors.Handler(cors.Options{
-			//Scheme:           setting.CORSConfig.Scheme, // FIXME: the cors middleware needs scheme option
+			// Scheme:           setting.CORSConfig.Scheme, // FIXME: the cors middleware needs scheme option
 			AllowedOrigins: setting.CORSConfig.AllowDomain,
-			//setting.CORSConfig.AllowSubdomain // FIXME: the cors middleware needs allowSubdomain option
+			// setting.CORSConfig.AllowSubdomain // FIXME: the cors middleware needs allowSubdomain option
 			AllowedMethods:   setting.CORSConfig.Methods,
 			AllowCredentials: setting.CORSConfig.AllowCredentials,
 			AllowedHeaders:   []string{"Authorization", "X-CSRFToken", "X-Gitea-OTP"},
diff --git a/routers/api/v1/misc/markdown_test.go b/routers/api/v1/misc/markdown_test.go
index dc6762c4cf2..349498e2abf 100644
--- a/routers/api/v1/misc/markdown_test.go
+++ b/routers/api/v1/misc/markdown_test.go
@@ -22,12 +22,14 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-const AppURL = "http://localhost:3000/"
-const Repo = "gogits/gogs"
-const AppSubURL = AppURL + Repo + "/"
+const (
+	AppURL    = "http://localhost:3000/"
+	Repo      = "gogits/gogs"
+	AppSubURL = AppURL + Repo + "/"
+)
 
 func createContext(req *http.Request) (*context.Context, *httptest.ResponseRecorder) {
-	var rnd = templates.HTMLRenderer()
+	rnd := templates.HTMLRenderer()
 	resp := httptest.NewRecorder()
 	c := &context.Context{
 		Req:    req,
diff --git a/routers/api/v1/org/hook.go b/routers/api/v1/org/hook.go
index b9d1fa2f679..67957430d1e 100644
--- a/routers/api/v1/org/hook.go
+++ b/routers/api/v1/org/hook.go
@@ -123,7 +123,7 @@ func CreateHook(ctx *context.APIContext) {
 	//     "$ref": "#/responses/Hook"
 
 	form := web.GetForm(ctx).(*api.CreateHookOption)
-	//TODO in body params
+	// TODO in body params
 	if !utils.CheckCreateHookOption(ctx, form) {
 		return
 	}
@@ -161,7 +161,7 @@ func EditHook(ctx *context.APIContext) {
 
 	form := web.GetForm(ctx).(*api.EditHookOption)
 
-	//TODO in body params
+	// TODO in body params
 	hookID := ctx.ParamsInt64(":id")
 	utils.EditOrgHook(ctx, form, hookID)
 }
diff --git a/routers/api/v1/org/org.go b/routers/api/v1/org/org.go
index 133cce3416c..1f097225f22 100644
--- a/routers/api/v1/org/org.go
+++ b/routers/api/v1/org/org.go
@@ -25,7 +25,7 @@ func listUserOrgs(ctx *context.APIContext, u *user_model.User) {
 	listOptions := utils.GetListOptions(ctx)
 	showPrivate := ctx.IsSigned && (ctx.User.IsAdmin || ctx.User.ID == u.ID)
 
-	var opts = models.FindOrgOptions{
+	opts := models.FindOrgOptions{
 		ListOptions:    listOptions,
 		UserID:         u.ID,
 		IncludePrivate: showPrivate,
@@ -357,7 +357,7 @@ func Edit(ctx *context.APIContext) {
 	ctx.JSON(http.StatusOK, convert.ToOrganization(org))
 }
 
-//Delete an organization
+// Delete an organization
 func Delete(ctx *context.APIContext) {
 	// swagger:operation DELETE /orgs/{org} organization orgDelete
 	// ---
diff --git a/routers/api/v1/repo/branch.go b/routers/api/v1/repo/branch.go
index c5480bf2c5d..3a0c3201ac3 100644
--- a/routers/api/v1/repo/branch.go
+++ b/routers/api/v1/repo/branch.go
@@ -177,23 +177,18 @@ func CreateBranch(ctx *context.APIContext) {
 	}
 
 	err := repo_service.CreateNewBranch(ctx, ctx.User, ctx.Repo.Repository, opt.OldBranchName, opt.BranchName)
-
 	if err != nil {
 		if models.IsErrBranchDoesNotExist(err) {
 			ctx.Error(http.StatusNotFound, "", "The old branch does not exist")
 		}
 		if models.IsErrTagAlreadyExists(err) {
 			ctx.Error(http.StatusConflict, "", "The branch with the same tag already exists.")
-
 		} else if models.IsErrBranchAlreadyExists(err) || git.IsErrPushOutOfDate(err) {
 			ctx.Error(http.StatusConflict, "", "The branch already exists.")
-
 		} else if models.IsErrBranchNameConflict(err) {
 			ctx.Error(http.StatusConflict, "", "The branch with the same name already exists.")
-
 		} else {
 			ctx.Error(http.StatusInternalServerError, "CreateRepoBranch", err)
-
 		}
 		return
 	}
@@ -532,7 +527,6 @@ func CreateBranchProtection(ctx *context.APIContext) {
 	}
 
 	ctx.JSON(http.StatusCreated, convert.ToBranchProtection(bp))
-
 }
 
 // EditBranchProtection edits a branch protection for a repo
diff --git a/routers/api/v1/repo/fork.go b/routers/api/v1/repo/fork.go
index b0ba5db253d..d814ae909e3 100644
--- a/routers/api/v1/repo/fork.go
+++ b/routers/api/v1/repo/fork.go
@@ -149,6 +149,6 @@ func CreateFork(ctx *context.APIContext) {
 		return
 	}
 
-	//TODO change back to 201
+	// TODO change back to 201
 	ctx.JSON(http.StatusAccepted, convert.ToRepo(fork, perm.AccessModeOwner))
 }
diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go
index 5137c7246ed..5ce0c109e6c 100644
--- a/routers/api/v1/repo/issue.go
+++ b/routers/api/v1/repo/issue.go
@@ -599,7 +599,7 @@ func CreateIssue(ctx *context.APIContext) {
 		DeadlineUnix: deadlineUnix,
 	}
 
-	var assigneeIDs = make([]int64, 0)
+	assigneeIDs := make([]int64, 0)
 	var err error
 	if ctx.Repo.CanWrite(unit.TypeIssues) {
 		issue.MilestoneID = form.Milestone
diff --git a/routers/api/v1/repo/issue_reaction.go b/routers/api/v1/repo/issue_reaction.go
index 6184ea71f00..9c5086700cf 100644
--- a/routers/api/v1/repo/issue_reaction.go
+++ b/routers/api/v1/repo/issue_reaction.go
@@ -225,7 +225,7 @@ func changeIssueCommentReaction(ctx *context.APIContext, form api.EditReactionOp
 			ctx.Error(http.StatusInternalServerError, "DeleteCommentReaction", err)
 			return
 		}
-		//ToDo respond 204
+		// ToDo respond 204
 		ctx.Status(http.StatusOK)
 	}
 }
@@ -435,7 +435,7 @@ func changeIssueReaction(ctx *context.APIContext, form api.EditReactionOption, i
 			ctx.Error(http.StatusInternalServerError, "DeleteIssueReaction", err)
 			return
 		}
-		//ToDo respond 204
+		// ToDo respond 204
 		ctx.Status(http.StatusOK)
 	}
 }
diff --git a/routers/api/v1/repo/issue_subscription.go b/routers/api/v1/repo/issue_subscription.go
index 9c6b4e46471..76c668697e6 100644
--- a/routers/api/v1/repo/issue_subscription.go
+++ b/routers/api/v1/repo/issue_subscription.go
@@ -127,7 +127,7 @@ func setIssueSubscription(ctx *context.APIContext, watch bool) {
 		return
 	}
 
-	//only admin and user for itself can change subscription
+	// only admin and user for itself can change subscription
 	if user.ID != ctx.User.ID && !ctx.User.IsAdmin {
 		ctx.Error(http.StatusForbidden, "User", fmt.Errorf("%s is not permitted to change subscriptions for %s", ctx.User.Name, user.Name))
 		return
@@ -269,7 +269,7 @@ func GetIssueSubscribers(ctx *context.APIContext) {
 		return
 	}
 
-	var userIDs = make([]int64, 0, len(iwl))
+	userIDs := make([]int64, 0, len(iwl))
 	for _, iw := range iwl {
 		userIDs = append(userIDs, iw.UserID)
 	}
diff --git a/routers/api/v1/repo/issue_tracked_time.go b/routers/api/v1/repo/issue_tracked_time.go
index 00f8e77febd..79ba59996c2 100644
--- a/routers/api/v1/repo/issue_tracked_time.go
+++ b/routers/api/v1/repo/issue_tracked_time.go
@@ -201,7 +201,7 @@ func AddTime(ctx *context.APIContext) {
 	user := ctx.User
 	if form.User != "" {
 		if (ctx.IsUserRepoAdmin() && ctx.User.Name != form.User) || ctx.User.IsAdmin {
-			//allow only RepoAdmin, Admin and User to add time
+			// allow only RepoAdmin, Admin and User to add time
 			user, err = user_model.GetUserByName(form.User)
 			if err != nil {
 				ctx.Error(http.StatusInternalServerError, "GetUserByName", err)
@@ -365,7 +365,7 @@ func DeleteTime(ctx *context.APIContext) {
 	}
 
 	if !ctx.User.IsAdmin && time.UserID != ctx.User.ID {
-		//Only Admin and User itself can delete their time
+		// Only Admin and User itself can delete their time
 		ctx.Status(http.StatusForbidden)
 		return
 	}
diff --git a/routers/api/v1/repo/migrate.go b/routers/api/v1/repo/migrate.go
index 8a6f421c87c..394504a99d2 100644
--- a/routers/api/v1/repo/migrate.go
+++ b/routers/api/v1/repo/migrate.go
@@ -56,7 +56,7 @@ func Migrate(ctx *context.APIContext) {
 
 	form := web.GetForm(ctx).(*api.MigrateRepoOptions)
 
-	//get repoOwner
+	// get repoOwner
 	var (
 		repoOwner *user_model.User
 		err       error
@@ -137,7 +137,7 @@ func Migrate(ctx *context.APIContext) {
 		}
 	}
 
-	var opts = migrations.MigrateOptions{
+	opts := migrations.MigrateOptions{
 		CloneAddr:      remoteAddr,
 		RepoName:       form.RepoName,
 		Description:    form.Description,
diff --git a/routers/api/v1/repo/milestone.go b/routers/api/v1/repo/milestone.go
index be1da18c5d1..3b4b85158c9 100644
--- a/routers/api/v1/repo/milestone.go
+++ b/routers/api/v1/repo/milestone.go
@@ -213,7 +213,7 @@ func EditMilestone(ctx *context.APIContext) {
 		milestone.DeadlineUnix = timeutil.TimeStamp(form.Deadline.Unix())
 	}
 
-	var oldIsClosed = milestone.IsClosed
+	oldIsClosed := milestone.IsClosed
 	if form.State != nil {
 		milestone.IsClosed = *form.State == string(api.StateClosed)
 	}
diff --git a/routers/api/v1/repo/pull.go b/routers/api/v1/repo/pull.go
index 52ff8425ded..a494cb06cc7 100644
--- a/routers/api/v1/repo/pull.go
+++ b/routers/api/v1/repo/pull.go
@@ -95,7 +95,6 @@ func ListPullRequests(ctx *context.APIContext) {
 		Labels:      ctx.FormStrings("labels"),
 		MilestoneID: ctx.FormInt64("milestone"),
 	})
-
 	if err != nil {
 		ctx.Error(http.StatusInternalServerError, "PullRequests", err)
 		return
diff --git a/routers/api/v1/repo/release_attachment.go b/routers/api/v1/repo/release_attachment.go
index fe82915a94d..b1bc48d30f8 100644
--- a/routers/api/v1/repo/release_attachment.go
+++ b/routers/api/v1/repo/release_attachment.go
@@ -178,7 +178,7 @@ func CreateReleaseAttachment(ctx *context.APIContext) {
 	}
 	defer file.Close()
 
-	var filename = header.Filename
+	filename := header.Filename
 	if query := ctx.FormString("name"); query != "" {
 		filename = query
 	}
diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index 5f17dc9268a..c2dfc4f193e 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -160,7 +160,7 @@ func Search(ctx *context.APIContext) {
 		opts.Collaborate = util.OptionalBoolFalse
 	}
 
-	var mode = ctx.FormString("mode")
+	mode := ctx.FormString("mode")
 	switch mode {
 	case "source":
 		opts.Fork = util.OptionalBoolFalse
@@ -186,9 +186,9 @@ func Search(ctx *context.APIContext) {
 		opts.IsPrivate = util.OptionalBoolOf(ctx.FormBool("is_private"))
 	}
 
-	var sortMode = ctx.FormString("sort")
+	sortMode := ctx.FormString("sort")
 	if len(sortMode) > 0 {
-		var sortOrder = ctx.FormString("order")
+		sortOrder := ctx.FormString("order")
 		if len(sortOrder) == 0 {
 			sortOrder = "asc"
 		}
diff --git a/routers/api/v1/repo/repo_test.go b/routers/api/v1/repo/repo_test.go
index 17b49f7f58b..652fecefbc2 100644
--- a/routers/api/v1/repo/repo_test.go
+++ b/routers/api/v1/repo/repo_test.go
@@ -55,7 +55,7 @@ func TestRepoEdit(t *testing.T) {
 		Archived:                  &archived,
 	}
 
-	var apiCtx = &context.APIContext{Context: ctx, Org: nil}
+	apiCtx := &context.APIContext{Context: ctx, Org: nil}
 	web.SetForm(apiCtx, &opts)
 	Edit(apiCtx)
 
@@ -77,7 +77,7 @@ func TestRepoEditNameChange(t *testing.T) {
 		Name: &name,
 	}
 
-	var apiCtx = &context.APIContext{Context: ctx, Org: nil}
+	apiCtx := &context.APIContext{Context: ctx, Org: nil}
 	web.SetForm(apiCtx, &opts)
 	Edit(apiCtx)
 	assert.EqualValues(t, http.StatusOK, ctx.Resp.Status())
diff --git a/routers/api/v1/repo/status.go b/routers/api/v1/repo/status.go
index 72d790794ee..01faf5ad255 100644
--- a/routers/api/v1/repo/status.go
+++ b/routers/api/v1/repo/status.go
@@ -176,7 +176,7 @@ func GetCommitStatusesByRef(ctx *context.APIContext) {
 		return
 	}
 
-	getCommitStatuses(ctx, filter) //By default filter is maybe the raw SHA
+	getCommitStatuses(ctx, filter) // By default filter is maybe the raw SHA
 }
 
 func getCommitStatuses(ctx *context.APIContext, sha string) {
diff --git a/routers/api/v1/repo/wiki.go b/routers/api/v1/repo/wiki.go
index 94f1dbe0ea5..f7054b50678 100644
--- a/routers/api/v1/repo/wiki.go
+++ b/routers/api/v1/repo/wiki.go
@@ -167,7 +167,7 @@ func getWikiPage(ctx *context.APIContext, title string) *api.WikiPage {
 		return nil
 	}
 
-	//lookup filename in wiki - get filecontent, real filename
+	// lookup filename in wiki - get filecontent, real filename
 	content, pageFilename := wikiContentsByName(ctx, commit, title, false)
 	if ctx.Written() {
 		return nil
@@ -412,7 +412,7 @@ func ListPageRevisions(ctx *context.APIContext) {
 		pageName = "Home"
 	}
 
-	//lookup filename in wiki - get filecontent, gitTree entry , real filename
+	// lookup filename in wiki - get filecontent, gitTree entry , real filename
 	_, pageFilename := wikiContentsByName(ctx, commit, pageName, false)
 	if ctx.Written() {
 		return
@@ -501,7 +501,6 @@ func wikiContentsByEntry(ctx *context.APIContext, entry *git.TreeEntry) string {
 func wikiContentsByName(ctx *context.APIContext, commit *git.Commit, wikiName string, isSidebarOrFooter bool) (string, string) {
 	pageFilename := wiki_service.NameToFilename(wikiName)
 	entry, err := findEntryForFile(commit, pageFilename)
-
 	if err != nil {
 		if git.IsErrNotExist(err) {
 			if !isSidebarOrFooter {
diff --git a/routers/api/v1/user/gpg_key.go b/routers/api/v1/user/gpg_key.go
index a90e8c30f0a..26aeeeabf9d 100644
--- a/routers/api/v1/user/gpg_key.go
+++ b/routers/api/v1/user/gpg_key.go
@@ -39,7 +39,7 @@ func listGPGKeys(ctx *context.APIContext, uid int64, listOptions db.ListOptions)
 	ctx.JSON(http.StatusOK, &apiKeys)
 }
 
-//ListGPGKeys get the GPG key list of a user
+// ListGPGKeys get the GPG key list of a user
 func ListGPGKeys(ctx *context.APIContext) {
 	// swagger:operation GET /users/{username}/gpg_keys user userListGPGKeys
 	// ---
@@ -71,7 +71,7 @@ func ListGPGKeys(ctx *context.APIContext) {
 	listGPGKeys(ctx, user.ID, utils.GetListOptions(ctx))
 }
 
-//ListMyGPGKeys get the GPG key list of the authenticated user
+// ListMyGPGKeys get the GPG key list of the authenticated user
 func ListMyGPGKeys(ctx *context.APIContext) {
 	// swagger:operation GET /user/gpg_keys user userCurrentListGPGKeys
 	// ---
@@ -94,7 +94,7 @@ func ListMyGPGKeys(ctx *context.APIContext) {
 	listGPGKeys(ctx, ctx.User.ID, utils.GetListOptions(ctx))
 }
 
-//GetGPGKey get the GPG key based on a id
+// GetGPGKey get the GPG key based on a id
 func GetGPGKey(ctx *context.APIContext) {
 	// swagger:operation GET /user/gpg_keys/{id} user userCurrentGetGPGKey
 	// ---
@@ -212,7 +212,7 @@ type swaggerUserCurrentPostGPGKey struct {
 	Form api.CreateGPGKeyOption
 }
 
-//CreateGPGKey create a GPG key belonging to the authenticated user
+// CreateGPGKey create a GPG key belonging to the authenticated user
 func CreateGPGKey(ctx *context.APIContext) {
 	// swagger:operation POST /user/gpg_keys user userCurrentPostGPGKey
 	// ---
@@ -233,7 +233,7 @@ func CreateGPGKey(ctx *context.APIContext) {
 	CreateUserGPGKey(ctx, *form, ctx.User.ID)
 }
 
-//DeleteGPGKey remove a GPG key belonging to the authenticated user
+// DeleteGPGKey remove a GPG key belonging to the authenticated user
 func DeleteGPGKey(ctx *context.APIContext) {
 	// swagger:operation DELETE /user/gpg_keys/{id} user userCurrentDeleteGPGKey
 	// ---
diff --git a/routers/api/v1/user/watch.go b/routers/api/v1/user/watch.go
index 6c3e1c86fa3..49b1d47d95d 100644
--- a/routers/api/v1/user/watch.go
+++ b/routers/api/v1/user/watch.go
@@ -170,7 +170,6 @@ func Watch(ctx *context.APIContext) {
 		URL:           subscriptionURL(ctx.Repo.Repository),
 		RepositoryURL: ctx.Repo.Repository.APIURL(),
 	})
-
 }
 
 // Unwatch the repo specified in ctx, as the authenticated user
diff --git a/routers/api/v1/utils/git.go b/routers/api/v1/utils/git.go
index a941c1fc2c0..f7a7fe83c99 100644
--- a/routers/api/v1/utils/git.go
+++ b/routers/api/v1/utils/git.go
@@ -50,12 +50,12 @@ func GetGitRefs(ctx *context.APIContext, filter string) ([]*git.Reference, strin
 }
 
 func searchRefCommitByType(ctx *context.APIContext, refType, filter string) (string, string, error) {
-	refs, lastMethodName, err := GetGitRefs(ctx, refType+"/"+filter) //Search by type
+	refs, lastMethodName, err := GetGitRefs(ctx, refType+"/"+filter) // Search by type
 	if err != nil {
 		return "", lastMethodName, err
 	}
 	if len(refs) > 0 {
-		return refs[0].Object.String(), "", nil //Return found SHA
+		return refs[0].Object.String(), "", nil // Return found SHA
 	}
 	return "", "", nil
 }
diff --git a/routers/common/middleware.go b/routers/common/middleware.go
index 2b6343b10f2..880700969ae 100644
--- a/routers/common/middleware.go
+++ b/routers/common/middleware.go
@@ -21,7 +21,7 @@ import (
 
 // Middlewares returns common middlewares
 func Middlewares() []func(http.Handler) http.Handler {
-	var handlers = []func(http.Handler) http.Handler{
+	handlers := []func(http.Handler) http.Handler{
 		func(next http.Handler) http.Handler {
 			return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
 				// First of all escape the URL RawPath to ensure that all routing is done using a correctly escaped URL
diff --git a/routers/install/install.go b/routers/install/install.go
index 230f6e0602a..043fae26de9 100644
--- a/routers/install/install.go
+++ b/routers/install/install.go
@@ -54,7 +54,7 @@ func getDbTypeNames() []map[string]string {
 
 // Init prepare for rendering installation page
 func Init(next http.Handler) http.Handler {
-	var rnd = templates.HTMLRenderer()
+	rnd := templates.HTMLRenderer()
 
 	return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
 		if setting.InstallLock {
@@ -62,9 +62,9 @@ func Init(next http.Handler) http.Handler {
 			_ = rnd.HTML(resp, 200, string(tplPostInstall), nil)
 			return
 		}
-		var locale = middleware.Locale(resp, req)
-		var startTime = time.Now()
-		var ctx = context.Context{
+		locale := middleware.Locale(resp, req)
+		startTime := time.Now()
+		ctx := context.Context{
 			Resp:    context.NewResponse(resp),
 			Flash:   &middleware.Flash{},
 			Locale:  locale,
diff --git a/routers/install/routes.go b/routers/install/routes.go
index d7d8527cf5e..f377cd40c9a 100644
--- a/routers/install/routes.go
+++ b/routers/install/routes.go
@@ -28,7 +28,7 @@ func (d *dataStore) GetData() map[string]interface{} {
 }
 
 func installRecovery() func(next http.Handler) http.Handler {
-	var rnd = templates.HTMLRenderer()
+	rnd := templates.HTMLRenderer()
 	return func(next http.Handler) http.Handler {
 		return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
 			defer func() {
@@ -53,7 +53,7 @@ func installRecovery() func(next http.Handler) http.Handler {
 					log.Error("%s", combinedErr)
 
 					lc := middleware.Locale(w, req)
-					var store = dataStore{
+					store := dataStore{
 						"Language":       lc.Language(),
 						"CurrentURL":     setting.AppSubURL + req.URL.RequestURI(),
 						"i18n":           lc,
diff --git a/routers/private/internal.go b/routers/private/internal.go
index 4960f561c12..263180bd58e 100644
--- a/routers/private/internal.go
+++ b/routers/private/internal.go
@@ -35,12 +35,12 @@ func CheckInternalToken(next http.Handler) http.Handler {
 
 // bind binding an obj to a handler
 func bind(obj interface{}) http.HandlerFunc {
-	var tp = reflect.TypeOf(obj)
+	tp := reflect.TypeOf(obj)
 	for tp.Kind() == reflect.Ptr {
 		tp = tp.Elem()
 	}
 	return web.Wrap(func(ctx *context.PrivateContext) {
-		var theObj = reflect.New(tp).Interface() // create a new form obj for every request but not use obj directly
+		theObj := reflect.New(tp).Interface() // create a new form obj for every request but not use obj directly
 		binding.Bind(ctx.Req, theObj)
 		web.SetForm(ctx, theObj)
 	})
@@ -49,7 +49,7 @@ func bind(obj interface{}) http.HandlerFunc {
 // Routes registers all internal APIs routes to web application.
 // These APIs will be invoked by internal commands for example `gitea serv` and etc.
 func Routes() *web.Route {
-	var r = web.NewRoute()
+	r := web.NewRoute()
 	r.Use(context.PrivateContexter())
 	r.Use(CheckInternalToken)
 
diff --git a/routers/private/manager_unix.go b/routers/private/manager_unix.go
index f00f2022073..402bade5d41 100644
--- a/routers/private/manager_unix.go
+++ b/routers/private/manager_unix.go
@@ -18,7 +18,6 @@ import (
 func Restart(ctx *context.PrivateContext) {
 	graceful.GetManager().DoGracefulRestart()
 	ctx.PlainText(http.StatusOK, "success")
-
 }
 
 // Shutdown causes the server to perform a graceful shutdown
diff --git a/routers/private/restore_repo.go b/routers/private/restore_repo.go
index 85aada192f4..8dfe5693257 100644
--- a/routers/private/restore_repo.go
+++ b/routers/private/restore_repo.go
@@ -23,7 +23,7 @@ func RestoreRepo(ctx *myCtx.PrivateContext) {
 		})
 		return
 	}
-	var params = struct {
+	params := struct {
 		RepoDir   string
 		OwnerName string
 		RepoName  string
diff --git a/routers/web/admin/admin.go b/routers/web/admin/admin.go
index 7e25f96ee00..276e1939ad7 100644
--- a/routers/web/admin/admin.go
+++ b/routers/web/admin/admin.go
@@ -209,7 +209,7 @@ func shadowPassword(provider, cfgItem string) string {
 	case "redis":
 		return shadowPasswordKV(cfgItem, ",")
 	case "mysql":
-		//root:@tcp(localhost:3306)/macaron?charset=utf8
+		// root:@tcp(localhost:3306)/macaron?charset=utf8
 		atIdx := strings.Index(cfgItem, "@")
 		if atIdx > 0 {
 			colonIdx := strings.Index(cfgItem[:atIdx], ":")
diff --git a/routers/web/admin/admin_test.go b/routers/web/admin/admin_test.go
index da404e50d73..1bc43998b25 100644
--- a/routers/web/admin/admin_test.go
+++ b/routers/web/admin/admin_test.go
@@ -11,7 +11,7 @@ import (
 )
 
 func TestShadowPassword(t *testing.T) {
-	var kases = []struct {
+	kases := []struct {
 		Provider string
 		CfgItem  string
 		Result   string
diff --git a/routers/web/admin/emails.go b/routers/web/admin/emails.go
index cbf0ec5e983..b94f9d72c40 100644
--- a/routers/web/admin/emails.go
+++ b/routers/web/admin/emails.go
@@ -101,9 +101,7 @@ func Emails(ctx *context.Context) {
 	ctx.HTML(http.StatusOK, tplEmails)
 }
 
-var (
-	nullByte = []byte{0x00}
-)
+var nullByte = []byte{0x00}
 
 func isKeywordValid(keyword string) bool {
 	return !bytes.Contains([]byte(keyword), nullByte)
@@ -111,7 +109,6 @@ func isKeywordValid(keyword string) bool {
 
 // ActivateEmail serves a POST request for activating/deactivating a user's email
 func ActivateEmail(ctx *context.Context) {
-
 	truefalse := map[string]bool{"1": true, "0": false}
 
 	uid := ctx.FormInt64("uid")
diff --git a/routers/web/admin/users_test.go b/routers/web/admin/users_test.go
index 1849781bc47..46133688a52 100644
--- a/routers/web/admin/users_test.go
+++ b/routers/web/admin/users_test.go
@@ -19,7 +19,6 @@ import (
 )
 
 func TestNewUserPost_MustChangePassword(t *testing.T) {
-
 	unittest.PrepareTestEnv(t)
 	ctx := test.MockContext(t, "admin/users/new")
 
diff --git a/routers/web/auth/auth.go b/routers/web/auth/auth.go
index d6b36355845..ce8ec8a1e31 100644
--- a/routers/web/auth/auth.go
+++ b/routers/web/auth/auth.go
@@ -297,7 +297,7 @@ func handleSignIn(ctx *context.Context, u *user_model.User, remember bool) {
 	ctx.Redirect(redirect)
 }
 
-func handleSignInFull(ctx *context.Context, u *user_model.User, remember bool, obeyRedirect bool) string {
+func handleSignInFull(ctx *context.Context, u *user_model.User, remember, obeyRedirect bool) string {
 	if remember {
 		days := 86400 * setting.LogInRememberDays
 		ctx.SetCookie(setting.CookieUserName, u.Name, days)
@@ -417,7 +417,7 @@ func SignUp(ctx *context.Context) {
 	ctx.Data["HcaptchaSitekey"] = setting.Service.HcaptchaSitekey
 	ctx.Data["PageIsSignUp"] = true
 
-	//Show Disabled Registration message if DisableRegistration or AllowOnlyExternalRegistration options are true
+	// Show Disabled Registration message if DisableRegistration or AllowOnlyExternalRegistration options are true
 	ctx.Data["DisableRegistration"] = setting.Service.DisableRegistration || setting.Service.AllowOnlyExternalRegistration
 
 	ctx.HTML(http.StatusOK, tplSignUp)
@@ -438,7 +438,7 @@ func SignUpPost(ctx *context.Context) {
 	ctx.Data["HcaptchaSitekey"] = setting.Service.HcaptchaSitekey
 	ctx.Data["PageIsSignUp"] = true
 
-	//Permission denied if DisableRegistration or AllowOnlyExternalRegistration options are true
+	// Permission denied if DisableRegistration or AllowOnlyExternalRegistration options are true
 	if setting.Service.DisableRegistration || setting.Service.AllowOnlyExternalRegistration {
 		ctx.Error(http.StatusForbidden)
 		return
diff --git a/routers/web/auth/linkaccount.go b/routers/web/auth/linkaccount.go
index 27eb954a581..bf5fb83265b 100644
--- a/routers/web/auth/linkaccount.go
+++ b/routers/web/auth/linkaccount.go
@@ -27,9 +27,7 @@ import (
 	"github.com/markbates/goth"
 )
 
-var (
-	tplLinkAccount base.TplName = "user/auth/link_account"
-)
+var tplLinkAccount base.TplName = "user/auth/link_account"
 
 // LinkAccount shows the page where the user can decide to login or create a new account
 func LinkAccount(ctx *context.Context) {
diff --git a/routers/web/auth/oauth.go b/routers/web/auth/oauth.go
index fa2b0aa65f1..7bf1adf308c 100644
--- a/routers/web/auth/oauth.go
+++ b/routers/web/auth/oauth.go
@@ -1158,5 +1158,4 @@ func oAuth2UserLoginCallback(authSource *auth.Source, request *http.Request, res
 
 	// no user found to login
 	return nil, gothUser, nil
-
 }
diff --git a/routers/web/auth/openid.go b/routers/web/auth/openid.go
index 4395641795f..e0c60695463 100644
--- a/routers/web/auth/openid.go
+++ b/routers/web/auth/openid.go
@@ -67,7 +67,6 @@ func SignInOpenID(ctx *context.Context) {
 
 // Check if the given OpenID URI is allowed by blacklist/whitelist
 func allowedOpenIDURI(uri string) (err error) {
-
 	// In case a Whitelist is present, URI must be in it
 	// in order to be accepted
 	if len(setting.Service.OpenIDWhitelist) != 0 {
@@ -144,13 +143,12 @@ func SignInOpenIDPost(ctx *context.Context) {
 
 // signInOpenIDVerify handles response from OpenID provider
 func signInOpenIDVerify(ctx *context.Context) {
-
 	log.Trace("Incoming call to: %s", ctx.Req.URL.String())
 
 	fullURL := setting.AppURL + ctx.Req.URL.String()[1:]
 	log.Trace("Full URL: %s", fullURL)
 
-	var id, err = openid.Verify(fullURL)
+	id, err := openid.Verify(fullURL)
 	if err != nil {
 		ctx.RenderWithErr(err.Error(), tplSignInOpenID, &forms.SignInOpenIDForm{
 			Openid: id,
diff --git a/routers/web/auth/webauthn.go b/routers/web/auth/webauthn.go
index 77b1bee18a8..bedbe7ddc37 100644
--- a/routers/web/auth/webauthn.go
+++ b/routers/web/auth/webauthn.go
@@ -33,7 +33,7 @@ func WebAuthn(ctx *context.Context) {
 		return
 	}
 
-	//Ensure user is in a 2FA session.
+	// Ensure user is in a 2FA session.
 	if ctx.Session.Get("twofaUid") == nil {
 		ctx.ServerError("UserSignIn", errors.New("not in WebAuthn session"))
 		return
diff --git a/routers/web/base.go b/routers/web/base.go
index fd942d3c878..f7eb003cc40 100644
--- a/routers/web/base.go
+++ b/routers/web/base.go
@@ -92,7 +92,7 @@ func storageHandler(storageSetting setting.Storage, prefix string, objStore stor
 				return
 			}
 
-			//If we have matched and access to release or issue
+			// If we have matched and access to release or issue
 			fr, err := objStore.Open(rPath)
 			if err != nil {
 				if os.IsNotExist(err) || errors.Is(err, os.ErrNotExist) {
@@ -125,7 +125,7 @@ func (d *dataStore) GetData() map[string]interface{} {
 // Recovery returns a middleware that recovers from any panics and writes a 500 and a log if so.
 // This error will be created with the gitea 500 page.
 func Recovery() func(next http.Handler) http.Handler {
-	var rnd = templates.HTMLRenderer()
+	rnd := templates.HTMLRenderer()
 	return func(next http.Handler) http.Handler {
 		return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
 			defer func() {
@@ -136,14 +136,14 @@ func Recovery() func(next http.Handler) http.Handler {
 
 					sessionStore := session.GetSession(req)
 
-					var lc = middleware.Locale(w, req)
-					var store = dataStore{
+					lc := middleware.Locale(w, req)
+					store := dataStore{
 						"Language":   lc.Language(),
 						"CurrentURL": setting.AppSubURL + req.URL.RequestURI(),
 						"i18n":       lc,
 					}
 
-					var user = context.GetContextUser(req)
+					user := context.GetContextUser(req)
 					if user == nil {
 						// Get user from session if logged in - do not attempt to sign-in
 						user = auth.SessionUser(sessionStore)
diff --git a/routers/web/explore/code.go b/routers/web/explore/code.go
index b61f25a96cb..d2acefde927 100644
--- a/routers/web/explore/code.go
+++ b/routers/web/explore/code.go
@@ -76,7 +76,7 @@ func Code(ctx *context.Context) {
 			return
 		}
 
-		var rightRepoMap = make(map[int64]*repo_model.Repository, len(repoMaps))
+		rightRepoMap := make(map[int64]*repo_model.Repository, len(repoMaps))
 		repoIDs = make([]int64, 0, len(repoMaps))
 		for id, repo := range repoMaps {
 			if models.CheckRepoUnitUser(repo, ctx.User, unit.TypeCode) {
@@ -100,7 +100,7 @@ func Code(ctx *context.Context) {
 			return
 		}
 
-		var loadRepoIDs = make([]int64, 0, len(searchResults))
+		loadRepoIDs := make([]int64, 0, len(searchResults))
 		for _, result := range searchResults {
 			var find bool
 			for _, id := range loadRepoIDs {
diff --git a/routers/web/explore/user.go b/routers/web/explore/user.go
index 27634c3d4ef..b264bf1b4a5 100644
--- a/routers/web/explore/user.go
+++ b/routers/web/explore/user.go
@@ -25,9 +25,7 @@ const (
 // UserSearchDefaultSortType is the default sort type for user search
 const UserSearchDefaultSortType = "alphabetically"
 
-var (
-	nullByte = []byte{0x00}
-)
+var nullByte = []byte{0x00}
 
 func isKeywordValid(keyword string) bool {
 	return !bytes.Contains([]byte(keyword), nullByte)
diff --git a/routers/web/org/home.go b/routers/web/org/home.go
index 43f6211af3d..cf23a1e291e 100644
--- a/routers/web/org/home.go
+++ b/routers/web/org/home.go
@@ -110,7 +110,7 @@ func Home(ctx *context.Context) {
 		return
 	}
 
-	var opts = &models.FindOrgMembersOpts{
+	opts := &models.FindOrgMembersOpts{
 		OrgID:       org.ID,
 		PublicOnly:  true,
 		ListOptions: db.ListOptions{Page: 1, PageSize: 25},
diff --git a/routers/web/org/members.go b/routers/web/org/members.go
index e9b7317c983..b8e7fa1ff53 100644
--- a/routers/web/org/members.go
+++ b/routers/web/org/members.go
@@ -31,7 +31,7 @@ func Members(ctx *context.Context) {
 		page = 1
 	}
 
-	var opts = &models.FindOrgMembersOpts{
+	opts := &models.FindOrgMembersOpts{
 		OrgID:      org.ID,
 		PublicOnly: true,
 	}
diff --git a/routers/web/org/setting.go b/routers/web/org/setting.go
index 747a5134b4b..404aac88947 100644
--- a/routers/web/org/setting.go
+++ b/routers/web/org/setting.go
@@ -117,7 +117,8 @@ func SettingsPost(ctx *context.Context) {
 	// update forks visibility
 	if visibilityChanged {
 		repos, _, err := models.GetUserRepositories(&models.SearchRepoOptions{
-			Actor: org.AsUser(), Private: true, ListOptions: db.ListOptions{Page: 1, PageSize: org.NumRepos}})
+			Actor: org.AsUser(), Private: true, ListOptions: db.ListOptions{Page: 1, PageSize: org.NumRepos},
+		})
 		if err != nil {
 			ctx.ServerError("GetRepositories", err)
 			return
diff --git a/routers/web/repo/attachment.go b/routers/web/repo/attachment.go
index 303eee24d17..4101d81ac55 100644
--- a/routers/web/repo/attachment.go
+++ b/routers/web/repo/attachment.go
@@ -100,12 +100,12 @@ func GetAttachment(ctx *context.Context) {
 		return
 	}
 
-	if repository == nil { //If not linked
-		if !(ctx.IsSigned && attach.UploaderID == ctx.User.ID) { //We block if not the uploader
+	if repository == nil { // If not linked
+		if !(ctx.IsSigned && attach.UploaderID == ctx.User.ID) { // We block if not the uploader
 			ctx.Error(http.StatusNotFound)
 			return
 		}
-	} else { //If we have the repository we check access
+	} else { // If we have the repository we check access
 		perm, err := models.GetUserRepoPermission(repository, ctx.User)
 		if err != nil {
 			ctx.Error(http.StatusInternalServerError, "GetUserRepoPermission", err.Error())
@@ -123,7 +123,7 @@ func GetAttachment(ctx *context.Context) {
 	}
 
 	if setting.Attachment.ServeDirect {
-		//If we have a signed url (S3, object storage), redirect to this directly.
+		// If we have a signed url (S3, object storage), redirect to this directly.
 		u, err := storage.Attachments.URL(attach.RelativePath(), attach.Name)
 
 		if u != nil && err == nil {
@@ -136,7 +136,7 @@ func GetAttachment(ctx *context.Context) {
 		return
 	}
 
-	//If we have matched and access to release or issue
+	// If we have matched and access to release or issue
 	fr, err := storage.Attachments.Open(attach.RelativePath())
 	if err != nil {
 		ctx.ServerError("Open", err)
diff --git a/routers/web/repo/blame.go b/routers/web/repo/blame.go
index bff6a039e88..588e432e3aa 100644
--- a/routers/web/repo/blame.go
+++ b/routers/web/repo/blame.go
@@ -233,12 +233,12 @@ func renderBlame(ctx *context.Context, blameParts []git.BlamePart, commitNames m
 			language = ""
 		}
 	}
-	var lines = make([]string, 0)
+	lines := make([]string, 0)
 	rows := make([]*blameRow, 0)
 	escapeStatus := charset.EscapeStatus{}
 
-	var i = 0
-	var commitCnt = 0
+	i := 0
+	commitCnt := 0
 	for _, part := range blameParts {
 		for index, line := range part.Lines {
 			i++
diff --git a/routers/web/repo/branch.go b/routers/web/repo/branch.go
index ed1b2a9b1a7..5d19fd11854 100644
--- a/routers/web/repo/branch.go
+++ b/routers/web/repo/branch.go
@@ -203,7 +203,7 @@ func loadBranches(ctx *context.Context, skip, limit int) (*Branch, []*Branch, in
 			continue
 		}
 
-		var branch = loadOneBranch(ctx, rawBranches[i], defaultBranch, protectedBranches, repoIDToRepo, repoIDToGitRepo)
+		branch := loadOneBranch(ctx, rawBranches[i], defaultBranch, protectedBranches, repoIDToRepo, repoIDToGitRepo)
 		if branch == nil {
 			return nil, nil, 0
 		}
diff --git a/routers/web/repo/compare.go b/routers/web/repo/compare.go
index 22e6be20212..cdb6f9d7fec 100644
--- a/routers/web/repo/compare.go
+++ b/routers/web/repo/compare.go
@@ -111,7 +111,7 @@ func setCsvCompareContext(ctx *context.Context) {
 		Error    string
 	}
 
-	ctx.Data["CreateCsvDiff"] = func(diffFile *gitdiff.DiffFile, baseCommit *git.Commit, headCommit *git.Commit) CsvDiffResult {
+	ctx.Data["CreateCsvDiff"] = func(diffFile *gitdiff.DiffFile, baseCommit, headCommit *git.Commit) CsvDiffResult {
 		if diffFile == nil || baseCommit == nil || headCommit == nil {
 			return CsvDiffResult{nil, ""}
 		}
@@ -541,8 +541,8 @@ func ParseCompareInfo(ctx *context.Context) *CompareInfo {
 func PrepareCompareDiff(
 	ctx *context.Context,
 	ci *CompareInfo,
-	whitespaceBehavior string) bool {
-
+	whitespaceBehavior string,
+) bool {
 	var (
 		repo  = ctx.Repo.Repository
 		err   error
@@ -839,7 +839,8 @@ func ExcerptBlob(ctx *context.Context) {
 				RightIdx:      idxRight,
 				LeftHunkSize:  leftHunkSize,
 				RightHunkSize: rightHunkSize,
-			}}
+			},
+		}
 		if direction == "up" {
 			section.Lines = append([]*gitdiff.DiffLine{lineSection}, section.Lines...)
 		} else if direction == "down" {
diff --git a/routers/web/repo/download.go b/routers/web/repo/download.go
index 430de24c693..72d34cb9379 100644
--- a/routers/web/repo/download.go
+++ b/routers/web/repo/download.go
@@ -52,7 +52,7 @@ func ServeBlobOrLFS(ctx *context.Context, blob *git.Blob) error {
 		}
 
 		if setting.LFS.ServeDirect {
-			//If we have a signed url (S3, object storage), redirect to this directly.
+			// If we have a signed url (S3, object storage), redirect to this directly.
 			u, err := storage.LFS.URL(pointer.RelativePath(), blob.Name())
 			if u != nil && err == nil {
 				ctx.Redirect(u.String())
diff --git a/routers/web/repo/editor_test.go b/routers/web/repo/editor_test.go
index 77f94ff5501..ab7532ebb5a 100644
--- a/routers/web/repo/editor_test.go
+++ b/routers/web/repo/editor_test.go
@@ -17,7 +17,7 @@ import (
 func TestCleanUploadName(t *testing.T) {
 	unittest.PrepareTestEnv(t)
 
-	var kases = map[string]string{
+	kases := map[string]string{
 		".git/refs/master":               "",
 		"/root/abc":                      "root/abc",
 		"./../../abc":                    "abc",
diff --git a/routers/web/repo/http.go b/routers/web/repo/http.go
index 5e738439208..3805ceea76d 100644
--- a/routers/web/repo/http.go
+++ b/routers/web/repo/http.go
@@ -104,7 +104,7 @@ func httpBase(ctx *context.Context) (h *serviceHandler) {
 	}
 
 	isWiki := false
-	var unitType = unit.TypeCode
+	unitType := unit.TypeCode
 	var wikiRepoName string
 	if strings.HasSuffix(reponame, ".wiki") {
 		isWiki = true
@@ -457,7 +457,6 @@ func serviceRPC(ctx gocontext.Context, h serviceHandler, service string) {
 		if err := h.r.Body.Close(); err != nil {
 			log.Error("serviceRPC: Close: %v", err)
 		}
-
 	}()
 
 	if !hasAccess(ctx, service, h, true) {
@@ -468,7 +467,7 @@ func serviceRPC(ctx gocontext.Context, h serviceHandler, service string) {
 	h.w.Header().Set("Content-Type", fmt.Sprintf("application/x-git-%s-result", service))
 
 	var err error
-	var reqBody = h.r.Body
+	reqBody := h.r.Body
 
 	// Handle GZIP.
 	if h.r.Header.Get("Content-Encoding") == "gzip" {
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go
index ba871127f71..aff5fa84985 100644
--- a/routers/web/repo/issue.go
+++ b/routers/web/repo/issue.go
@@ -57,17 +57,15 @@ const (
 	issueTemplateTitleKey = "IssueTemplateTitle"
 )
 
-var (
-	// IssueTemplateCandidates issue templates
-	IssueTemplateCandidates = []string{
-		"ISSUE_TEMPLATE.md",
-		"issue_template.md",
-		".gitea/ISSUE_TEMPLATE.md",
-		".gitea/issue_template.md",
-		".github/ISSUE_TEMPLATE.md",
-		".github/issue_template.md",
-	}
-)
+// IssueTemplateCandidates issue templates
+var IssueTemplateCandidates = []string{
+	"ISSUE_TEMPLATE.md",
+	"issue_template.md",
+	".gitea/ISSUE_TEMPLATE.md",
+	".gitea/issue_template.md",
+	".github/ISSUE_TEMPLATE.md",
+	".github/issue_template.md",
+}
 
 // MustAllowUserComment checks to make sure if an issue is locked.
 // If locked and user has permissions to write to the repository,
@@ -245,7 +243,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
 		}
 	}
 
-	var issueList = models.IssueList(issues)
+	issueList := models.IssueList(issues)
 	approvalCounts, err := issueList.GetApprovalCounts()
 	if err != nil {
 		ctx.ServerError("ApprovalCounts", err)
@@ -311,8 +309,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
 		assigneeID = 0 // Reset ID to prevent unexpected selection of assignee.
 	}
 
-	ctx.Data["IssueRefEndNames"], ctx.Data["IssueRefURLs"] =
-		issue_service.GetRefEndNamesAndURLs(issues, ctx.Repo.RepoLink)
+	ctx.Data["IssueRefEndNames"], ctx.Data["IssueRefURLs"] = issue_service.GetRefEndNamesAndURLs(issues, ctx.Repo.RepoLink)
 
 	ctx.Data["ApprovalCounts"] = func(issueID int64, typ string) int64 {
 		counts, ok := approvalCounts[issueID]
@@ -442,7 +439,6 @@ func RetrieveRepoMilestonesAndAssignees(ctx *context.Context, repo *repo_model.R
 }
 
 func retrieveProjects(ctx *context.Context, repo *repo_model.Repository) {
-
 	var err error
 
 	ctx.Data["OpenProjects"], _, err = models.GetProjects(models.ProjectSearchOptions{
@@ -2508,7 +2504,7 @@ func filterXRefComments(ctx *context.Context, issue *models.Issue) error {
 // GetIssueAttachments returns attachments for the issue
 func GetIssueAttachments(ctx *context.Context) {
 	issue := GetActionIssue(ctx)
-	var attachments = make([]*api.Attachment, len(issue.Attachments))
+	attachments := make([]*api.Attachment, len(issue.Attachments))
 	for i := 0; i < len(issue.Attachments); i++ {
 		attachments[i] = convert.ToReleaseAttachment(issue.Attachments[i])
 	}
@@ -2522,7 +2518,7 @@ func GetCommentAttachments(ctx *context.Context) {
 		ctx.NotFoundOrServerError("GetCommentByID", models.IsErrCommentNotExist, err)
 		return
 	}
-	var attachments = make([]*api.Attachment, 0)
+	attachments := make([]*api.Attachment, 0)
 	if comment.Type == models.CommentTypeComment {
 		if err := comment.LoadAttachments(); err != nil {
 			ctx.ServerError("LoadAttachments", err)
@@ -2667,7 +2663,7 @@ func handleTeamMentions(ctx *context.Context) {
 	var isAdmin bool
 	var err error
 	var teams []*models.Team
-	var org = models.OrgFromUser(ctx.Repo.Owner)
+	org := models.OrgFromUser(ctx.Repo.Owner)
 	// Admin has super access.
 	if ctx.User.IsAdmin {
 		isAdmin = true
diff --git a/routers/web/repo/issue_content_history.go b/routers/web/repo/issue_content_history.go
index 08eb98acb87..75951ca25b9 100644
--- a/routers/web/repo/issue_content_history.go
+++ b/routers/web/repo/issue_content_history.go
@@ -83,8 +83,8 @@ func GetContentHistoryList(ctx *context.Context) {
 // canSoftDeleteContentHistory checks whether current user can soft-delete a history revision
 // Admins or owners can always delete history revisions. Normal users can only delete own history revisions.
 func canSoftDeleteContentHistory(ctx *context.Context, issue *models.Issue, comment *models.Comment,
-	history *issuesModel.ContentHistory) bool {
-
+	history *issuesModel.ContentHistory,
+) bool {
 	canSoftDelete := false
 	if ctx.Repo.IsOwner() {
 		canSoftDelete = true
@@ -103,7 +103,7 @@ func canSoftDeleteContentHistory(ctx *context.Context, issue *models.Issue, comm
 	return canSoftDelete
 }
 
-//GetContentHistoryDetail get detail
+// GetContentHistoryDetail get detail
 func GetContentHistoryDetail(ctx *context.Context) {
 	issue := GetActionIssue(ctx)
 	if issue == nil {
@@ -169,7 +169,7 @@ func GetContentHistoryDetail(ctx *context.Context) {
 	})
 }
 
-//SoftDeleteContentHistory soft delete
+// SoftDeleteContentHistory soft delete
 func SoftDeleteContentHistory(ctx *context.Context) {
 	issue := GetActionIssue(ctx)
 	if issue == nil {
diff --git a/routers/web/repo/issue_lock.go b/routers/web/repo/issue_lock.go
index 36894b4be3b..103b60c65d7 100644
--- a/routers/web/repo/issue_lock.go
+++ b/routers/web/repo/issue_lock.go
@@ -48,7 +48,6 @@ func LockIssue(ctx *context.Context) {
 
 // UnlockIssue unlocks a previously locked issue.
 func UnlockIssue(ctx *context.Context) {
-
 	issue := GetActionIssue(ctx)
 	if ctx.Written() {
 		return
diff --git a/routers/web/repo/issue_test.go b/routers/web/repo/issue_test.go
index b8862cf43dc..debd2a8a3ce 100644
--- a/routers/web/repo/issue_test.go
+++ b/routers/web/repo/issue_test.go
@@ -13,7 +13,7 @@ import (
 )
 
 func TestCombineLabelComments(t *testing.T) {
-	var kases = []struct {
+	kases := []struct {
 		name           string
 		beforeCombined []*models.Comment
 		afterCombined  []*models.Comment
@@ -366,7 +366,7 @@ func TestCombineLabelComments(t *testing.T) {
 
 	for _, kase := range kases {
 		t.Run(kase.name, func(t *testing.T) {
-			var issue = models.Issue{
+			issue := models.Issue{
 				Comments: kase.beforeCombined,
 			}
 			combineLabelComments(&issue)
diff --git a/routers/web/repo/lfs.go b/routers/web/repo/lfs.go
index 6b5e1dd6241..2cb4330c082 100644
--- a/routers/web/repo/lfs.go
+++ b/routers/web/repo/lfs.go
@@ -305,7 +305,7 @@ func LFSFileGet(ctx *context.Context) {
 
 		var output bytes.Buffer
 		lines := strings.Split(escapedContent.String(), "\n")
-		//Remove blank line at the end of file
+		// Remove blank line at the end of file
 		if len(lines) > 0 && lines[len(lines)-1] == "" {
 			lines = lines[:len(lines)-1]
 		}
@@ -536,7 +536,7 @@ func LFSAutoAssociate(ctx *context.Context) {
 			return
 		}
 		metas[i].Oid = oid[:idx]
-		//metas[i].RepositoryID = ctx.Repo.Repository.ID
+		// metas[i].RepositoryID = ctx.Repo.Repository.ID
 	}
 	if err := models.LFSAutoAssociate(metas, ctx.User, ctx.Repo.Repository.ID); err != nil {
 		ctx.ServerError("LFSAutoAssociate", err)
diff --git a/routers/web/repo/migrate.go b/routers/web/repo/migrate.go
index 23e5b21b480..9a31d809d4b 100644
--- a/routers/web/repo/migrate.go
+++ b/routers/web/repo/migrate.go
@@ -203,7 +203,7 @@ func MigratePost(ctx *context.Context) {
 		}
 	}
 
-	var opts = migrations.MigrateOptions{
+	opts := migrations.MigrateOptions{
 		OriginalURL:    form.CloneAddr,
 		GitServiceType: form.Service,
 		CloneAddr:      remoteAddr,
diff --git a/routers/web/repo/projects.go b/routers/web/repo/projects.go
index f6be8add0b0..3836a00d040 100644
--- a/routers/web/repo/projects.go
+++ b/routers/web/repo/projects.go
@@ -531,7 +531,6 @@ func EditProjectBoard(ctx *context.Context) {
 
 // SetDefaultProjectBoard set default board for uncategorized issues/pulls
 func SetDefaultProjectBoard(ctx *context.Context) {
-
 	project, board := checkProjectBoardChangePermissions(ctx)
 	if ctx.Written() {
 		return
diff --git a/routers/web/repo/pull.go b/routers/web/repo/pull.go
index 517156863eb..0aea66ca677 100644
--- a/routers/web/repo/pull.go
+++ b/routers/web/repo/pull.go
@@ -48,16 +48,14 @@ const (
 	pullRequestTemplateKey = "PullRequestTemplate"
 )
 
-var (
-	pullRequestTemplateCandidates = []string{
-		"PULL_REQUEST_TEMPLATE.md",
-		"pull_request_template.md",
-		".gitea/PULL_REQUEST_TEMPLATE.md",
-		".gitea/pull_request_template.md",
-		".github/PULL_REQUEST_TEMPLATE.md",
-		".github/pull_request_template.md",
-	}
-)
+var pullRequestTemplateCandidates = []string{
+	"PULL_REQUEST_TEMPLATE.md",
+	"pull_request_template.md",
+	".gitea/PULL_REQUEST_TEMPLATE.md",
+	".gitea/pull_request_template.md",
+	".github/PULL_REQUEST_TEMPLATE.md",
+	".github/pull_request_template.md",
+}
 
 func getRepository(ctx *context.Context, repoID int64) *repo_model.Repository {
 	repo, err := repo_model.GetRepositoryByID(repoID)
@@ -125,7 +123,7 @@ func getForkRepository(ctx *context.Context) *repo_model.Repository {
 		}
 	}
 
-	var traverseParentRepo = forkRepo
+	traverseParentRepo := forkRepo
 	for {
 		if ctx.User.ID == traverseParentRepo.OwnerID {
 			canForkToUser = false
@@ -195,7 +193,7 @@ func ForkPost(ctx *context.Context) {
 	}
 
 	var err error
-	var traverseParentRepo = forkRepo
+	traverseParentRepo := forkRepo
 	for {
 		if ctxUser.ID == traverseParentRepo.OwnerID {
 			ctx.RenderWithErr(ctx.Tr("repo.settings.new_owner_has_same_repo"), tplFork, &form)
@@ -1085,7 +1083,6 @@ func MergePullRequest(ctx *context.Context) {
 }
 
 func stopTimerIfAvailable(user *user_model.User, issue *models.Issue) error {
-
 	if models.StopwatchExists(user.ID, issue.ID) {
 		if err := models.CreateOrStopIssueStopwatch(user, issue); err != nil {
 			return err
diff --git a/routers/web/repo/release.go b/routers/web/repo/release.go
index 13623e15ef3..4f58ac95460 100644
--- a/routers/web/repo/release.go
+++ b/routers/web/repo/release.go
@@ -481,7 +481,7 @@ func EditReleasePost(ctx *context.Context) {
 	const delPrefix = "attachment-del-"
 	const editPrefix = "attachment-edit-"
 	var addAttachmentUUIDs, delAttachmentUUIDs []string
-	var editAttachments = make(map[string]string) // uuid -> new name
+	editAttachments := make(map[string]string) // uuid -> new name
 	if setting.Attachment.Enabled {
 		addAttachmentUUIDs = form.Files
 		for k, v := range ctx.Req.Form {
diff --git a/routers/web/repo/repo.go b/routers/web/repo/repo.go
index 6bd16ff2b86..89ebef3a59e 100644
--- a/routers/web/repo/repo.go
+++ b/routers/web/repo/repo.go
@@ -410,7 +410,7 @@ func Download(ctx *context.Context) {
 	}
 
 	var times int
-	var t = time.NewTicker(time.Second * 1)
+	t := time.NewTicker(time.Second * 1)
 	defer t.Stop()
 
 	for {
@@ -447,7 +447,7 @@ func download(ctx *context.Context, archiveName string, archiver *repo_model.Rep
 	}
 
 	if setting.RepoArchive.ServeDirect {
-		//If we have a signed url (S3, object storage), redirect to this directly.
+		// If we have a signed url (S3, object storage), redirect to this directly.
 		u, err := storage.RepoArchives.URL(rPath, downloadName)
 		if u != nil && err == nil {
 			ctx.Redirect(u.String())
@@ -455,7 +455,7 @@ func download(ctx *context.Context, archiveName string, archiver *repo_model.Rep
 		}
 	}
 
-	//If we have matched and access to release or issue
+	// If we have matched and access to release or issue
 	fr, err := storage.RepoArchives.Open(rPath)
 	if err != nil {
 		ctx.ServerError("Open", err)
diff --git a/routers/web/repo/settings_test.go b/routers/web/repo/settings_test.go
index 5b62e1ed16f..bd29eca1955 100644
--- a/routers/web/repo/settings_test.go
+++ b/routers/web/repo/settings_test.go
@@ -100,7 +100,6 @@ func TestAddReadWriteOnlyDeployKey(t *testing.T) {
 }
 
 func TestCollaborationPost(t *testing.T) {
-
 	unittest.PrepareTestEnv(t)
 	ctx := test.MockContext(t, "user2/repo1/issues/labels")
 	test.LoadUser(t, ctx, 2)
@@ -136,7 +135,6 @@ func TestCollaborationPost(t *testing.T) {
 }
 
 func TestCollaborationPost_InactiveUser(t *testing.T) {
-
 	unittest.PrepareTestEnv(t)
 	ctx := test.MockContext(t, "user2/repo1/issues/labels")
 	test.LoadUser(t, ctx, 2)
@@ -160,7 +158,6 @@ func TestCollaborationPost_InactiveUser(t *testing.T) {
 }
 
 func TestCollaborationPost_AddCollaboratorTwice(t *testing.T) {
-
 	unittest.PrepareTestEnv(t)
 	ctx := test.MockContext(t, "user2/repo1/issues/labels")
 	test.LoadUser(t, ctx, 2)
@@ -202,7 +199,6 @@ func TestCollaborationPost_AddCollaboratorTwice(t *testing.T) {
 }
 
 func TestCollaborationPost_NonExistentUser(t *testing.T) {
-
 	unittest.PrepareTestEnv(t)
 	ctx := test.MockContext(t, "user2/repo1/issues/labels")
 	test.LoadUser(t, ctx, 2)
@@ -302,7 +298,6 @@ func TestAddTeamPost_NotAllowed(t *testing.T) {
 	assert.False(t, team.HasRepository(re.ID))
 	assert.EqualValues(t, http.StatusFound, ctx.Resp.Status())
 	assert.NotEmpty(t, ctx.Flash.ErrorMsg)
-
 }
 
 func TestAddTeamPost_AddTeamTwice(t *testing.T) {
diff --git a/routers/web/repo/topic.go b/routers/web/repo/topic.go
index 810b241e28d..a6a7ac6c8e3 100644
--- a/routers/web/repo/topic.go
+++ b/routers/web/repo/topic.go
@@ -22,8 +22,8 @@ func TopicsPost(ctx *context.Context) {
 		return
 	}
 
-	var topics = make([]string, 0)
-	var topicsStr = ctx.FormTrim("topics")
+	topics := make([]string, 0)
+	topicsStr := ctx.FormTrim("topics")
 	if len(topicsStr) > 0 {
 		topics = strings.Split(topicsStr, ",")
 	}
diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go
index e8c02b64b87..150ace212b3 100644
--- a/routers/web/repo/view.go
+++ b/routers/web/repo/view.go
@@ -77,7 +77,7 @@ func getReadmeFileFromPath(commit *git.Commit, treePath string) (*namedBlob, err
 	}
 
 	var readmeFiles [4]*namedBlob
-	var exts = []string{".md", ".txt", ""} // sorted by priority
+	exts := []string{".md", ".txt", ""} // sorted by priority
 	for _, entry := range entries {
 		if entry.IsDir() {
 			continue
@@ -150,7 +150,7 @@ func renderDirectory(ctx *context.Context, treeLink string) {
 	// strictly match an extension
 	var readmeFiles [4]*namedBlob
 	var docsEntries [3]*git.TreeEntry
-	var exts = []string{".md", ".txt", ""} // sorted by priority
+	exts := []string{".md", ".txt", ""} // sorted by priority
 	for _, entry := range entries {
 		if entry.IsDir() {
 			lowerName := strings.ToLower(entry.Name())
@@ -368,7 +368,6 @@ func renderDirectory(ctx *context.Context, treeLink string) {
 		ctx.Data["CanAddFile"] = !ctx.Repo.Repository.IsArchived
 		ctx.Data["CanUploadFile"] = setting.Repository.Upload.Enabled && !ctx.Repo.Repository.IsArchived
 	}
-
 }
 
 func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink string) {
@@ -399,7 +398,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
 	isDisplayingSource := ctx.FormString("display") == "source"
 	isDisplayingRendered := !isDisplayingSource
 
-	//Check for LFS meta file
+	// Check for LFS meta file
 	if isTextFile && setting.LFS.StartServer {
 		pointer, _ := lfs.ReadPointerFromBuffer(buf)
 		if pointer.IsValid() {
diff --git a/routers/web/repo/wiki.go b/routers/web/repo/wiki.go
index e57aa5ec295..633458081f8 100644
--- a/routers/web/repo/wiki.go
+++ b/routers/web/repo/wiki.go
@@ -191,7 +191,7 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
 	ctx.Data["title"] = pageName
 	ctx.Data["RequireHighlightJS"] = true
 
-	//lookup filename in wiki - get filecontent, gitTree entry , real filename
+	// lookup filename in wiki - get filecontent, gitTree entry , real filename
 	data, entry, pageFilename, noEntry := wikiContentsByName(ctx, commit, pageName)
 	if noEntry {
 		ctx.Redirect(ctx.Repo.RepoLink + "/wiki/?action=_pages")
@@ -219,7 +219,7 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
 		return nil, nil
 	}
 
-	var rctx = &markup.RenderContext{
+	rctx := &markup.RenderContext{
 		Ctx:       ctx,
 		URLPrefix: ctx.Repo.RepoLink,
 		Metas:     ctx.Repo.Repository.ComposeDocumentMetas(),
@@ -291,7 +291,7 @@ func renderRevisionPage(ctx *context.Context) (*git.Repository, *git.TreeEntry)
 	ctx.Data["Username"] = ctx.Repo.Owner.Name
 	ctx.Data["Reponame"] = ctx.Repo.Repository.Name
 
-	//lookup filename in wiki - get filecontent, gitTree entry , real filename
+	// lookup filename in wiki - get filecontent, gitTree entry , real filename
 	data, entry, pageFilename, noEntry := wikiContentsByName(ctx, commit, pageName)
 	if noEntry {
 		ctx.Redirect(ctx.Repo.RepoLink + "/wiki/?action=_pages")
@@ -365,7 +365,7 @@ func renderEditPage(ctx *context.Context) {
 	ctx.Data["title"] = pageName
 	ctx.Data["RequireHighlightJS"] = true
 
-	//lookup filename in wiki - get filecontent, gitTree entry , real filename
+	// lookup filename in wiki - get filecontent, gitTree entry , real filename
 	data, entry, _, noEntry := wikiContentsByName(ctx, commit, pageName)
 	if noEntry {
 		ctx.Redirect(ctx.Repo.RepoLink + "/wiki/?action=_pages")
diff --git a/routers/web/repo/wiki_test.go b/routers/web/repo/wiki_test.go
index 1bfda50d193..b19c628a9f5 100644
--- a/routers/web/repo/wiki_test.go
+++ b/routers/web/repo/wiki_test.go
@@ -20,8 +20,10 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
-const content = "Wiki contents for unit tests"
-const message = "Wiki commit message for unit tests"
+const (
+	content = "Wiki contents for unit tests"
+	message = "Wiki commit message for unit tests"
+)
 
 func wikiEntry(t *testing.T, repo *repo_model.Repository, wikiName string) *git.TreeEntry {
 	wikiRepo, err := git.OpenRepository(repo.WikiPath())
diff --git a/routers/web/user/home.go b/routers/web/user/home.go
index 04459573af0..13fa9bd8c4f 100644
--- a/routers/web/user/home.go
+++ b/routers/web/user/home.go
@@ -197,7 +197,7 @@ func Milestones(ctx *context.Context) {
 		if issueReposQueryPattern.MatchString(reposQuery) {
 			// remove "[" and "]" from string
 			reposQuery = reposQuery[1 : len(reposQuery)-1]
-			//for each ID (delimiter ",") add to int to repoIDs
+			// for each ID (delimiter ",") add to int to repoIDs
 
 			for _, rID := range strings.Split(reposQuery, ",") {
 				// Ensure nonempty string entries
@@ -350,7 +350,6 @@ func Issues(ctx *context.Context) {
 var issueReposQueryPattern = regexp.MustCompile(`^\[\d+(,\d+)*,?\]$`)
 
 func buildIssueOverview(ctx *context.Context, unitType unit.Type) {
-
 	// ----------------------------------------------------
 	// Determine user; can be either user or organization.
 	// Return with NotFound or ServerError if unsuccessful.
@@ -586,8 +585,7 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {
 
 	ctx.Data["IsShowClosed"] = isShowClosed
 
-	ctx.Data["IssueRefEndNames"], ctx.Data["IssueRefURLs"] =
-		issue_service.GetRefEndNamesAndURLs(issues, ctx.FormString("RepoLink"))
+	ctx.Data["IssueRefEndNames"], ctx.Data["IssueRefURLs"] = issue_service.GetRefEndNamesAndURLs(issues, ctx.FormString("RepoLink"))
 
 	ctx.Data["Issues"] = issues
 
@@ -661,7 +659,7 @@ func getRepoIDs(reposQuery string) []int64 {
 	var repoIDs []int64
 	// remove "[" and "]" from string
 	reposQuery = reposQuery[1 : len(reposQuery)-1]
-	//for each ID (delimiter ",") add to int to repoIDs
+	// for each ID (delimiter ",") add to int to repoIDs
 	for _, rID := range strings.Split(reposQuery, ",") {
 		// Ensure nonempty string entries
 		if rID != "" && rID != "0" {
@@ -693,8 +691,8 @@ func issueIDsFromSearch(ctxUser *user_model.User, keyword string, opts *models.I
 }
 
 func loadRepoByIDs(ctxUser *user_model.User, issueCountByRepo map[int64]int64, unitType unit.Type) (map[int64]*repo_model.Repository, error) {
-	var totalRes = make(map[int64]*repo_model.Repository, len(issueCountByRepo))
-	var repoIDs = make([]int64, 0, 500)
+	totalRes := make(map[int64]*repo_model.Repository, len(issueCountByRepo))
+	repoIDs := make([]int64, 0, 500)
 	for id := range issueCountByRepo {
 		if id <= 0 {
 			continue
@@ -745,7 +743,7 @@ func ShowGPGKeys(ctx *context.Context, uid int64) {
 		if err != nil {
 			if asymkey_model.IsErrGPGKeyImportNotExist(err) {
 				failedEntitiesID = append(failedEntitiesID, k.KeyID)
-				continue //Skip previous import without backup of imported armored key
+				continue // Skip previous import without backup of imported armored key
 			}
 			ctx.ServerError("ShowGPGKeys", err)
 			return
@@ -755,12 +753,12 @@ func ShowGPGKeys(ctx *context.Context, uid int64) {
 	var buf bytes.Buffer
 
 	headers := make(map[string]string)
-	if len(failedEntitiesID) > 0 { //If some key need re-import to be exported
+	if len(failedEntitiesID) > 0 { // If some key need re-import to be exported
 		headers["Note"] = fmt.Sprintf("The keys with the following IDs couldn't be exported and need to be reuploaded %s", strings.Join(failedEntitiesID, ", "))
 	}
 	writer, _ := armor.Encode(&buf, "PGP PUBLIC KEY BLOCK", headers)
 	for _, e := range entities {
-		err = e.Serialize(writer) //TODO find why key are exported with a different cipherTypeByte as original (should not be blocking but strange)
+		err = e.Serialize(writer) // TODO find why key are exported with a different cipherTypeByte as original (should not be blocking but strange)
 		if err != nil {
 			ctx.ServerError("ShowGPGKeys", err)
 			return
diff --git a/routers/web/user/profile.go b/routers/web/user/profile.go
index 40fc44ed14a..86ecb7c02c8 100644
--- a/routers/web/user/profile.go
+++ b/routers/web/user/profile.go
@@ -258,7 +258,8 @@ func Profile(ctx *context.Context) {
 
 		total = ctxUser.NumFollowing
 	case "activity":
-		ctx.Data["Feeds"] = feed.RetrieveFeeds(ctx, models.GetFeedsOptions{RequestedUser: ctxUser,
+		ctx.Data["Feeds"] = feed.RetrieveFeeds(ctx, models.GetFeedsOptions{
+			RequestedUser:   ctxUser,
 			Actor:           ctx.User,
 			IncludePrivate:  showPrivate,
 			OnlyPerformedBy: true,
diff --git a/routers/web/user/setting/account_test.go b/routers/web/user/setting/account_test.go
index cd5c77795ea..a67d09e9edc 100644
--- a/routers/web/user/setting/account_test.go
+++ b/routers/web/user/setting/account_test.go
@@ -20,9 +20,9 @@ import (
 func TestChangePassword(t *testing.T) {
 	oldPassword := "password"
 	setting.MinPasswordLength = 6
-	var pcALL = []string{"lower", "upper", "digit", "spec"}
-	var pcLUN = []string{"lower", "upper", "digit"}
-	var pcLU = []string{"lower", "upper"}
+	pcALL := []string{"lower", "upper", "digit", "spec"}
+	pcLUN := []string{"lower", "upper", "digit"}
+	pcLU := []string{"lower", "upper"}
 
 	for _, req := range []struct {
 		OldPassword        string
diff --git a/routers/web/user/setting/keys.go b/routers/web/user/setting/keys.go
index 26bbf7c1953..f926c1f3112 100644
--- a/routers/web/user/setting/keys.go
+++ b/routers/web/user/setting/keys.go
@@ -211,7 +211,6 @@ func KeysPost(ctx *context.Context) {
 		ctx.Flash.Warning("Function not implemented")
 		ctx.Redirect(setting.AppSubURL + "/user/settings/keys")
 	}
-
 }
 
 // DeleteKey response for delete user's SSH/GPG key
diff --git a/routers/web/user/setting/profile.go b/routers/web/user/setting/profile.go
index ab156b43fc7..3a61f2f92a6 100644
--- a/routers/web/user/setting/profile.go
+++ b/routers/web/user/setting/profile.go
@@ -415,5 +415,4 @@ func UpdateUserLang(ctx *context.Context) {
 	log.Trace("User settings updated: %s", ctx.User.Name)
 	ctx.Flash.Success(i18n.Tr(ctx.User.Language, "settings.update_language_success"))
 	ctx.Redirect(setting.AppSubURL + "/user/settings/appearance")
-
 }
diff --git a/routers/web/web.go b/routers/web/web.go
index e934095b791..698f91b8caf 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -56,9 +56,9 @@ const (
 func CorsHandler() func(next http.Handler) http.Handler {
 	if setting.CORSConfig.Enabled {
 		return cors.Handler(cors.Options{
-			//Scheme:           setting.CORSConfig.Scheme, // FIXME: the cors middleware needs scheme option
+			// Scheme:           setting.CORSConfig.Scheme, // FIXME: the cors middleware needs scheme option
 			AllowedOrigins: setting.CORSConfig.AllowDomain,
-			//setting.CORSConfig.AllowSubdomain // FIXME: the cors middleware needs allowSubdomain option
+			// setting.CORSConfig.AllowSubdomain // FIXME: the cors middleware needs allowSubdomain option
 			AllowedMethods:   setting.CORSConfig.Methods,
 			AllowCredentials: setting.CORSConfig.AllowCredentials,
 			MaxAge:           int(setting.CORSConfig.MaxAge.Seconds()),
@@ -459,7 +459,6 @@ func RegisterRoutes(m *web.Route) {
 			m.Post("/msteams/new", bindIgnErr(forms.NewMSTeamsHookForm{}), repo.MSTeamsHooksNewPost)
 			m.Post("/feishu/new", bindIgnErr(forms.NewFeishuHookForm{}), repo.FeishuHooksNewPost)
 			m.Post("/wechatwork/new", bindIgnErr(forms.NewWechatWorkHookForm{}), repo.WechatworkHooksNewPost)
-
 		})
 
 		m.Group("/auths", func() {
@@ -691,7 +690,6 @@ func RegisterRoutes(m *web.Route) {
 					m.Post("/{lid}/unlock", repo.LFSUnlock)
 				})
 			})
-
 		}, func(ctx *context.Context) {
 			ctx.Data["PageIsSettings"] = true
 			ctx.Data["LFSStartServer"] = setting.LFS.StartServer
@@ -818,7 +816,6 @@ func RegisterRoutes(m *web.Route) {
 			m.Post("/delete", repo.DeleteBranchPost)
 			m.Post("/restore", repo.RestoreBranchPost)
 		}, context.RepoMustNotBeArchived(), reqRepoCodeWriter, repo.MustBeNotEmpty)
-
 	}, reqSignIn, context.RepoAssignment, context.UnitTypes())
 
 	// Releases
@@ -857,7 +854,6 @@ func RegisterRoutes(m *web.Route) {
 			}
 			ctx.Data["CommitsCount"] = ctx.Repo.CommitsCount
 		})
-
 	}, ignSignIn, context.RepoAssignment, context.UnitTypes(), reqRepoReleaseReader)
 
 	// to maintain compatibility with old attachments
@@ -1085,5 +1081,4 @@ func RegisterRoutes(m *web.Route) {
 		ctx := context.GetContext(req)
 		ctx.NotFound("", nil)
 	})
-
 }
diff --git a/services/auth/auth.go b/services/auth/auth.go
index 3eb7f027d2e..bdff777f506 100644
--- a/services/auth/auth.go
+++ b/services/auth/auth.go
@@ -95,8 +95,10 @@ func isAttachmentDownload(req *http.Request) bool {
 	return strings.HasPrefix(req.URL.Path, "/attachments/") && req.Method == "GET"
 }
 
-var gitRawReleasePathRe = regexp.MustCompile(`^/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/(?:(?:git-(?:(?:upload)|(?:receive))-pack$)|(?:info/refs$)|(?:HEAD$)|(?:objects/)|(?:raw/)|(?:releases/download/))`)
-var lfsPathRe = regexp.MustCompile(`^/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/info/lfs/`)
+var (
+	gitRawReleasePathRe = regexp.MustCompile(`^/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/(?:(?:git-(?:(?:upload)|(?:receive))-pack$)|(?:info/refs$)|(?:HEAD$)|(?:objects/)|(?:raw/)|(?:releases/download/))`)
+	lfsPathRe           = regexp.MustCompile(`^/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/info/lfs/`)
+)
 
 func isGitRawReleaseOrLFSPath(req *http.Request) bool {
 	if gitRawReleasePathRe.MatchString(req.URL.Path) {
diff --git a/services/auth/auth_test.go b/services/auth/auth_test.go
index b0d23bb4e9d..8a9dee6cefe 100644
--- a/services/auth/auth_test.go
+++ b/services/auth/auth_test.go
@@ -13,7 +13,6 @@ import (
 )
 
 func Test_isGitRawOrLFSPath(t *testing.T) {
-
 	tests := []struct {
 		path string
 
diff --git a/services/auth/basic.go b/services/auth/basic.go
index e2448eeca07..d8667c65d55 100644
--- a/services/auth/basic.go
+++ b/services/auth/basic.go
@@ -30,8 +30,7 @@ const BasicMethodName = "basic"
 // Basic implements the Auth interface and authenticates requests (API requests
 // only) by looking for Basic authentication data or "x-oauth-basic" token in the "Authorization"
 // header.
-type Basic struct {
-}
+type Basic struct{}
 
 // Name represents the name of auth method
 func (b *Basic) Name() string {
diff --git a/services/auth/oauth2.go b/services/auth/oauth2.go
index fae981d8007..fcff5313e39 100644
--- a/services/auth/oauth2.go
+++ b/services/auth/oauth2.go
@@ -53,8 +53,7 @@ func CheckOAuthAccessToken(accessToken string) int64 {
 // OAuth2 implements the Auth interface and authenticates requests
 // (API requests only) by looking for an OAuth token in query parameters or the
 // "Authorization" header.
-type OAuth2 struct {
-}
+type OAuth2 struct{}
 
 // Name represents the name of auth method
 func (o *OAuth2) Name() string {
diff --git a/services/auth/reverseproxy.go b/services/auth/reverseproxy.go
index 3e44d8b8639..1b151f6504e 100644
--- a/services/auth/reverseproxy.go
+++ b/services/auth/reverseproxy.go
@@ -32,8 +32,7 @@ const ReverseProxyMethodName = "reverse_proxy"
 // On successful authentication the proxy is expected to populate the username in the
 // "setting.ReverseProxyAuthUser" header. Optionally it can also populate the email of the
 // user in the "setting.ReverseProxyAuthEmail" header.
-type ReverseProxy struct {
-}
+type ReverseProxy struct{}
 
 // getUserName extracts the username from the "setting.ReverseProxyAuthUser" header
 func (r *ReverseProxy) getUserName(req *http.Request) string {
diff --git a/services/auth/session.go b/services/auth/session.go
index 256598d1000..6a23a176651 100644
--- a/services/auth/session.go
+++ b/services/auth/session.go
@@ -19,8 +19,7 @@ var (
 
 // Session checks if there is a user uid stored in the session and returns the user
 // object for that uid.
-type Session struct {
-}
+type Session struct{}
 
 // Name represents the name of auth method
 func (s *Session) Name() string {
diff --git a/services/auth/source/ldap/source_sync.go b/services/auth/source/ldap/source_sync.go
index 78aa90aaa53..398d9ef7988 100644
--- a/services/auth/source/ldap/source_sync.go
+++ b/services/auth/source/ldap/source_sync.go
@@ -164,7 +164,6 @@ func (source *Source) Sync(ctx context.Context, updateExisting bool) error {
 				if err == nil && len(source.AttributeAvatar) > 0 {
 					_ = user_service.UploadAvatar(usr, su.Avatar)
 				}
-
 			}
 		}
 	}
diff --git a/services/auth/source/oauth2/jwtsigningkey.go b/services/auth/source/oauth2/jwtsigningkey.go
index 187c6999e0c..24f2c41119c 100644
--- a/services/auth/source/oauth2/jwtsigningkey.go
+++ b/services/auth/source/oauth2/jwtsigningkey.go
@@ -410,7 +410,7 @@ func loadOrCreateAsymmetricKey() (interface{}, error) {
 				return err
 			}
 
-			f, err := os.OpenFile(keyPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
+			f, err := os.OpenFile(keyPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0o600)
 			if err != nil {
 				return err
 			}
diff --git a/services/auth/source/oauth2/providers.go b/services/auth/source/oauth2/providers.go
index 065c6884e09..45851c87999 100644
--- a/services/auth/source/oauth2/providers.go
+++ b/services/auth/source/oauth2/providers.go
@@ -139,10 +139,8 @@ func ClearProviders() {
 	goth.ClearProviders()
 }
 
-var (
-	// ErrAuthSourceNotActived login source is not actived error
-	ErrAuthSourceNotActived = errors.New("auth source is not actived")
-)
+// ErrAuthSourceNotActived login source is not actived error
+var ErrAuthSourceNotActived = errors.New("auth source is not actived")
 
 // used to create different types of goth providers
 func createProvider(providerName string, source *Source) (goth.Provider, error) {
diff --git a/services/auth/source/oauth2/providers_openid.go b/services/auth/source/oauth2/providers_openid.go
index 838311b4a17..80ee56d4a46 100644
--- a/services/auth/source/oauth2/providers_openid.go
+++ b/services/auth/source/oauth2/providers_openid.go
@@ -13,8 +13,7 @@ import (
 )
 
 // OpenIDProvider is a GothProvider for OpenID
-type OpenIDProvider struct {
-}
+type OpenIDProvider struct{}
 
 // Name provides the technical name for this provider
 func (o *OpenIDProvider) Name() string {
diff --git a/services/auth/source/oauth2/providers_simple.go b/services/auth/source/oauth2/providers_simple.go
index a4d61eb2f3e..0f118b596d7 100644
--- a/services/auth/source/oauth2/providers_simple.go
+++ b/services/auth/source/oauth2/providers_simple.go
@@ -107,5 +107,4 @@ func init() {
 			return microsoftonline.New(clientID, secret, callbackURL, scopes...)
 		},
 	))
-
 }
diff --git a/services/auth/source/oauth2/source_callout.go b/services/auth/source/oauth2/source_callout.go
index 8596dd187d9..7447e5d453a 100644
--- a/services/auth/source/oauth2/source_callout.go
+++ b/services/auth/source/oauth2/source_callout.go
@@ -18,7 +18,7 @@ func (source *Source) Callout(request *http.Request, response http.ResponseWrite
 
 	// don't use the default gothic begin handler to prevent issues when some error occurs
 	// normally the gothic library will write some custom stuff to the response instead of our own nice error page
-	//gothic.BeginAuthHandler(response, request)
+	// gothic.BeginAuthHandler(response, request)
 
 	gothRWMutex.RLock()
 	defer gothRWMutex.RUnlock()
diff --git a/services/auth/source/smtp/auth.go b/services/auth/source/smtp/auth.go
index c5bd09b0a72..8d0cbb11cdc 100644
--- a/services/auth/source/smtp/auth.go
+++ b/services/auth/source/smtp/auth.go
@@ -51,10 +51,8 @@ const (
 // Authenticators contains available SMTP authentication type names.
 var Authenticators = []string{PlainAuthentication, LoginAuthentication, CRAMMD5Authentication}
 
-var (
-	// ErrUnsupportedLoginType login source is unknown error
-	ErrUnsupportedLoginType = errors.New("Login source is unknown")
-)
+// ErrUnsupportedLoginType login source is unknown error
+var ErrUnsupportedLoginType = errors.New("Login source is unknown")
 
 // Authenticate performs an SMTP authentication.
 func Authenticate(a smtp.Auth, source *Source) error {
diff --git a/services/comments/comments.go b/services/comments/comments.go
index 296f06d75ce..6f63060c45f 100644
--- a/services/comments/comments.go
+++ b/services/comments/comments.go
@@ -40,7 +40,7 @@ func CreateIssueComment(doer *user_model.User, repo *repo_model.Repository, issu
 
 // UpdateComment updates information of comment.
 func UpdateComment(c *models.Comment, doer *user_model.User, oldContent string) error {
-	var needsContentHistory = c.Content != oldContent &&
+	needsContentHistory := c.Content != oldContent &&
 		(c.Type == models.CommentTypeComment || c.Type == models.CommentTypeReview || c.Type == models.CommentTypeCode)
 	if needsContentHistory {
 		hasContentHistory, err := issues.HasIssueContentHistory(db.DefaultContext, c.IssueID, c.ID)
diff --git a/services/cron/cron.go b/services/cron/cron.go
index ae309bd8669..19f703caf18 100644
--- a/services/cron/cron.go
+++ b/services/cron/cron.go
@@ -43,7 +43,6 @@ func NewContext() {
 		started = false
 		lock.Unlock()
 	})
-
 }
 
 // TaskTableRow represents a task row in the tasks table
diff --git a/services/cron/tasks.go b/services/cron/tasks.go
index 29062233c8a..07da2fe8d6f 100644
--- a/services/cron/tasks.go
+++ b/services/cron/tasks.go
@@ -19,10 +19,12 @@ import (
 	"code.gitea.io/gitea/modules/setting"
 )
 
-var lock = sync.Mutex{}
-var started = false
-var tasks = []*Task{}
-var tasksMap = map[string]*Task{}
+var (
+	lock     = sync.Mutex{}
+	started  = false
+	tasks    = []*Task{}
+	tasksMap = map[string]*Task{}
+)
 
 // Task represents a Cron task
 type Task struct {
diff --git a/services/forms/repo_form_test.go b/services/forms/repo_form_test.go
index 4f65d59ca6d..198437f7ea3 100644
--- a/services/forms/repo_form_test.go
+++ b/services/forms/repo_form_test.go
@@ -13,7 +13,6 @@ import (
 )
 
 func TestSubmitReviewForm_IsEmpty(t *testing.T) {
-
 	cases := []struct {
 		form     SubmitReviewForm
 		expected bool
@@ -43,7 +42,6 @@ func TestSubmitReviewForm_IsEmpty(t *testing.T) {
 }
 
 func TestIssueLock_HasValidReason(t *testing.T) {
-
 	// Init settings
 	_ = setting.Repository
 
diff --git a/services/gitdiff/csv.go b/services/gitdiff/csv.go
index 0e56ff31502..642c9937ddb 100644
--- a/services/gitdiff/csv.go
+++ b/services/gitdiff/csv.go
@@ -12,9 +12,11 @@ import (
 	"code.gitea.io/gitea/modules/util"
 )
 
-const unmappedColumn = -1
-const maxRowsToInspect int = 10
-const minRatioToMatch float32 = 0.8
+const (
+	unmappedColumn           = -1
+	maxRowsToInspect int     = 10
+	minRatioToMatch  float32 = 0.8
+)
 
 // TableDiffCellType represents the type of a TableDiffCell.
 type TableDiffCellType uint8
@@ -172,7 +174,7 @@ func createCsvDiff(diffFile *DiffFile, baseReader, headReader *csv.Reader) ([]*T
 	// createDiffTableRow takes the row # of the `a` line and `b` line of a diff (starting from 1), 0 if the line doesn't exist (undefined)
 	// in the base or head respectively.
 	// Returns a TableDiffRow which has the row index
-	createDiffTableRow := func(aLineNum int, bLineNum int) (*TableDiffRow, error) {
+	createDiffTableRow := func(aLineNum, bLineNum int) (*TableDiffRow, error) {
 		// diffTableCells is a row of the diff table. It will have a cells for added, deleted, changed, and unchanged content, thus either
 		// the same size as the head table or bigger
 		diffTableCells := make([]*TableDiffCell, numDiffTableCols)
diff --git a/services/gitdiff/csv_test.go b/services/gitdiff/csv_test.go
index 90d24d1c809..2c15b42d915 100644
--- a/services/gitdiff/csv_test.go
+++ b/services/gitdiff/csv_test.go
@@ -16,7 +16,7 @@ import (
 )
 
 func TestCSVDiff(t *testing.T) {
-	var cases = []struct {
+	cases := []struct {
 		diff  string
 		base  string
 		head  string
@@ -35,7 +35,8 @@ func TestCSVDiff(t *testing.T) {
 a,a`,
 			cells: [][]TableDiffCellType{
 				{TableDiffCellAdd, TableDiffCellAdd},
-				{TableDiffCellAdd, TableDiffCellAdd}},
+				{TableDiffCellAdd, TableDiffCellAdd},
+			},
 		},
 		// case 1 - adding 1 row at end
 		{
@@ -53,7 +54,8 @@ a,a`,
 a,a
 b,b`,
 			cells: [][]TableDiffCellType{
-				{TableDiffCellUnchanged, TableDiffCellUnchanged}, {TableDiffCellUnchanged, TableDiffCellUnchanged},
+				{TableDiffCellUnchanged, TableDiffCellUnchanged},
+				{TableDiffCellUnchanged, TableDiffCellUnchanged},
 				{TableDiffCellAdd, TableDiffCellAdd},
 			},
 		},
@@ -72,7 +74,8 @@ b,b`,
 			head: `col1,col2
 b,b`,
 			cells: [][]TableDiffCellType{
-				{TableDiffCellUnchanged, TableDiffCellUnchanged}, {TableDiffCellDel, TableDiffCellDel},
+				{TableDiffCellUnchanged, TableDiffCellUnchanged},
+				{TableDiffCellDel, TableDiffCellDel},
 				{TableDiffCellUnchanged, TableDiffCellUnchanged},
 			},
 		},
diff --git a/services/gitdiff/gitdiff.go b/services/gitdiff/gitdiff.go
index 43af2deb4be..25d5e139d9d 100644
--- a/services/gitdiff/gitdiff.go
+++ b/services/gitdiff/gitdiff.go
@@ -190,9 +190,11 @@ var (
 	codeTagSuffix     = []byte(`</span>`)
 )
 
-var unfinishedtagRegex = regexp.MustCompile(`<[^>]*$`)
-var trailingSpanRegex = regexp.MustCompile(`<span\s*[[:alpha:]="]*?[>]?$`)
-var entityRegex = regexp.MustCompile(`&[#]*?[0-9[:alpha:]]*$`)
+var (
+	unfinishedtagRegex = regexp.MustCompile(`<[^>]*$`)
+	trailingSpanRegex  = regexp.MustCompile(`<span\s*[[:alpha:]="]*?[>]?$`)
+	entityRegex        = regexp.MustCompile(`&[#]*?[0-9[:alpha:]]*$`)
+)
 
 // shouldWriteInline represents combinations where we manually write inline changes
 func shouldWriteInline(diff diffmatchpatch.Diff, lineType DiffLineType) bool {
@@ -206,7 +208,6 @@ func shouldWriteInline(diff diffmatchpatch.Diff, lineType DiffLineType) bool {
 }
 
 func fixupBrokenSpans(diffs []diffmatchpatch.Diff) []diffmatchpatch.Diff {
-
 	// Create a new array to store our fixed up blocks
 	fixedup := make([]diffmatchpatch.Diff, 0, len(diffs))
 
@@ -658,10 +659,10 @@ func (diffFile *DiffFile) GetTailSection(gitRepo *git.Repository, leftCommitID,
 			LastRightIdx: lastLine.RightIdx,
 			LeftIdx:      leftLineCount,
 			RightIdx:     rightLineCount,
-		}}
+		},
+	}
 	tailSection := &DiffSection{FileName: diffFile.Name, Lines: []*DiffLine{tailDiffLine}}
 	return tailSection
-
 }
 
 func getCommitFileLineCount(commit *git.Commit, filePath string) int {
@@ -942,8 +943,8 @@ parsingLoop:
 	// TODO: There are numerous issues with this:
 	// - we might want to consider detecting encoding while parsing but...
 	// - we're likely to fail to get the correct encoding here anyway as we won't have enough information
-	var diffLineTypeBuffers = make(map[DiffLineType]*bytes.Buffer, 3)
-	var diffLineTypeDecoders = make(map[DiffLineType]*encoding.Decoder, 3)
+	diffLineTypeBuffers := make(map[DiffLineType]*bytes.Buffer, 3)
+	diffLineTypeDecoders := make(map[DiffLineType]*encoding.Decoder, 3)
 	diffLineTypeBuffers[DiffLinePlain] = new(bytes.Buffer)
 	diffLineTypeBuffers[DiffLineAdd] = new(bytes.Buffer)
 	diffLineTypeBuffers[DiffLineDel] = new(bytes.Buffer)
@@ -1539,7 +1540,8 @@ func GetWhitespaceFlag(whiteSpaceBehavior string) string {
 		"ignore-all":    "-w",
 		"ignore-change": "-b",
 		"ignore-eol":    "--ignore-space-at-eol",
-		"":              ""}
+		"":              "",
+	}
 
 	return whitespaceFlags[whiteSpaceBehavior]
 }
diff --git a/services/gitdiff/gitdiff_test.go b/services/gitdiff/gitdiff_test.go
index 57cbb74b220..d57a3e2aba3 100644
--- a/services/gitdiff/gitdiff_test.go
+++ b/services/gitdiff/gitdiff_test.go
@@ -504,7 +504,7 @@ index 6961180..9ba1a00 100644
 	// Test max lines
 	diffBuilder := &strings.Builder{}
 
-	var diff = `diff --git a/newfile2 b/newfile2
+	diff := `diff --git a/newfile2 b/newfile2
 new file mode 100644
 index 0000000..6bb8f39
 --- /dev/null
@@ -594,7 +594,7 @@ index 0000000..6bb8f39
 	}
 	println(result)
 
-	var diff2 = `diff --git "a/A \\ B" "b/A \\ B"
+	diff2 := `diff --git "a/A \\ B" "b/A \\ B"
 --- "a/A \\ B"
 +++ "b/A \\ B"
 @@ -1,3 +1,6 @@
@@ -611,7 +611,7 @@ index 0000000..6bb8f39
 	}
 	println(result)
 
-	var diff2a = `diff --git "a/A \\ B" b/A/B
+	diff2a := `diff --git "a/A \\ B" b/A/B
 --- "a/A \\ B"
 +++ b/A/B
 @@ -1,3 +1,6 @@
@@ -628,7 +628,7 @@ index 0000000..6bb8f39
 	}
 	println(result)
 
-	var diff3 = `diff --git a/README.md b/README.md
+	diff3 := `diff --git a/README.md b/README.md
 --- a/README.md
 +++ b/README.md
 @@ -1,3 +1,6 @@
@@ -665,6 +665,7 @@ func setupDefaultDiff() *Diff {
 		},
 	}
 }
+
 func TestDiff_LoadComments(t *testing.T) {
 	assert.NoError(t, unittest.PrepareTestDatabase())
 
diff --git a/services/issue/issue.go b/services/issue/issue.go
index ef2894b9299..8b6262c5713 100644
--- a/services/issue/issue.go
+++ b/services/issue/issue.go
@@ -162,8 +162,8 @@ func AddAssigneeIfNotAssigned(issue *models.Issue, doer *user_model.User, assign
 // GetRefEndNamesAndURLs retrieves the ref end names (e.g. refs/heads/branch-name -> branch-name)
 // and their respective URLs.
 func GetRefEndNamesAndURLs(issues []*models.Issue, repoLink string) (map[int64]string, map[int64]string) {
-	var issueRefEndNames = make(map[int64]string, len(issues))
-	var issueRefURLs = make(map[int64]string, len(issues))
+	issueRefEndNames := make(map[int64]string, len(issues))
+	issueRefURLs := make(map[int64]string, len(issues))
 	for _, issue := range issues {
 		if issue.Ref != "" {
 			issueRefEndNames[issue.ID] = git.RefEndName(issue.Ref)
diff --git a/services/issue/label_test.go b/services/issue/label_test.go
index fc94749bdbd..73e30e894f8 100644
--- a/services/issue/label_test.go
+++ b/services/issue/label_test.go
@@ -15,7 +15,7 @@ import (
 )
 
 func TestIssue_AddLabels(t *testing.T) {
-	var tests = []struct {
+	tests := []struct {
 		issueID  int64
 		labelIDs []int64
 		doerID   int64
@@ -41,7 +41,7 @@ func TestIssue_AddLabels(t *testing.T) {
 }
 
 func TestIssue_AddLabel(t *testing.T) {
-	var tests = []struct {
+	tests := []struct {
 		issueID int64
 		labelID int64
 		doerID  int64
diff --git a/services/lfs/locks.go b/services/lfs/locks.go
index c2ede20b7cf..3839119b274 100644
--- a/services/lfs/locks.go
+++ b/services/lfs/locks.go
@@ -80,7 +80,7 @@ func GetListLockHandler(ctx *context.Context) {
 		limit = 0
 	}
 	id := ctx.FormString("id")
-	if id != "" { //Case where we request a specific id
+	if id != "" { // Case where we request a specific id
 		v, err := strconv.ParseInt(id, 10, 64)
 		if err != nil {
 			ctx.JSON(http.StatusBadRequest, api.LFSLockError{
@@ -97,7 +97,7 @@ func GetListLockHandler(ctx *context.Context) {
 	}
 
 	path := ctx.FormString("path")
-	if path != "" { //Case where we request a specific id
+	if path != "" { // Case where we request a specific id
 		lock, err := models.GetLFSLock(repository, path)
 		if err != nil && !models.IsErrLFSLockNotExist(err) {
 			log.Error("Unable to get lock for repository %-v with path %s: Error: %v", repository, path, err)
@@ -106,7 +106,7 @@ func GetListLockHandler(ctx *context.Context) {
 		return
 	}
 
-	//If no query params path or id
+	// If no query params path or id
 	lockList, err := models.GetLFSLockByRepoID(repository.ID, cursor, limit)
 	if err != nil {
 		log.Error("Unable to list locks for repository ID[%d]: Error: %v", repository.ID, err)
diff --git a/services/lfs/server.go b/services/lfs/server.go
index 25882928a2c..cdce0046b3f 100644
--- a/services/lfs/server.go
+++ b/services/lfs/server.go
@@ -440,7 +440,7 @@ func buildObjectResponse(rc *requestContext, pointer lfs_module.Pointer, downloa
 		if download {
 			rep.Actions["download"] = &lfs_module.Link{Href: rc.DownloadLink(pointer), Header: header}
 			if setting.LFS.ServeDirect {
-				//If we have a signed url (S3, object storage), redirect to this directly.
+				// If we have a signed url (S3, object storage), redirect to this directly.
 				u, err := storage.LFS.URL(pointer.RelativePath(), pointer.Oid)
 				if u != nil && err == nil {
 					rep.Actions["download"] = &lfs_module.Link{Href: u.String(), Header: header}
diff --git a/services/mailer/mail_issue.go b/services/mailer/mail_issue.go
index 1df83321166..bd5008f076a 100644
--- a/services/mailer/mail_issue.go
+++ b/services/mailer/mail_issue.go
@@ -40,7 +40,6 @@ const (
 // 1. Repository watchers (except for WIP pull requests) and users who are participated in comments.
 // 2. Users who are not in 1. but get mentioned in current issue/comment.
 func mailIssueCommentToParticipants(ctx *mailCommentContext, mentions []*user_model.User) error {
-
 	// Required by the mail composer; make sure to load these before calling the async function
 	if err := ctx.Issue.LoadRepo(); err != nil {
 		return fmt.Errorf("LoadRepo(): %v", err)
diff --git a/services/mailer/mail_test.go b/services/mailer/mail_test.go
index 6a175337ad1..07690063cd2 100644
--- a/services/mailer/mail_test.go
+++ b/services/mailer/mail_test.go
@@ -44,7 +44,7 @@ const bodyTpl = `
 
 func prepareMailerTest(t *testing.T) (doer *user_model.User, repo *repo_model.Repository, issue *models.Issue, comment *models.Comment) {
 	assert.NoError(t, unittest.PrepareTestDatabase())
-	var mailService = setting.Mailer{
+	mailService := setting.Mailer{
 		From: "test@gitea.com",
 	}
 
@@ -67,8 +67,10 @@ func TestComposeIssueCommentMessage(t *testing.T) {
 	InitMailRender(stpl, btpl)
 
 	recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}, {Name: "Test2", Email: "test2@gitea.com"}}
-	msgs, err := composeIssueCommentMessages(&mailCommentContext{Issue: issue, Doer: doer, ActionType: models.ActionCommentIssue,
-		Content: "test body", Comment: comment}, "en-US", recipients, false, "issue comment")
+	msgs, err := composeIssueCommentMessages(&mailCommentContext{
+		Issue: issue, Doer: doer, ActionType: models.ActionCommentIssue,
+		Content: "test body", Comment: comment,
+	}, "en-US", recipients, false, "issue comment")
 	assert.NoError(t, err)
 	assert.Len(t, msgs, 2)
 	gomailMsg := msgs[0].ToMessage()
@@ -94,8 +96,10 @@ func TestComposeIssueMessage(t *testing.T) {
 	InitMailRender(stpl, btpl)
 
 	recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}, {Name: "Test2", Email: "test2@gitea.com"}}
-	msgs, err := composeIssueCommentMessages(&mailCommentContext{Issue: issue, Doer: doer, ActionType: models.ActionCreateIssue,
-		Content: "test body"}, "en-US", recipients, false, "issue create")
+	msgs, err := composeIssueCommentMessages(&mailCommentContext{
+		Issue: issue, Doer: doer, ActionType: models.ActionCreateIssue,
+		Content: "test body",
+	}, "en-US", recipients, false, "issue create")
 	assert.NoError(t, err)
 	assert.Len(t, msgs, 2)
 
@@ -138,22 +142,30 @@ func TestTemplateSelection(t *testing.T) {
 		assert.Contains(t, wholemsg, expBody)
 	}
 
-	msg := testComposeIssueCommentMessage(t, &mailCommentContext{Issue: issue, Doer: doer, ActionType: models.ActionCreateIssue,
-		Content: "test body"}, recipients, false, "TestTemplateSelection")
+	msg := testComposeIssueCommentMessage(t, &mailCommentContext{
+		Issue: issue, Doer: doer, ActionType: models.ActionCreateIssue,
+		Content: "test body",
+	}, recipients, false, "TestTemplateSelection")
 	expect(t, msg, "issue/new/subject", "issue/new/body")
 
-	msg = testComposeIssueCommentMessage(t, &mailCommentContext{Issue: issue, Doer: doer, ActionType: models.ActionCommentIssue,
-		Content: "test body", Comment: comment}, recipients, false, "TestTemplateSelection")
+	msg = testComposeIssueCommentMessage(t, &mailCommentContext{
+		Issue: issue, Doer: doer, ActionType: models.ActionCommentIssue,
+		Content: "test body", Comment: comment,
+	}, recipients, false, "TestTemplateSelection")
 	expect(t, msg, "issue/default/subject", "issue/default/body")
 
 	pull := unittest.AssertExistsAndLoadBean(t, &models.Issue{ID: 2, Repo: repo, Poster: doer}).(*models.Issue)
 	comment = unittest.AssertExistsAndLoadBean(t, &models.Comment{ID: 4, Issue: pull}).(*models.Comment)
-	msg = testComposeIssueCommentMessage(t, &mailCommentContext{Issue: pull, Doer: doer, ActionType: models.ActionCommentPull,
-		Content: "test body", Comment: comment}, recipients, false, "TestTemplateSelection")
+	msg = testComposeIssueCommentMessage(t, &mailCommentContext{
+		Issue: pull, Doer: doer, ActionType: models.ActionCommentPull,
+		Content: "test body", Comment: comment,
+	}, recipients, false, "TestTemplateSelection")
 	expect(t, msg, "pull/comment/subject", "pull/comment/body")
 
-	msg = testComposeIssueCommentMessage(t, &mailCommentContext{Issue: issue, Doer: doer, ActionType: models.ActionCloseIssue,
-		Content: "test body", Comment: comment}, recipients, false, "TestTemplateSelection")
+	msg = testComposeIssueCommentMessage(t, &mailCommentContext{
+		Issue: issue, Doer: doer, ActionType: models.ActionCloseIssue,
+		Content: "test body", Comment: comment,
+	}, recipients, false, "TestTemplateSelection")
 	expect(t, msg, "Re: [user2/repo1] issue1 (#1)", "issue/close/body")
 }
 
@@ -162,15 +174,17 @@ func TestTemplateServices(t *testing.T) {
 	assert.NoError(t, issue.LoadRepo())
 
 	expect := func(t *testing.T, issue *models.Issue, comment *models.Comment, doer *user_model.User,
-		actionType models.ActionType, fromMention bool, tplSubject, tplBody, expSubject, expBody string) {
-
+		actionType models.ActionType, fromMention bool, tplSubject, tplBody, expSubject, expBody string,
+	) {
 		stpl := texttmpl.Must(texttmpl.New("issue/default").Parse(tplSubject))
 		btpl := template.Must(template.New("issue/default").Parse(tplBody))
 		InitMailRender(stpl, btpl)
 
 		recipients := []*user_model.User{{Name: "Test", Email: "test@gitea.com"}}
-		msg := testComposeIssueCommentMessage(t, &mailCommentContext{Issue: issue, Doer: doer, ActionType: actionType,
-			Content: "test body", Comment: comment}, recipients, fromMention, "TestTemplateServices")
+		msg := testComposeIssueCommentMessage(t, &mailCommentContext{
+			Issue: issue, Doer: doer, ActionType: actionType,
+			Content: "test body", Comment: comment,
+		}, recipients, fromMention, "TestTemplateServices")
 
 		subject := msg.ToMessage().GetHeader("Subject")
 		msgbuf := new(bytes.Buffer)
diff --git a/services/mailer/mailer.go b/services/mailer/mailer.go
index e5e6272f102..eeb98b58791 100644
--- a/services/mailer/mailer.go
+++ b/services/mailer/mailer.go
@@ -141,8 +141,7 @@ func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) {
 }
 
 // Sender SMTP mail sender
-type smtpSender struct {
-}
+type smtpSender struct{}
 
 // Send send email
 func (s *smtpSender) Send(from string, to []string, msg io.WriterTo) error {
@@ -254,8 +253,7 @@ func (s *smtpSender) Send(from string, to []string, msg io.WriterTo) error {
 }
 
 // Sender sendmail mail sender
-type sendmailSender struct {
-}
+type sendmailSender struct{}
 
 // Send send email
 func (s *sendmailSender) Send(from string, to []string, msg io.WriterTo) error {
@@ -280,7 +278,6 @@ func (s *sendmailSender) Send(from string, to []string, msg io.WriterTo) error {
 
 	cmd := exec.CommandContext(ctx, setting.MailService.SendmailPath, args...)
 	pipe, err := cmd.StdinPipe()
-
 	if err != nil {
 		return err
 	}
@@ -314,8 +311,7 @@ func (s *sendmailSender) Send(from string, to []string, msg io.WriterTo) error {
 }
 
 // Sender sendmail mail sender
-type dummySender struct {
-}
+type dummySender struct{}
 
 // Send send email
 func (s *dummySender) Send(from string, to []string, msg io.WriterTo) error {
diff --git a/services/migrations/codebase.go b/services/migrations/codebase.go
index 395bc6152ec..13e9327c331 100644
--- a/services/migrations/codebase.go
+++ b/services/migrations/codebase.go
@@ -30,8 +30,7 @@ func init() {
 }
 
 // CodebaseDownloaderFactory defines a downloader factory
-type CodebaseDownloaderFactory struct {
-}
+type CodebaseDownloaderFactory struct{}
 
 // New returns a downloader related to this factory according MigrateOptions
 func (f *CodebaseDownloaderFactory) New(ctx context.Context, opts base.MigrateOptions) (base.Downloader, error) {
@@ -88,7 +87,7 @@ func (d *CodebaseDownloader) SetContext(ctx context.Context) {
 func NewCodebaseDownloader(ctx context.Context, projectURL *url.URL, project, repoName, username, password string) *CodebaseDownloader {
 	baseURL, _ := url.Parse("https://api3.codebasehq.com")
 
-	var downloader = &CodebaseDownloader{
+	downloader := &CodebaseDownloader{
 		ctx:        ctx,
 		baseURL:    baseURL,
 		projectURL: projectURL,
@@ -206,7 +205,7 @@ func (d *CodebaseDownloader) GetMilestones() ([]*base.Milestone, error) {
 		return nil, err
 	}
 
-	var milestones = make([]*base.Milestone, 0, len(rawMilestones.TicketingMilestone))
+	milestones := make([]*base.Milestone, 0, len(rawMilestones.TicketingMilestone))
 	for _, milestone := range rawMilestones.TicketingMilestone {
 		var deadline *time.Time
 		if len(milestone.Deadline.Value) > 0 {
@@ -256,7 +255,7 @@ func (d *CodebaseDownloader) GetLabels() ([]*base.Label, error) {
 		return nil, err
 	}
 
-	var labels = make([]*base.Label, 0, len(rawTypes.TicketingType))
+	labels := make([]*base.Label, 0, len(rawTypes.TicketingType))
 	for _, label := range rawTypes.TicketingType {
 		labels = append(labels, &base.Label{
 			Name:  label.Name,
@@ -400,7 +399,8 @@ func (d *CodebaseDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool,
 			Created:     issue.CreatedAt.Value,
 			Updated:     issue.UpdatedAt.Value,
 			Labels: []*base.Label{
-				{Name: issue.Type.Name}},
+				{Name: issue.Type.Name},
+			},
 			Context: codebaseIssueContext{
 				foreignID: issue.TicketID.Value,
 				localID:   issue.TicketID.Value,
diff --git a/services/migrations/dump.go b/services/migrations/dump.go
index f4e797b357f..01a946673e0 100644
--- a/services/migrations/dump.go
+++ b/services/migrations/dump.go
@@ -27,9 +27,7 @@ import (
 	"gopkg.in/yaml.v2"
 )
 
-var (
-	_ base.Uploader = &RepositoryDumper{}
-)
+var _ base.Uploader = &RepositoryDumper{}
 
 // RepositoryDumper implements an Uploader to the local directory
 type RepositoryDumper struct {
@@ -403,7 +401,7 @@ func (g *RepositoryDumper) createItems(dir string, itemFiles map[int64]*os.File,
 
 // CreateComments creates comments of issues
 func (g *RepositoryDumper) CreateComments(comments ...*base.Comment) error {
-	var commentsMap = make(map[int64][]interface{}, len(comments))
+	commentsMap := make(map[int64][]interface{}, len(comments))
 	for _, comment := range comments {
 		commentsMap[comment.IssueIndex] = append(commentsMap[comment.IssueIndex], comment)
 	}
@@ -532,7 +530,7 @@ func (g *RepositoryDumper) CreatePullRequests(prs ...*base.PullRequest) error {
 
 // CreateReviews create pull request reviews
 func (g *RepositoryDumper) CreateReviews(reviews ...*base.Review) error {
-	var reviewsMap = make(map[int64][]interface{}, len(reviews))
+	reviewsMap := make(map[int64][]interface{}, len(reviews))
 	for _, review := range reviews {
 		reviewsMap[review.IssueIndex] = append(reviewsMap[review.IssueIndex], review)
 	}
@@ -611,7 +609,7 @@ func RestoreRepository(ctx context.Context, baseDir, ownerName, repoName string,
 	if err != nil {
 		return err
 	}
-	var uploader = NewGiteaLocalUploader(ctx, doer, ownerName, repoName)
+	uploader := NewGiteaLocalUploader(ctx, doer, ownerName, repoName)
 	downloader, err := NewRepositoryRestorer(ctx, baseDir, ownerName, repoName)
 	if err != nil {
 		return err
@@ -622,7 +620,7 @@ func RestoreRepository(ctx context.Context, baseDir, ownerName, repoName string,
 	}
 	tp, _ := strconv.Atoi(opts["service_type"])
 
-	var migrateOpts = base.MigrateOptions{
+	migrateOpts := base.MigrateOptions{
 		GitServiceType: structs.GitServiceType(tp),
 	}
 	updateOptionsUnits(&migrateOpts, units)
diff --git a/services/migrations/error.go b/services/migrations/error.go
index b90d1b6577c..3b3f975012f 100644
--- a/services/migrations/error.go
+++ b/services/migrations/error.go
@@ -11,10 +11,8 @@ import (
 	"github.com/google/go-github/v39/github"
 )
 
-var (
-	// ErrRepoNotCreated returns the error that repository not created
-	ErrRepoNotCreated = errors.New("repository is not created yet")
-)
+// ErrRepoNotCreated returns the error that repository not created
+var ErrRepoNotCreated = errors.New("repository is not created yet")
 
 // IsRateLimitError returns true if the err is github.RateLimitError
 func IsRateLimitError(err error) bool {
diff --git a/services/migrations/git.go b/services/migrations/git.go
index 37ffb674c5c..3198f934cae 100644
--- a/services/migrations/git.go
+++ b/services/migrations/git.go
@@ -10,9 +10,7 @@ import (
 	base "code.gitea.io/gitea/modules/migration"
 )
 
-var (
-	_ base.Downloader = &PlainGitDownloader{}
-)
+var _ base.Downloader = &PlainGitDownloader{}
 
 // PlainGitDownloader implements a Downloader interface to clone git from a http/https URL
 type PlainGitDownloader struct {
diff --git a/services/migrations/gitbucket.go b/services/migrations/gitbucket.go
index 27ed584aa23..c4fb0df93a7 100644
--- a/services/migrations/gitbucket.go
+++ b/services/migrations/gitbucket.go
@@ -23,8 +23,7 @@ func init() {
 }
 
 // GitBucketDownloaderFactory defines a GitBucket downloader factory
-type GitBucketDownloaderFactory struct {
-}
+type GitBucketDownloaderFactory struct{}
 
 // New returns a Downloader related to this factory according MigrateOptions
 func (f *GitBucketDownloaderFactory) New(ctx context.Context, opts base.MigrateOptions) (base.Downloader, error) {
diff --git a/services/migrations/gitea_downloader.go b/services/migrations/gitea_downloader.go
index 258f0307267..a712b65a226 100644
--- a/services/migrations/gitea_downloader.go
+++ b/services/migrations/gitea_downloader.go
@@ -32,8 +32,7 @@ func init() {
 }
 
 // GiteaDownloaderFactory defines a gitea downloader factory
-type GiteaDownloaderFactory struct {
-}
+type GiteaDownloaderFactory struct{}
 
 // New returns a Downloader related to this factory according MigrateOptions
 func (f *GiteaDownloaderFactory) New(ctx context.Context, opts base.MigrateOptions) (base.Downloader, error) {
@@ -159,7 +158,7 @@ func (g *GiteaDownloader) GetTopics() ([]string, error) {
 
 // GetMilestones returns milestones
 func (g *GiteaDownloader) GetMilestones() ([]*base.Milestone, error) {
-	var milestones = make([]*base.Milestone, 0, g.maxPerPage)
+	milestones := make([]*base.Milestone, 0, g.maxPerPage)
 
 	for i := 1; ; i++ {
 		// make sure gitea can shutdown gracefully
@@ -224,7 +223,7 @@ func (g *GiteaDownloader) convertGiteaLabel(label *gitea_sdk.Label) *base.Label
 
 // GetLabels returns labels
 func (g *GiteaDownloader) GetLabels() ([]*base.Label, error) {
-	var labels = make([]*base.Label, 0, g.maxPerPage)
+	labels := make([]*base.Label, 0, g.maxPerPage)
 
 	for i := 1; ; i++ {
 		// make sure gitea can shutdown gracefully
@@ -304,7 +303,7 @@ func (g *GiteaDownloader) convertGiteaRelease(rel *gitea_sdk.Release) *base.Rele
 
 // GetReleases returns releases
 func (g *GiteaDownloader) GetReleases() ([]*base.Release, error) {
-	var releases = make([]*base.Release, 0, g.maxPerPage)
+	releases := make([]*base.Release, 0, g.maxPerPage)
 
 	for i := 1; ; i++ {
 		// make sure gitea can shutdown gracefully
@@ -379,7 +378,7 @@ func (g *GiteaDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, err
 	if perPage > g.maxPerPage {
 		perPage = g.maxPerPage
 	}
-	var allIssues = make([]*base.Issue, 0, perPage)
+	allIssues := make([]*base.Issue, 0, perPage)
 
 	issues, _, err := g.client.ListRepoIssues(g.repoOwner, g.repoName, gitea_sdk.ListIssueOption{
 		ListOptions: gitea_sdk.ListOptions{Page: page, PageSize: perPage},
@@ -391,7 +390,7 @@ func (g *GiteaDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, err
 	}
 	for _, issue := range issues {
 
-		var labels = make([]*base.Label, 0, len(issue.Labels))
+		labels := make([]*base.Label, 0, len(issue.Labels))
 		for i := range issue.Labels {
 			labels = append(labels, g.convertGiteaLabel(issue.Labels[i]))
 		}
@@ -444,7 +443,7 @@ func (g *GiteaDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, err
 
 // GetComments returns comments according issueNumber
 func (g *GiteaDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Comment, bool, error) {
-	var allComments = make([]*base.Comment, 0, g.maxPerPage)
+	allComments := make([]*base.Comment, 0, g.maxPerPage)
 
 	for i := 1; ; i++ {
 		// make sure gitea can shutdown gracefully
@@ -496,7 +495,7 @@ func (g *GiteaDownloader) GetPullRequests(page, perPage int) ([]*base.PullReques
 	if perPage > g.maxPerPage {
 		perPage = g.maxPerPage
 	}
-	var allPRs = make([]*base.PullRequest, 0, perPage)
+	allPRs := make([]*base.PullRequest, 0, perPage)
 
 	prs, _, err := g.client.ListRepoPullRequests(g.repoOwner, g.repoName, gitea_sdk.ListPullRequestsOptions{
 		ListOptions: gitea_sdk.ListOptions{
@@ -514,7 +513,7 @@ func (g *GiteaDownloader) GetPullRequests(page, perPage int) ([]*base.PullReques
 			milestone = pr.Milestone.Title
 		}
 
-		var labels = make([]*base.Label, 0, len(pr.Labels))
+		labels := make([]*base.Label, 0, len(pr.Labels))
 		for i := range pr.Labels {
 			labels = append(labels, g.convertGiteaLabel(pr.Labels[i]))
 		}
@@ -620,7 +619,7 @@ func (g *GiteaDownloader) GetReviews(context base.IssueContext) ([]*base.Review,
 		return nil, nil
 	}
 
-	var allReviews = make([]*base.Review, 0, g.maxPerPage)
+	allReviews := make([]*base.Review, 0, g.maxPerPage)
 
 	for i := 1; ; i++ {
 		// make sure gitea can shutdown gracefully
diff --git a/services/migrations/gitea_uploader.go b/services/migrations/gitea_uploader.go
index e939046e903..6e823031edb 100644
--- a/services/migrations/gitea_uploader.go
+++ b/services/migrations/gitea_uploader.go
@@ -33,9 +33,7 @@ import (
 	gouuid "github.com/google/uuid"
 )
 
-var (
-	_ base.Uploader = &GiteaLocalUploader{}
-)
+var _ base.Uploader = &GiteaLocalUploader{}
 
 // GiteaLocalUploader implements an Uploader to gitea sites
 type GiteaLocalUploader struct {
@@ -159,7 +157,7 @@ func (g *GiteaLocalUploader) CreateTopics(topics ...string) error {
 
 // CreateMilestones creates milestones
 func (g *GiteaLocalUploader) CreateMilestones(milestones ...*base.Milestone) error {
-	var mss = make([]*models.Milestone, 0, len(milestones))
+	mss := make([]*models.Milestone, 0, len(milestones))
 	for _, milestone := range milestones {
 		var deadline timeutil.TimeStamp
 		if milestone.Deadline != nil {
@@ -182,7 +180,7 @@ func (g *GiteaLocalUploader) CreateMilestones(milestones ...*base.Milestone) err
 			milestone.Updated = &milestone.Created
 		}
 
-		var ms = models.Milestone{
+		ms := models.Milestone{
 			RepoID:       g.repo.ID,
 			Name:         milestone.Title,
 			Content:      milestone.Description,
@@ -210,7 +208,7 @@ func (g *GiteaLocalUploader) CreateMilestones(milestones ...*base.Milestone) err
 
 // CreateLabels creates labels
 func (g *GiteaLocalUploader) CreateLabels(labels ...*base.Label) error {
-	var lbs = make([]*models.Label, 0, len(labels))
+	lbs := make([]*models.Label, 0, len(labels))
 	for _, label := range labels {
 		lbs = append(lbs, &models.Label{
 			RepoID:      g.repo.ID,
@@ -232,7 +230,7 @@ func (g *GiteaLocalUploader) CreateLabels(labels ...*base.Label) error {
 
 // CreateReleases creates releases
 func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
-	var rels = make([]*models.Release, 0, len(releases))
+	rels := make([]*models.Release, 0, len(releases))
 	for _, release := range releases {
 		if release.Created.IsZero() {
 			if !release.Published.IsZero() {
@@ -242,7 +240,7 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
 			}
 		}
 
-		var rel = models.Release{
+		rel := models.Release{
 			RepoID:       g.repo.ID,
 			TagName:      release.TagName,
 			LowerTagName: strings.ToLower(release.TagName),
@@ -297,7 +295,7 @@ func (g *GiteaLocalUploader) CreateReleases(releases ...*base.Release) error {
 					asset.Created = release.Created
 				}
 			}
-			var attach = repo_model.Attachment{
+			attach := repo_model.Attachment{
 				UUID:          gouuid.New().String(),
 				Name:          asset.Name,
 				DownloadCount: int64(*asset.DownloadCount),
@@ -348,7 +346,7 @@ func (g *GiteaLocalUploader) SyncTags() error {
 
 // CreateIssues creates issues
 func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
-	var iss = make([]*models.Issue, 0, len(issues))
+	iss := make([]*models.Issue, 0, len(issues))
 	for _, issue := range issues {
 		var labels []*models.Label
 		for _, label := range issue.Labels {
@@ -381,7 +379,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
 			}
 		}
 
-		var is = models.Issue{
+		is := models.Issue{
 			RepoID:      g.repo.ID,
 			Repo:        g.repo,
 			Index:       issue.Number,
@@ -433,7 +431,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
 					g.userMap[reaction.UserID] = userid
 				}
 			}
-			var res = models.Reaction{
+			res := models.Reaction{
 				Type:        reaction.Content,
 				CreatedUnix: timeutil.TimeStampNow(),
 			}
@@ -464,7 +462,7 @@ func (g *GiteaLocalUploader) CreateIssues(issues ...*base.Issue) error {
 
 // CreateComments creates comments of issues
 func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error {
-	var cms = make([]*models.Comment, 0, len(comments))
+	cms := make([]*models.Comment, 0, len(comments))
 	for _, comment := range comments {
 		var issue *models.Issue
 		issueInter, ok := g.issues.Load(comment.IssueIndex)
@@ -528,7 +526,7 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error {
 					g.userMap[reaction.UserID] = userid
 				}
 			}
-			var res = models.Reaction{
+			res := models.Reaction{
 				Type:        reaction.Content,
 				CreatedUnix: timeutil.TimeStampNow(),
 			}
@@ -553,7 +551,7 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error {
 
 // CreatePullRequests creates pull requests
 func (g *GiteaLocalUploader) CreatePullRequests(prs ...*base.PullRequest) error {
-	var gprs = make([]*models.PullRequest, 0, len(prs))
+	gprs := make([]*models.PullRequest, 0, len(prs))
 	for _, pr := range prs {
 		gpr, err := g.newPullRequest(pr)
 		if err != nil {
@@ -652,7 +650,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
 		return nil, err
 	}
 
-	var head = "unknown repository"
+	head := "unknown repository"
 	if pr.IsForkPullRequest() && pr.State != "closed" {
 		if pr.Head.OwnerName != "" {
 			remote := pr.Head.OwnerName
@@ -723,7 +721,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
 		pr.Updated = pr.Created
 	}
 
-	var issue = models.Issue{
+	issue := models.Issue{
 		RepoID:      g.repo.ID,
 		Repo:        g.repo,
 		Title:       pr.Title,
@@ -773,7 +771,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
 				g.userMap[reaction.UserID] = userid
 			}
 		}
-		var res = models.Reaction{
+		res := models.Reaction{
 			Type:        reaction.Content,
 			CreatedUnix: timeutil.TimeStampNow(),
 		}
@@ -787,7 +785,7 @@ func (g *GiteaLocalUploader) newPullRequest(pr *base.PullRequest) (*models.PullR
 		issue.Reactions = append(issue.Reactions, &res)
 	}
 
-	var pullRequest = models.PullRequest{
+	pullRequest := models.PullRequest{
 		HeadRepoID: g.repo.ID,
 		HeadBranch: head,
 		BaseRepoID: g.repo.ID,
@@ -830,7 +828,7 @@ func convertReviewState(state string) models.ReviewType {
 
 // CreateReviews create pull request reviews
 func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error {
-	var cms = make([]*models.Review, 0, len(reviews))
+	cms := make([]*models.Review, 0, len(reviews))
 	for _, review := range reviews {
 		var issue *models.Issue
 		issueInter, ok := g.issues.Load(review.IssueIndex)
@@ -862,7 +860,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error {
 			review.CreatedAt = time.Unix(int64(issue.CreatedUnix), 0)
 		}
 
-		var cm = models.Review{
+		cm := models.Review{
 			Type:        convertReviewState(review.State),
 			IssueID:     issue.ID,
 			Content:     review.Content,
@@ -926,7 +924,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error {
 				comment.UpdatedAt = comment.CreatedAt
 			}
 
-			var c = models.Comment{
+			c := models.Comment{
 				Type:        models.CommentTypeCode,
 				PosterID:    comment.PosterID,
 				IssueID:     issue.ID,
diff --git a/services/migrations/github.go b/services/migrations/github.go
index b360b050617..a946177c903 100644
--- a/services/migrations/github.go
+++ b/services/migrations/github.go
@@ -37,8 +37,7 @@ func init() {
 }
 
 // GithubDownloaderV3Factory defines a github downloader v3 factory
-type GithubDownloaderV3Factory struct {
-}
+type GithubDownloaderV3Factory struct{}
 
 // New returns a Downloader related to this factory according MigrateOptions
 func (f *GithubDownloaderV3Factory) New(ctx context.Context, opts base.MigrateOptions) (base.Downloader, error) {
@@ -80,7 +79,7 @@ type GithubDownloaderV3 struct {
 
 // NewGithubDownloaderV3 creates a github Downloader via github v3 API
 func NewGithubDownloaderV3(ctx context.Context, baseURL, userName, password, token, repoOwner, repoName string) *GithubDownloaderV3 {
-	var downloader = GithubDownloaderV3{
+	downloader := GithubDownloaderV3{
 		userName:   userName,
 		password:   password,
 		ctx:        ctx,
@@ -96,7 +95,7 @@ func NewGithubDownloaderV3(ctx context.Context, baseURL, userName, password, tok
 			ts := oauth2.StaticTokenSource(
 				&oauth2.Token{AccessToken: token},
 			)
-			var client = &http.Client{
+			client := &http.Client{
 				Transport: &oauth2.Transport{
 					Base:   NewMigrationHTTPTransport(),
 					Source: oauth2.ReuseTokenSource(nil, ts),
@@ -106,12 +105,12 @@ func NewGithubDownloaderV3(ctx context.Context, baseURL, userName, password, tok
 			downloader.addClient(client, baseURL)
 		}
 	} else {
-		var transport = NewMigrationHTTPTransport()
+		transport := NewMigrationHTTPTransport()
 		transport.Proxy = func(req *http.Request) (*url.URL, error) {
 			req.SetBasicAuth(userName, password)
 			return proxy.Proxy()(req)
 		}
-		var client = &http.Client{
+		client := &http.Client{
 			Transport: transport,
 		}
 		downloader.addClient(client, baseURL)
@@ -218,8 +217,8 @@ func (g *GithubDownloaderV3) GetTopics() ([]string, error) {
 
 // GetMilestones returns milestones
 func (g *GithubDownloaderV3) GetMilestones() ([]*base.Milestone, error) {
-	var perPage = g.maxPerPage
-	var milestones = make([]*base.Milestone, 0, perPage)
+	perPage := g.maxPerPage
+	milestones := make([]*base.Milestone, 0, perPage)
 	for i := 1; ; i++ {
 		g.waitAndPickClient()
 		ms, resp, err := g.getClient().Issues.ListMilestones(g.ctx, g.repoOwner, g.repoName,
@@ -228,14 +227,15 @@ func (g *GithubDownloaderV3) GetMilestones() ([]*base.Milestone, error) {
 				ListOptions: github.ListOptions{
 					Page:    i,
 					PerPage: perPage,
-				}})
+				},
+			})
 		if err != nil {
 			return nil, err
 		}
 		g.setRate(&resp.Rate)
 
 		for _, m := range ms {
-			var state = "open"
+			state := "open"
 			if m.State != nil {
 				state = *m.State
 			}
@@ -266,8 +266,8 @@ func convertGithubLabel(label *github.Label) *base.Label {
 
 // GetLabels returns labels
 func (g *GithubDownloaderV3) GetLabels() ([]*base.Label, error) {
-	var perPage = g.maxPerPage
-	var labels = make([]*base.Label, 0, perPage)
+	perPage := g.maxPerPage
+	labels := make([]*base.Label, 0, perPage)
 	for i := 1; ; i++ {
 		g.waitAndPickClient()
 		ls, resp, err := g.getClient().Issues.ListLabels(g.ctx, g.repoOwner, g.repoName,
@@ -311,7 +311,7 @@ func (g *GithubDownloaderV3) convertGithubRelease(rel *github.RepositoryRelease)
 	httpClient := NewMigrationHTTPClient()
 
 	for _, asset := range rel.Assets {
-		var assetID = *asset.ID // Don't optimize this, for closure we need a local variable
+		assetID := *asset.ID // Don't optimize this, for closure we need a local variable
 		r.Assets = append(r.Assets, &base.ReleaseAsset{
 			ID:            asset.GetID(),
 			Name:          asset.GetName(),
@@ -357,8 +357,8 @@ func (g *GithubDownloaderV3) convertGithubRelease(rel *github.RepositoryRelease)
 
 // GetReleases returns releases
 func (g *GithubDownloaderV3) GetReleases() ([]*base.Release, error) {
-	var perPage = g.maxPerPage
-	var releases = make([]*base.Release, 0, perPage)
+	perPage := g.maxPerPage
+	releases := make([]*base.Release, 0, perPage)
 	for i := 1; ; i++ {
 		g.waitAndPickClient()
 		ls, resp, err := g.getClient().Repositories.ListReleases(g.ctx, g.repoOwner, g.repoName,
@@ -396,7 +396,7 @@ func (g *GithubDownloaderV3) GetIssues(page, perPage int) ([]*base.Issue, bool,
 		},
 	}
 
-	var allIssues = make([]*base.Issue, 0, perPage)
+	allIssues := make([]*base.Issue, 0, perPage)
 	g.waitAndPickClient()
 	issues, resp, err := g.getClient().Issues.ListByRepo(g.ctx, g.repoOwner, g.repoName, opt)
 	if err != nil {
@@ -409,7 +409,7 @@ func (g *GithubDownloaderV3) GetIssues(page, perPage int) ([]*base.Issue, bool,
 			continue
 		}
 
-		var labels = make([]*base.Label, 0, len(issue.Labels))
+		labels := make([]*base.Label, 0, len(issue.Labels))
 		for _, l := range issue.Labels {
 			labels = append(labels, convertGithubLabel(l))
 		}
@@ -573,7 +573,7 @@ func (g *GithubDownloaderV3) GetAllComments(page, perPage int) ([]*base.Comment,
 	if err != nil {
 		return nil, false, fmt.Errorf("error while listing repos: %v", err)
 	}
-	var isEnd = resp.NextPage == 0
+	isEnd := resp.NextPage == 0
 
 	log.Trace("Request get comments %d/%d, but in fact get %d, next page is %d", perPage, page, len(comments), resp.NextPage)
 	g.setRate(&resp.Rate)
@@ -634,7 +634,7 @@ func (g *GithubDownloaderV3) GetPullRequests(page, perPage int) ([]*base.PullReq
 			Page:    page,
 		},
 	}
-	var allPRs = make([]*base.PullRequest, 0, perPage)
+	allPRs := make([]*base.PullRequest, 0, perPage)
 	g.waitAndPickClient()
 	prs, resp, err := g.getClient().PullRequests.List(g.ctx, g.repoOwner, g.repoName, opt)
 	if err != nil {
@@ -643,7 +643,7 @@ func (g *GithubDownloaderV3) GetPullRequests(page, perPage int) ([]*base.PullReq
 	log.Trace("Request get pull requests %d/%d, but in fact get %d", perPage, page, len(prs))
 	g.setRate(&resp.Rate)
 	for _, pr := range prs {
-		var labels = make([]*base.Label, 0, len(pr.Labels))
+		labels := make([]*base.Label, 0, len(pr.Labels))
 		for _, l := range pr.Labels {
 			labels = append(labels, convertGithubLabel(l))
 		}
@@ -729,7 +729,7 @@ func convertGithubReview(r *github.PullRequestReview) *base.Review {
 }
 
 func (g *GithubDownloaderV3) convertGithubReviewComments(cs []*github.PullRequestComment) ([]*base.ReviewComment, error) {
-	var rcs = make([]*base.ReviewComment, 0, len(cs))
+	rcs := make([]*base.ReviewComment, 0, len(cs))
 	for _, c := range cs {
 		// get reactions
 		var reactions []*base.Reaction
@@ -776,7 +776,7 @@ func (g *GithubDownloaderV3) convertGithubReviewComments(cs []*github.PullReques
 
 // GetReviews returns pull requests review
 func (g *GithubDownloaderV3) GetReviews(context base.IssueContext) ([]*base.Review, error) {
-	var allReviews = make([]*base.Review, 0, g.maxPerPage)
+	allReviews := make([]*base.Review, 0, g.maxPerPage)
 	opt := &github.ListOptions{
 		PerPage: g.maxPerPage,
 	}
diff --git a/services/migrations/gitlab.go b/services/migrations/gitlab.go
index 4eb7e3e47c9..a9856739c24 100644
--- a/services/migrations/gitlab.go
+++ b/services/migrations/gitlab.go
@@ -32,8 +32,7 @@ func init() {
 }
 
 // GitlabDownloaderFactory defines a gitlab downloader factory
-type GitlabDownloaderFactory struct {
-}
+type GitlabDownloaderFactory struct{}
 
 // New returns a Downloader related to this factory according MigrateOptions
 func (f *GitlabDownloaderFactory) New(ctx context.Context, opts base.MigrateOptions) (base.Downloader, error) {
@@ -184,16 +183,17 @@ func (g *GitlabDownloader) GetTopics() ([]string, error) {
 
 // GetMilestones returns milestones
 func (g *GitlabDownloader) GetMilestones() ([]*base.Milestone, error) {
-	var perPage = g.maxPerPage
-	var state = "all"
-	var milestones = make([]*base.Milestone, 0, perPage)
+	perPage := g.maxPerPage
+	state := "all"
+	milestones := make([]*base.Milestone, 0, perPage)
 	for i := 1; ; i++ {
 		ms, _, err := g.client.Milestones.ListMilestones(g.repoID, &gitlab.ListMilestonesOptions{
 			State: &state,
 			ListOptions: gitlab.ListOptions{
 				Page:    i,
 				PerPage: perPage,
-			}}, nil, gitlab.WithContext(g.ctx))
+			},
+		}, nil, gitlab.WithContext(g.ctx))
 		if err != nil {
 			return nil, err
 		}
@@ -203,7 +203,7 @@ func (g *GitlabDownloader) GetMilestones() ([]*base.Milestone, error) {
 			if m.Description != "" {
 				desc = m.Description
 			}
-			var state = "open"
+			state := "open"
 			var closedAt *time.Time
 			if m.State != "" {
 				state = m.State
@@ -255,8 +255,8 @@ func (g *GitlabDownloader) normalizeColor(val string) string {
 
 // GetLabels returns labels
 func (g *GitlabDownloader) GetLabels() ([]*base.Label, error) {
-	var perPage = g.maxPerPage
-	var labels = make([]*base.Label, 0, perPage)
+	perPage := g.maxPerPage
+	labels := make([]*base.Label, 0, perPage)
 	for i := 1; ; i++ {
 		ls, _, err := g.client.Labels.ListLabels(g.repoID, &gitlab.ListLabelsOptions{ListOptions: gitlab.ListOptions{
 			Page:    i,
@@ -327,8 +327,8 @@ func (g *GitlabDownloader) convertGitlabRelease(rel *gitlab.Release) *base.Relea
 
 // GetReleases returns releases
 func (g *GitlabDownloader) GetReleases() ([]*base.Release, error) {
-	var perPage = g.maxPerPage
-	var releases = make([]*base.Release, 0, perPage)
+	perPage := g.maxPerPage
+	releases := make([]*base.Release, 0, perPage)
 	for i := 1; ; i++ {
 		ls, _, err := g.client.Releases.ListReleases(g.repoID, &gitlab.ListReleasesOptions{
 			Page:    i,
@@ -381,7 +381,7 @@ func (g *GitlabDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, er
 		},
 	}
 
-	var allIssues = make([]*base.Issue, 0, perPage)
+	allIssues := make([]*base.Issue, 0, perPage)
 
 	issues, _, err := g.client.Issues.ListProjectIssues(g.repoID, opt, nil, gitlab.WithContext(g.ctx))
 	if err != nil {
@@ -389,7 +389,7 @@ func (g *GitlabDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, er
 	}
 	for _, issue := range issues {
 
-		var labels = make([]*base.Label, 0, len(issue.Labels))
+		labels := make([]*base.Label, 0, len(issue.Labels))
 		for _, l := range issue.Labels {
 			labels = append(labels, &base.Label{
 				Name: l,
@@ -402,7 +402,7 @@ func (g *GitlabDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool, er
 		}
 
 		var reactions []*base.Reaction
-		var awardPage = 1
+		awardPage := 1
 		for {
 			awards, _, err := g.client.AwardEmoji.ListIssueAwardEmoji(g.repoID, issue.IID, &gitlab.ListAwardEmojiOptions{Page: awardPage, PerPage: perPage}, gitlab.WithContext(g.ctx))
 			if err != nil {
@@ -456,9 +456,9 @@ func (g *GitlabDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Com
 		return nil, false, fmt.Errorf("unexpected context: %+v", opts.Context)
 	}
 
-	var allComments = make([]*base.Comment, 0, g.maxPerPage)
+	allComments := make([]*base.Comment, 0, g.maxPerPage)
 
-	var page = 1
+	page := 1
 
 	for {
 		var comments []*gitlab.Discussion
@@ -503,7 +503,6 @@ func (g *GitlabDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Com
 					Created:     *c.CreatedAt,
 				})
 			}
-
 		}
 		if resp.NextPage == 0 {
 			break
@@ -526,7 +525,7 @@ func (g *GitlabDownloader) GetPullRequests(page, perPage int) ([]*base.PullReque
 		},
 	}
 
-	var allPRs = make([]*base.PullRequest, 0, perPage)
+	allPRs := make([]*base.PullRequest, 0, perPage)
 
 	prs, _, err := g.client.MergeRequests.ListProjectMergeRequests(g.repoID, opt, nil, gitlab.WithContext(g.ctx))
 	if err != nil {
@@ -534,7 +533,7 @@ func (g *GitlabDownloader) GetPullRequests(page, perPage int) ([]*base.PullReque
 	}
 	for _, pr := range prs {
 
-		var labels = make([]*base.Label, 0, len(pr.Labels))
+		labels := make([]*base.Label, 0, len(pr.Labels))
 		for _, l := range pr.Labels {
 			labels = append(labels, &base.Label{
 				Name: l,
@@ -547,12 +546,12 @@ func (g *GitlabDownloader) GetPullRequests(page, perPage int) ([]*base.PullReque
 			pr.State = "closed"
 		}
 
-		var mergeTime = pr.MergedAt
+		mergeTime := pr.MergedAt
 		if merged && pr.MergedAt == nil {
 			mergeTime = pr.UpdatedAt
 		}
 
-		var closeTime = pr.ClosedAt
+		closeTime := pr.ClosedAt
 		if merged && pr.ClosedAt == nil {
 			closeTime = pr.UpdatedAt
 		}
@@ -568,7 +567,7 @@ func (g *GitlabDownloader) GetPullRequests(page, perPage int) ([]*base.PullReque
 		}
 
 		var reactions []*base.Reaction
-		var awardPage = 1
+		awardPage := 1
 		for {
 			awards, _, err := g.client.AwardEmoji.ListMergeRequestAwardEmoji(g.repoID, pr.IID, &gitlab.ListAwardEmojiOptions{Page: awardPage, PerPage: perPage}, gitlab.WithContext(g.ctx))
 			if err != nil {
@@ -641,7 +640,7 @@ func (g *GitlabDownloader) GetReviews(context base.IssueContext) ([]*base.Review
 		return nil, err
 	}
 
-	var reviews = make([]*base.Review, 0, len(approvals.ApprovedBy))
+	reviews := make([]*base.Review, 0, len(approvals.ApprovedBy))
 	for _, user := range approvals.ApprovedBy {
 		reviews = append(reviews, &base.Review{
 			IssueIndex:   context.LocalID(),
diff --git a/services/migrations/gogs.go b/services/migrations/gogs.go
index e103ef996ef..9280427cd7c 100644
--- a/services/migrations/gogs.go
+++ b/services/migrations/gogs.go
@@ -30,8 +30,7 @@ func init() {
 }
 
 // GogsDownloaderFactory defines a gogs downloader factory
-type GogsDownloaderFactory struct {
-}
+type GogsDownloaderFactory struct{}
 
 // New returns a Downloader related to this factory according MigrateOptions
 func (f *GogsDownloaderFactory) New(ctx context.Context, opts base.MigrateOptions) (base.Downloader, error) {
@@ -81,7 +80,7 @@ func (g *GogsDownloader) SetContext(ctx context.Context) {
 
 // NewGogsDownloader creates a gogs Downloader via gogs API
 func NewGogsDownloader(ctx context.Context, baseURL, userName, password, token, repoOwner, repoName string) *GogsDownloader {
-	var downloader = GogsDownloader{
+	downloader := GogsDownloader{
 		ctx:       ctx,
 		baseURL:   baseURL,
 		userName:  userName,
@@ -95,7 +94,7 @@ func NewGogsDownloader(ctx context.Context, baseURL, userName, password, token,
 		client = gogs.NewClient(baseURL, token)
 		downloader.userName = token
 	} else {
-		var transport = NewMigrationHTTPTransport()
+		transport := NewMigrationHTTPTransport()
 		transport.Proxy = func(req *http.Request) (*url.URL, error) {
 			req.SetBasicAuth(userName, password)
 			return proxy.Proxy()(req)
@@ -139,8 +138,8 @@ func (g *GogsDownloader) GetRepoInfo() (*base.Repository, error) {
 
 // GetMilestones returns milestones
 func (g *GogsDownloader) GetMilestones() ([]*base.Milestone, error) {
-	var perPage = 100
-	var milestones = make([]*base.Milestone, 0, perPage)
+	perPage := 100
+	milestones := make([]*base.Milestone, 0, perPage)
 
 	ms, err := g.client.ListRepoMilestones(g.repoOwner, g.repoName)
 	if err != nil {
@@ -162,8 +161,8 @@ func (g *GogsDownloader) GetMilestones() ([]*base.Milestone, error) {
 
 // GetLabels returns labels
 func (g *GogsDownloader) GetLabels() ([]*base.Label, error) {
-	var perPage = 100
-	var labels = make([]*base.Label, 0, perPage)
+	perPage := 100
+	labels := make([]*base.Label, 0, perPage)
 	ls, err := g.client.ListRepoLabels(g.repoOwner, g.repoName)
 	if err != nil {
 		return nil, err
@@ -203,7 +202,7 @@ func (g *GogsDownloader) GetIssues(page, _ int) ([]*base.Issue, bool, error) {
 }
 
 func (g *GogsDownloader) getIssues(page int, state string) ([]*base.Issue, bool, error) {
-	var allIssues = make([]*base.Issue, 0, 10)
+	allIssues := make([]*base.Issue, 0, 10)
 
 	issues, err := g.client.ListRepoIssues(g.repoOwner, g.repoName, gogs.ListIssueOption{
 		Page:  page,
@@ -225,7 +224,7 @@ func (g *GogsDownloader) getIssues(page int, state string) ([]*base.Issue, bool,
 
 // GetComments returns comments according issueNumber
 func (g *GogsDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Comment, bool, error) {
-	var allComments = make([]*base.Comment, 0, 100)
+	allComments := make([]*base.Comment, 0, 100)
 
 	comments, err := g.client.ListIssueComments(g.repoOwner, g.repoName, opts.Context.ForeignID())
 	if err != nil {
@@ -276,7 +275,7 @@ func convertGogsIssue(issue *gogs.Issue) *base.Issue {
 	if issue.Milestone != nil {
 		milestone = issue.Milestone.Title
 	}
-	var labels = make([]*base.Label, 0, len(issue.Labels))
+	labels := make([]*base.Label, 0, len(issue.Labels))
 	for _, l := range issue.Labels {
 		labels = append(labels, convertGogsLabel(l))
 	}
diff --git a/services/migrations/migrate.go b/services/migrations/migrate.go
index 65ecceddbea..7bca128ac52 100644
--- a/services/migrations/migrate.go
+++ b/services/migrations/migrate.go
@@ -123,7 +123,7 @@ func MigrateRepository(ctx context.Context, doer *user_model.User, ownerName str
 		return nil, err
 	}
 
-	var uploader = NewGiteaLocalUploader(ctx, doer, ownerName, opts.RepoName)
+	uploader := NewGiteaLocalUploader(ctx, doer, ownerName, opts.RepoName)
 	uploader.gitServiceType = opts.GitServiceType
 
 	if err := migrateRepository(downloader, uploader, opts, messenger); err != nil {
@@ -305,7 +305,7 @@ func migrateRepository(downloader base.Downloader, uploader base.Uploader, opts
 	if opts.Issues {
 		log.Trace("migrating issues and comments")
 		messenger("repo.migrate.migrating_issues")
-		var issueBatchSize = uploader.MaxBatchInsertSize("issue")
+		issueBatchSize := uploader.MaxBatchInsertSize("issue")
 
 		for i := 1; ; i++ {
 			issues, isEnd, err := downloader.GetIssues(i, issueBatchSize)
@@ -322,7 +322,7 @@ func migrateRepository(downloader base.Downloader, uploader base.Uploader, opts
 			}
 
 			if opts.Comments && !supportAllComments {
-				var allComments = make([]*base.Comment, 0, commentBatchSize)
+				allComments := make([]*base.Comment, 0, commentBatchSize)
 				for _, issue := range issues {
 					log.Trace("migrating issue %d's comments", issue.Number)
 					comments, _, err := downloader.GetComments(base.GetCommentOptions{
@@ -362,7 +362,7 @@ func migrateRepository(downloader base.Downloader, uploader base.Uploader, opts
 	if opts.PullRequests {
 		log.Trace("migrating pull requests and comments")
 		messenger("repo.migrate.migrating_pulls")
-		var prBatchSize = uploader.MaxBatchInsertSize("pullrequest")
+		prBatchSize := uploader.MaxBatchInsertSize("pullrequest")
 		for i := 1; ; i++ {
 			prs, isEnd, err := downloader.GetPullRequests(i, prBatchSize)
 			if err != nil {
@@ -380,7 +380,7 @@ func migrateRepository(downloader base.Downloader, uploader base.Uploader, opts
 			if opts.Comments {
 				if !supportAllComments {
 					// plain comments
-					var allComments = make([]*base.Comment, 0, commentBatchSize)
+					allComments := make([]*base.Comment, 0, commentBatchSize)
 					for _, pr := range prs {
 						log.Trace("migrating pull request %d's comments", pr.Number)
 						comments, _, err := downloader.GetComments(base.GetCommentOptions{
@@ -410,7 +410,7 @@ func migrateRepository(downloader base.Downloader, uploader base.Uploader, opts
 				}
 
 				// migrate reviews
-				var allReviews = make([]*base.Review, 0, reviewBatchSize)
+				allReviews := make([]*base.Review, 0, reviewBatchSize)
 				for _, pr := range prs {
 					reviews, err := downloader.GetReviews(pr.Context)
 					if err != nil {
diff --git a/services/migrations/onedev.go b/services/migrations/onedev.go
index bb676131f32..c8253e8947a 100644
--- a/services/migrations/onedev.go
+++ b/services/migrations/onedev.go
@@ -29,8 +29,7 @@ func init() {
 }
 
 // OneDevDownloaderFactory defines a downloader factory
-type OneDevDownloaderFactory struct {
-}
+type OneDevDownloaderFactory struct{}
 
 // New returns a downloader related to this factory according MigrateOptions
 func (f *OneDevDownloaderFactory) New(ctx context.Context, opts base.MigrateOptions) (base.Downloader, error) {
@@ -90,7 +89,7 @@ func (d *OneDevDownloader) SetContext(ctx context.Context) {
 
 // NewOneDevDownloader creates a new downloader
 func NewOneDevDownloader(ctx context.Context, baseURL *url.URL, username, password, repoName string) *OneDevDownloader {
-	var downloader = &OneDevDownloader{
+	downloader := &OneDevDownloader{
 		ctx:      ctx,
 		baseURL:  baseURL,
 		repoName: repoName,
@@ -195,7 +194,7 @@ func (d *OneDevDownloader) GetMilestones() ([]*base.Milestone, error) {
 
 	endpoint := fmt.Sprintf("/api/projects/%d/milestones", d.repoID)
 
-	var milestones = make([]*base.Milestone, 0, 100)
+	milestones := make([]*base.Milestone, 0, 100)
 	offset := 0
 	for {
 		err := d.callAPI(
@@ -583,7 +582,7 @@ func (d *OneDevDownloader) GetReviews(context base.IssueContext) ([]*base.Review
 		return nil, err
 	}
 
-	var reviews = make([]*base.Review, 0, len(rawReviews))
+	reviews := make([]*base.Review, 0, len(rawReviews))
 	for _, review := range rawReviews {
 		state := base.ReviewStatePending
 		content := ""
diff --git a/services/migrations/restore.go b/services/migrations/restore.go
index 357e995423e..4499f78701a 100644
--- a/services/migrations/restore.go
+++ b/services/migrations/restore.go
@@ -59,7 +59,7 @@ func (r *RepositoryRestorer) getRepoOptions() (map[string]string, error) {
 		return nil, err
 	}
 
-	var opts = make(map[string]string)
+	opts := make(map[string]string)
 	err = yaml.Unmarshal(bs, &opts)
 	if err != nil {
 		return nil, err
@@ -91,7 +91,7 @@ func (r *RepositoryRestorer) GetRepoInfo() (*base.Repository, error) {
 func (r *RepositoryRestorer) GetTopics() ([]string, error) {
 	p := filepath.Join(r.baseDir, "topic.yml")
 
-	var topics = struct {
+	topics := struct {
 		Topics []string `yaml:"topics"`
 	}{}
 
@@ -109,7 +109,7 @@ func (r *RepositoryRestorer) GetTopics() ([]string, error) {
 
 // GetMilestones returns milestones
 func (r *RepositoryRestorer) GetMilestones() ([]*base.Milestone, error) {
-	var milestones = make([]*base.Milestone, 0, 10)
+	milestones := make([]*base.Milestone, 0, 10)
 	p := filepath.Join(r.baseDir, "milestone.yml")
 	_, err := os.Stat(p)
 	if err != nil {
@@ -133,7 +133,7 @@ func (r *RepositoryRestorer) GetMilestones() ([]*base.Milestone, error) {
 
 // GetReleases returns releases
 func (r *RepositoryRestorer) GetReleases() ([]*base.Release, error) {
-	var releases = make([]*base.Release, 0, 10)
+	releases := make([]*base.Release, 0, 10)
 	p := filepath.Join(r.baseDir, "release.yml")
 	_, err := os.Stat(p)
 	if err != nil {
@@ -164,7 +164,7 @@ func (r *RepositoryRestorer) GetReleases() ([]*base.Release, error) {
 
 // GetLabels returns labels
 func (r *RepositoryRestorer) GetLabels() ([]*base.Label, error) {
-	var labels = make([]*base.Label, 0, 10)
+	labels := make([]*base.Label, 0, 10)
 	p := filepath.Join(r.baseDir, "label.yml")
 	_, err := os.Stat(p)
 	if err != nil {
@@ -188,7 +188,7 @@ func (r *RepositoryRestorer) GetLabels() ([]*base.Label, error) {
 
 // GetIssues returns issues according start and limit
 func (r *RepositoryRestorer) GetIssues(page, perPage int) ([]*base.Issue, bool, error) {
-	var issues = make([]*base.Issue, 0, 10)
+	issues := make([]*base.Issue, 0, 10)
 	p := filepath.Join(r.baseDir, "issue.yml")
 	_, err := os.Stat(p)
 	if err != nil {
@@ -215,7 +215,7 @@ func (r *RepositoryRestorer) GetIssues(page, perPage int) ([]*base.Issue, bool,
 
 // GetComments returns comments according issueNumber
 func (r *RepositoryRestorer) GetComments(opts base.GetCommentOptions) ([]*base.Comment, bool, error) {
-	var comments = make([]*base.Comment, 0, 10)
+	comments := make([]*base.Comment, 0, 10)
 	p := filepath.Join(r.commentDir(), fmt.Sprintf("%d.yml", opts.Context.ForeignID()))
 	_, err := os.Stat(p)
 	if err != nil {
@@ -239,7 +239,7 @@ func (r *RepositoryRestorer) GetComments(opts base.GetCommentOptions) ([]*base.C
 
 // GetPullRequests returns pull requests according page and perPage
 func (r *RepositoryRestorer) GetPullRequests(page, perPage int) ([]*base.PullRequest, bool, error) {
-	var pulls = make([]*base.PullRequest, 0, 10)
+	pulls := make([]*base.PullRequest, 0, 10)
 	p := filepath.Join(r.baseDir, "pull_request.yml")
 	_, err := os.Stat(p)
 	if err != nil {
@@ -267,7 +267,7 @@ func (r *RepositoryRestorer) GetPullRequests(page, perPage int) ([]*base.PullReq
 
 // GetReviews returns pull requests review
 func (r *RepositoryRestorer) GetReviews(context base.IssueContext) ([]*base.Review, error) {
-	var reviews = make([]*base.Review, 0, 10)
+	reviews := make([]*base.Review, 0, 10)
 	p := filepath.Join(r.reviewDir(), fmt.Sprintf("%d.yml", context.ForeignID()))
 	_, err := os.Stat(p)
 	if err != nil {
diff --git a/services/mirror/mirror_pull.go b/services/mirror/mirror_pull.go
index b9333c77f3f..36cd71aa6e6 100644
--- a/services/mirror/mirror_pull.go
+++ b/services/mirror/mirror_pull.go
@@ -150,8 +150,8 @@ func pruneBrokenReferences(ctx context.Context,
 	timeout time.Duration,
 	stdoutBuilder, stderrBuilder *strings.Builder,
 	sanitizer *strings.Replacer,
-	isWiki bool) error {
-
+	isWiki bool,
+) error {
 	wiki := ""
 	if isWiki {
 		wiki = "Wiki "
diff --git a/services/pull/commit_status.go b/services/pull/commit_status.go
index d605f8e3011..be8df0c9b15 100644
--- a/services/pull/commit_status.go
+++ b/services/pull/commit_status.go
@@ -26,7 +26,7 @@ func MergeRequiredContextsCommitStatus(commitStatuses []*models.CommitStatus, re
 		return structs.CommitStatusSuccess
 	}
 
-	var returnedStatus = structs.CommitStatusSuccess
+	returnedStatus := structs.CommitStatusSuccess
 	for _, ctx := range requiredContexts {
 		var targetStatus structs.CommitStatusState
 		for _, commitStatus := range commitStatuses {
diff --git a/services/pull/merge.go b/services/pull/merge.go
index 2a67507a87b..d2196b22d50 100644
--- a/services/pull/merge.go
+++ b/services/pull/merge.go
@@ -165,13 +165,13 @@ func rawMerge(ctx context.Context, pr *models.PullRequest, doer *user_model.User
 	}
 
 	infoPath := filepath.Join(tmpBasePath, ".git", "info")
-	if err := os.MkdirAll(infoPath, 0700); err != nil {
+	if err := os.MkdirAll(infoPath, 0o700); err != nil {
 		log.Error("Unable to create .git/info in %s: %v", tmpBasePath, err)
 		return "", fmt.Errorf("Unable to create .git/info in tmpBasePath: %v", err)
 	}
 
 	sparseCheckoutListPath := filepath.Join(infoPath, "sparse-checkout")
-	if err := os.WriteFile(sparseCheckoutListPath, []byte(sparseCheckoutList), 0600); err != nil {
+	if err := os.WriteFile(sparseCheckoutListPath, []byte(sparseCheckoutList), 0o600); err != nil {
 		log.Error("Unable to write .git/info/sparse-checkout file in %s: %v", tmpBasePath, err)
 		return "", fmt.Errorf("Unable to write .git/info/sparse-checkout file in tmpBasePath: %v", err)
 	}
diff --git a/services/pull/review.go b/services/pull/review.go
index 0db3168895c..25eef78d977 100644
--- a/services/pull/review.go
+++ b/services/pull/review.go
@@ -24,7 +24,6 @@ import (
 
 // CreateCodeComment creates a comment on the code line
 func CreateCodeComment(ctx context.Context, doer *user_model.User, gitRepo *git.Repository, issue *models.Issue, line int64, content, treePath string, isReview bool, replyReviewID int64, latestCommitID string) (*models.Comment, error) {
-
 	var (
 		existsReview bool
 		err          error
diff --git a/services/pull/temp_repo.go b/services/pull/temp_repo.go
index 140403172c2..fa3bb2f4bba 100644
--- a/services/pull/temp_repo.go
+++ b/services/pull/temp_repo.go
@@ -70,7 +70,7 @@ func createTemporaryRepo(ctx context.Context, pr *models.PullRequest) (string, e
 	// Add head repo remote.
 	addCacheRepo := func(staging, cache string) error {
 		p := filepath.Join(staging, ".git", "objects", "info", "alternates")
-		f, err := os.OpenFile(p, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0600)
+		f, err := os.OpenFile(p, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0o600)
 		if err != nil {
 			log.Error("Could not create .git/objects/info/alternates file in %s: %v", staging, err)
 			return err
diff --git a/services/pull/update.go b/services/pull/update.go
index 09cf1ce52e5..f32dfad2ca6 100644
--- a/services/pull/update.go
+++ b/services/pull/update.go
@@ -26,7 +26,7 @@ func Update(ctx context.Context, pull *models.PullRequest, doer *user_model.User
 		pr = pull
 		style = repo_model.MergeStyleRebaseUpdate
 	} else {
-		//use merge functions but switch repo's and branch's
+		// use merge functions but switch repo's and branch's
 		pr = &models.PullRequest{
 			HeadRepoID: pull.BaseRepoID,
 			BaseRepoID: pull.HeadRepoID,
diff --git a/services/release/release.go b/services/release/release.go
index aebf79edc34..8e6f9e1734f 100644
--- a/services/release/release.go
+++ b/services/release/release.go
@@ -210,7 +210,7 @@ func UpdateRelease(doer *user_model.User, gitRepo *git.Repository, rel *models.R
 		return fmt.Errorf("AddReleaseAttachments: %v", err)
 	}
 
-	var deletedUUIDsMap = make(map[string]bool)
+	deletedUUIDsMap := make(map[string]bool)
 	if len(delAttachmentUUIDs) > 0 {
 		// Check attachments
 		attachments, err := repo_model.GetAttachmentsByUUIDs(ctx, delAttachmentUUIDs)
@@ -230,7 +230,7 @@ func UpdateRelease(doer *user_model.User, gitRepo *git.Repository, rel *models.R
 	}
 
 	if len(editAttachments) > 0 {
-		var updateAttachmentsList = make([]string, 0, len(editAttachments))
+		updateAttachmentsList := make([]string, 0, len(editAttachments))
 		for k := range editAttachments {
 			updateAttachmentsList = append(updateAttachmentsList, k)
 		}
diff --git a/services/release/release_test.go b/services/release/release_test.go
index 4dc45c06e92..413a56116b0 100644
--- a/services/release/release_test.go
+++ b/services/release/release_test.go
@@ -112,7 +112,7 @@ func TestRelease_Create(t *testing.T) {
 	}, strings.NewReader("testtest"))
 	assert.NoError(t, err)
 
-	var release = models.Release{
+	release := models.Release{
 		RepoID:       repo.ID,
 		Repo:         repo,
 		PublisherID:  user.ID,
diff --git a/services/repository/adopt.go b/services/repository/adopt.go
index adc5942a3c7..46337254b2e 100644
--- a/services/repository/adopt.go
+++ b/services/repository/adopt.go
@@ -252,7 +252,8 @@ func checkUnadoptedRepositories(userName string, repoNamesToCheck []string, unad
 		ListOptions: db.ListOptions{
 			Page:     1,
 			PageSize: len(repoNamesToCheck),
-		}, LowerNames: repoNamesToCheck})
+		}, LowerNames: repoNamesToCheck,
+	})
 	if err != nil {
 		return err
 	}
diff --git a/services/repository/adopt_test.go b/services/repository/adopt_test.go
index 2053151106f..685bfe9bc48 100644
--- a/services/repository/adopt_test.go
+++ b/services/repository/adopt_test.go
@@ -69,7 +69,7 @@ func TestListUnadoptedRepositories_ListOptions(t *testing.T) {
 	username := "user2"
 	unadoptedList := []string{path.Join(username, "unadopted1"), path.Join(username, "unadopted2")}
 	for _, unadopted := range unadoptedList {
-		_ = os.Mkdir(path.Join(setting.RepoRootPath, unadopted+".git"), 0755)
+		_ = os.Mkdir(path.Join(setting.RepoRootPath, unadopted+".git"), 0o755)
 	}
 
 	opts := db.ListOptions{Page: 1, PageSize: 1}
diff --git a/services/repository/archiver/archiver.go b/services/repository/archiver/archiver.go
index 93ec8bcca23..f982e2ef7b1 100644
--- a/services/repository/archiver/archiver.go
+++ b/services/repository/archiver/archiver.go
@@ -172,7 +172,7 @@ func doArchive(r *ArchiveRequest) (*repo_model.RepoArchiver, error) {
 		w.Close()
 		rd.Close()
 	}()
-	var done = make(chan error)
+	done := make(chan error)
 	repo, err := repo_model.GetRepositoryByID(archiver.RepoID)
 	if err != nil {
 		return nil, fmt.Errorf("archiver.LoadRepo failed: %v", err)
diff --git a/services/repository/archiver/archiver_test.go b/services/repository/archiver/archiver_test.go
index 2c0b46d3d40..b7fb6cb0ca4 100644
--- a/services/repository/archiver/archiver_test.go
+++ b/services/repository/archiver/archiver_test.go
@@ -128,6 +128,6 @@ func TestArchive_Basic(t *testing.T) {
 }
 
 func TestErrUnknownArchiveFormat(t *testing.T) {
-	var err = ErrUnknownArchiveFormat{RequestFormat: "master"}
+	err := ErrUnknownArchiveFormat{RequestFormat: "master"}
 	assert.True(t, errors.Is(err, ErrUnknownArchiveFormat{}))
 }
diff --git a/services/repository/push.go b/services/repository/push.go
index 62e2104432b..518ad041576 100644
--- a/services/repository/push.go
+++ b/services/repository/push.go
@@ -312,7 +312,7 @@ func pushUpdateAddTags(ctx context.Context, repo *repo_model.Repository, gitRepo
 			sig = commit.Committer
 		}
 		var author *user_model.User
-		var createdAt = time.Unix(1, 0)
+		createdAt := time.Unix(1, 0)
 
 		if sig != nil {
 			var ok bool
diff --git a/services/task/task.go b/services/task/task.go
index 4994be87dd0..376fe1dce10 100644
--- a/services/task/task.go
+++ b/services/task/task.go
@@ -92,7 +92,7 @@ func CreateMigrateTask(doer, u *user_model.User, opts base.MigrateOptions) (*mod
 		return nil, err
 	}
 
-	var task = &models.Task{
+	task := &models.Task{
 		DoerID:         doer.ID,
 		OwnerID:        u.ID,
 		Type:           structs.TaskTypeMigrateRepo,
diff --git a/services/webhook/deliver.go b/services/webhook/deliver.go
index 36169baad46..88b709cb41e 100644
--- a/services/webhook/deliver.go
+++ b/services/webhook/deliver.go
@@ -64,7 +64,7 @@ func Deliver(t *webhook_model.HookTask) error {
 
 			req.Header.Set("Content-Type", "application/json")
 		case webhook_model.ContentTypeForm:
-			var forms = url.Values{
+			forms := url.Values{
 				"payload": []string{t.PayloadContent},
 			}
 
@@ -255,7 +255,6 @@ func DeliverHooks(ctx context.Context) {
 			}
 		}
 	}
-
 }
 
 var (
diff --git a/services/webhook/deliver_test.go b/services/webhook/deliver_test.go
index 551c957c8d1..8d1d587c38f 100644
--- a/services/webhook/deliver_test.go
+++ b/services/webhook/deliver_test.go
@@ -19,7 +19,7 @@ func TestWebhookProxy(t *testing.T) {
 	setting.Webhook.ProxyURLFixed, _ = url.Parse(setting.Webhook.ProxyURL)
 	setting.Webhook.ProxyHosts = []string{"*.discordapp.com", "discordapp.com"}
 
-	var kases = map[string]string{
+	kases := map[string]string{
 		"https://discordapp.com/api/webhooks/xxxxxxxxx/xxxxxxxxxxxxxxxxxxx": "http://localhost:8080",
 		"http://s.discordapp.com/assets/xxxxxx":                             "http://localhost:8080",
 		"http://github.com/a/b":                                             "",
diff --git a/services/webhook/dingtalk.go b/services/webhook/dingtalk.go
index a949b073a52..642cf6f2fda 100644
--- a/services/webhook/dingtalk.go
+++ b/services/webhook/dingtalk.go
@@ -23,9 +23,7 @@ type (
 	DingtalkPayload dingtalk.Payload
 )
 
-var (
-	_ PayloadConvertor = &DingtalkPayload{}
-)
+var _ PayloadConvertor = &DingtalkPayload{}
 
 // JSONPayload Marshals the DingtalkPayload to json
 func (d *DingtalkPayload) JSONPayload() ([]byte, error) {
@@ -135,7 +133,6 @@ func (d *DingtalkPayload) Review(p *api.PullRequestPayload, event webhook_model.
 
 		title = fmt.Sprintf("[%s] Pull request review %s : #%d %s", p.Repository.FullName, action, p.Index, p.PullRequest.Title)
 		text = p.Review.Content
-
 	}
 
 	return createDingtalkPayload(title, title+"\r\n\r\n"+text, "view pull request", p.PullRequest.HTMLURL), nil
diff --git a/services/webhook/discord.go b/services/webhook/discord.go
index 587d2098eba..ae5460b9a7a 100644
--- a/services/webhook/discord.go
+++ b/services/webhook/discord.go
@@ -106,9 +106,7 @@ func (d *DiscordPayload) JSONPayload() ([]byte, error) {
 	return data, nil
 }
 
-var (
-	_ PayloadConvertor = &DiscordPayload{}
-)
+var _ PayloadConvertor = &DiscordPayload{}
 
 // Create implements PayloadConvertor Create method
 func (d *DiscordPayload) Create(p *api.CreatePayload) (api.Payloader, error) {
diff --git a/services/webhook/feishu.go b/services/webhook/feishu.go
index 18858c0994e..5b20c7dda7e 100644
--- a/services/webhook/feishu.go
+++ b/services/webhook/feishu.go
@@ -44,9 +44,7 @@ func (f *FeishuPayload) JSONPayload() ([]byte, error) {
 	return data, nil
 }
 
-var (
-	_ PayloadConvertor = &FeishuPayload{}
-)
+var _ PayloadConvertor = &FeishuPayload{}
 
 // Create implements PayloadConvertor Create method
 func (f *FeishuPayload) Create(p *api.CreatePayload) (api.Payloader, error) {
@@ -80,7 +78,7 @@ func (f *FeishuPayload) Push(p *api.PushPayload) (api.Payloader, error) {
 		commitDesc string
 	)
 
-	var text = fmt.Sprintf("[%s:%s] %s\r\n", p.Repo.FullName, branchName, commitDesc)
+	text := fmt.Sprintf("[%s:%s] %s\r\n", p.Repo.FullName, branchName, commitDesc)
 	// for each commit, generate attachment text
 	for i, commit := range p.Commits {
 		var authorName string
diff --git a/services/webhook/matrix.go b/services/webhook/matrix.go
index 72392debe94..a42ab2a93e0 100644
--- a/services/webhook/matrix.go
+++ b/services/webhook/matrix.go
@@ -53,9 +53,7 @@ type MatrixPayloadUnsafe struct {
 	AccessToken string `json:"access_token"`
 }
 
-var (
-	_ PayloadConvertor = &MatrixPayloadUnsafe{}
-)
+var _ PayloadConvertor = &MatrixPayloadUnsafe{}
 
 // safePayload "converts" a unsafe payload to a safe payload
 func (m *MatrixPayloadUnsafe) safePayload() *MatrixPayloadSafe {
diff --git a/services/webhook/msteams.go b/services/webhook/msteams.go
index ae5af8d9b6f..59e2e934939 100644
--- a/services/webhook/msteams.go
+++ b/services/webhook/msteams.go
@@ -65,9 +65,7 @@ func (m *MSTeamsPayload) JSONPayload() ([]byte, error) {
 	return data, nil
 }
 
-var (
-	_ PayloadConvertor = &MSTeamsPayload{}
-)
+var _ PayloadConvertor = &MSTeamsPayload{}
 
 // Create implements PayloadConvertor Create method
 func (m *MSTeamsPayload) Create(p *api.CreatePayload) (api.Payloader, error) {
diff --git a/services/webhook/slack.go b/services/webhook/slack.go
index a67fe6a762f..11e1d3c081c 100644
--- a/services/webhook/slack.go
+++ b/services/webhook/slack.go
@@ -96,9 +96,7 @@ func SlackLinkToRef(repoURL, ref string) string {
 	return SlackLinkFormatter(url, refName)
 }
 
-var (
-	_ PayloadConvertor = &SlackPayload{}
-)
+var _ PayloadConvertor = &SlackPayload{}
 
 // Create implements PayloadConvertor Create method
 func (s *SlackPayload) Create(p *api.CreatePayload) (api.Payloader, error) {
diff --git a/services/webhook/telegram.go b/services/webhook/telegram.go
index 93c464fe73d..64211493ec6 100644
--- a/services/webhook/telegram.go
+++ b/services/webhook/telegram.go
@@ -40,9 +40,7 @@ func GetTelegramHook(w *webhook_model.Webhook) *TelegramMeta {
 	return s
 }
 
-var (
-	_ PayloadConvertor = &TelegramPayload{}
-)
+var _ PayloadConvertor = &TelegramPayload{}
 
 // JSONPayload Marshals the TelegramPayload to json
 func (t *TelegramPayload) JSONPayload() ([]byte, error) {
diff --git a/services/webhook/webhook.go b/services/webhook/webhook.go
index f284a20c306..bb7a9692d11 100644
--- a/services/webhook/webhook.go
+++ b/services/webhook/webhook.go
@@ -25,42 +25,40 @@ type webhook struct {
 	payloadCreator func(p api.Payloader, event webhook_model.HookEventType, meta string) (api.Payloader, error)
 }
 
-var (
-	webhooks = map[webhook_model.HookType]*webhook{
-		webhook_model.SLACK: {
-			name:           webhook_model.SLACK,
-			payloadCreator: GetSlackPayload,
-		},
-		webhook_model.DISCORD: {
-			name:           webhook_model.DISCORD,
-			payloadCreator: GetDiscordPayload,
-		},
-		webhook_model.DINGTALK: {
-			name:           webhook_model.DINGTALK,
-			payloadCreator: GetDingtalkPayload,
-		},
-		webhook_model.TELEGRAM: {
-			name:           webhook_model.TELEGRAM,
-			payloadCreator: GetTelegramPayload,
-		},
-		webhook_model.MSTEAMS: {
-			name:           webhook_model.MSTEAMS,
-			payloadCreator: GetMSTeamsPayload,
-		},
-		webhook_model.FEISHU: {
-			name:           webhook_model.FEISHU,
-			payloadCreator: GetFeishuPayload,
-		},
-		webhook_model.MATRIX: {
-			name:           webhook_model.MATRIX,
-			payloadCreator: GetMatrixPayload,
-		},
-		webhook_model.WECHATWORK: {
-			name:           webhook_model.WECHATWORK,
-			payloadCreator: GetWechatworkPayload,
-		},
-	}
-)
+var webhooks = map[webhook_model.HookType]*webhook{
+	webhook_model.SLACK: {
+		name:           webhook_model.SLACK,
+		payloadCreator: GetSlackPayload,
+	},
+	webhook_model.DISCORD: {
+		name:           webhook_model.DISCORD,
+		payloadCreator: GetDiscordPayload,
+	},
+	webhook_model.DINGTALK: {
+		name:           webhook_model.DINGTALK,
+		payloadCreator: GetDingtalkPayload,
+	},
+	webhook_model.TELEGRAM: {
+		name:           webhook_model.TELEGRAM,
+		payloadCreator: GetTelegramPayload,
+	},
+	webhook_model.MSTEAMS: {
+		name:           webhook_model.MSTEAMS,
+		payloadCreator: GetMSTeamsPayload,
+	},
+	webhook_model.FEISHU: {
+		name:           webhook_model.FEISHU,
+		payloadCreator: GetFeishuPayload,
+	},
+	webhook_model.MATRIX: {
+		name:           webhook_model.MATRIX,
+		payloadCreator: GetMatrixPayload,
+	},
+	webhook_model.WECHATWORK: {
+		name:           webhook_model.WECHATWORK,
+		payloadCreator: GetWechatworkPayload,
+	},
+}
 
 // RegisterWebhook registers a webhook
 func RegisterWebhook(name string, webhook *webhook) {
diff --git a/services/webhook/wechatwork.go b/services/webhook/wechatwork.go
index e8ab07aaa03..de8b7770665 100644
--- a/services/webhook/wechatwork.go
+++ b/services/webhook/wechatwork.go
@@ -52,9 +52,7 @@ func newWechatworkMarkdownPayload(title string) *WechatworkPayload {
 	}
 }
 
-var (
-	_ PayloadConvertor = &WechatworkPayload{}
-)
+var _ PayloadConvertor = &WechatworkPayload{}
 
 // Create implements PayloadConvertor Create method
 func (f *WechatworkPayload) Create(p *api.CreatePayload) (api.Payloader, error) {
@@ -72,12 +70,10 @@ func (f *WechatworkPayload) Delete(p *api.DeletePayload) (api.Payloader, error)
 	title := fmt.Sprintf("[%s] %s %s deleted", p.Repo.FullName, p.RefType, refName)
 
 	return newWechatworkMarkdownPayload(title), nil
-
 }
 
 // Fork implements PayloadConvertor Fork method
 func (f *WechatworkPayload) Fork(p *api.ForkPayload) (api.Payloader, error) {
-
 	title := fmt.Sprintf("%s is forked to %s", p.Forkee.FullName, p.Repo.FullName)
 
 	return newWechatworkMarkdownPayload(title), nil
@@ -110,7 +106,6 @@ func (f *WechatworkPayload) Push(p *api.PushPayload) (api.Payloader, error) {
 		}
 	}
 	return newWechatworkMarkdownPayload(title + "\r\n\r\n" + text), nil
-
 }
 
 // Issue implements PayloadConvertor Issue method
@@ -120,7 +115,6 @@ func (f *WechatworkPayload) Issue(p *api.IssuePayload) (api.Payloader, error) {
 	content += fmt.Sprintf(" ><font color=\"info\">%s</font>\n >%s \n ><font color=\"warning\"> %s</font> \n [%s](%s)", text, attachmentText, issueTitle, p.Issue.HTMLURL, p.Issue.HTMLURL)
 
 	return newWechatworkMarkdownPayload(content), nil
-
 }
 
 // IssueComment implements PayloadConvertor IssueComment method
@@ -130,7 +124,6 @@ func (f *WechatworkPayload) IssueComment(p *api.IssueCommentPayload) (api.Payloa
 	content += fmt.Sprintf(" ><font color=\"info\">%s</font>\n >%s \n ><font color=\"warning\">%s</font> \n [%s](%s)", text, p.Comment.Body, issueTitle, p.Comment.HTMLURL, p.Comment.HTMLURL)
 
 	return newWechatworkMarkdownPayload(content), nil
-
 }
 
 // PullRequest implements PayloadConvertor PullRequest method
@@ -140,7 +133,6 @@ func (f *WechatworkPayload) PullRequest(p *api.PullRequestPayload) (api.Payloade
 		text, issueTitle, attachmentText)
 
 	return newWechatworkMarkdownPayload(pr), nil
-
 }
 
 // Review implements PayloadConvertor Review method
@@ -157,7 +149,6 @@ func (f *WechatworkPayload) Review(p *api.PullRequestPayload, event webhook_mode
 	}
 
 	return newWechatworkMarkdownPayload("# " + title + "\r\n\r\n >" + text), nil
-
 }
 
 // Repository implements PayloadConvertor Repository method
diff --git a/tools/fuzz.go b/tools/fuzz.go
index d629096ed68..64fda17b5d8 100644
--- a/tools/fuzz.go
+++ b/tools/fuzz.go
@@ -24,16 +24,14 @@ import (
 // (for example, the input is lexically correct and was parsed successfully).
 // -1 if the input must not be added to corpus even if gives new coverage and 0 otherwise.
 
-var (
-	renderContext = markup.RenderContext{
-		Ctx:       context.Background(),
-		URLPrefix: "https://example.com/go-gitea/gitea",
-		Metas: map[string]string{
-			"user": "go-gitea",
-			"repo": "gitea",
-		},
-	}
-)
+var renderContext = markup.RenderContext{
+	Ctx:       context.Background(),
+	URLPrefix: "https://example.com/go-gitea/gitea",
+	Metas: map[string]string{
+		"user": "go-gitea",
+		"repo": "gitea",
+	},
+}
 
 func FuzzMarkdownRenderRaw(data []byte) int {
 	setting.AppURL = "http://localhost:3000/"