Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Sep 2024 05:39:26 GMT
From:      Matthias Fechner <mfechner@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 2b6a89e02f33 - main - www/gitlab: major upgrade to 17.3.1
Message-ID:  <202409070539.4875dQuf035270@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mfechner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2b6a89e02f3359a7789f16b6154d7f37593e0631

commit 2b6a89e02f3359a7789f16b6154d7f37593e0631
Author:     Matthias Fechner <mfechner@FreeBSD.org>
AuthorDate: 2024-08-27 20:02:23 +0000
Commit:     Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2024-09-07 04:51:00 +0000

    www/gitlab: major upgrade to 17.3.1
    
    This commit includes also a suggestion from Robert Nagy <robert@openbsd.org>
    to use the git version from gitlab in the gitaly port which is now required.
    Thanks again for this contributation!
    
    Put the gitlab and git version into a common Makefile that is included in every
    port that requires the same version like gitlab has.
    
    Changes:        https://about.gitlab.com/releases/2024/07/18/gitlab-17-2-released/
    Changes:        https://about.gitlab.com/releases/2024/08/15/gitlab-17-3-released/
---
 devel/gitaly/Makefile                              |  19 +--
 devel/gitaly/distinfo                              |  12 +-
 devel/gitaly/files/patch-Makefile                  |  21 +++
 devel/gitaly/files/patch-config.toml.example       |  19 +--
 devel/gitlab-runner/Makefile                       |   2 +-
 devel/gitlab-runner/distinfo                       |  18 +--
 devel/gitlab-shell/Makefile                        |   5 +-
 devel/gitlab-shell/distinfo                        |  10 +-
 net/gitlab-agent/Makefile                          |   3 +-
 net/gitlab-agent/distinfo                          |  10 +-
 net/rubygem-gitaly/Makefile                        |   2 +-
 net/rubygem-gitaly/distinfo                        |   6 +-
 textproc/gitlab-elasticsearch-indexer/Makefile     |   3 +-
 textproc/gitlab-elasticsearch-indexer/distinfo     |  10 +-
 www/gitlab-pages/Makefile                          |   3 +-
 www/gitlab-pages/distinfo                          |  10 +-
 www/gitlab-workhorse/Makefile                      |   3 +-
 www/gitlab-workhorse/distinfo                      |  10 +-
 www/gitlab/Makefile                                | 107 ++++++++-------
 www/gitlab/Makefile.common                         |   9 ++
 www/gitlab/distinfo                                |  12 +-
 www/gitlab/files/gitlab.in                         |   1 +
 www/gitlab/files/patch-Gemfile                     | 145 ++++++++-------------
 www/gitlab/files/patch-config_gitlab.yml.example   |  20 +--
 .../files/patch-config_initializers_1__settings.rb |   4 +-
 ...ems_gitlab-backup-cli_gitlab-backup-cli.gemspec |  11 ++
 www/gitlab/pkg-message                             |   4 +-
 27 files changed, 244 insertions(+), 235 deletions(-)

diff --git a/devel/gitaly/Makefile b/devel/gitaly/Makefile
index db6a9c2d85f0..b1a32e32adf7 100644
--- a/devel/gitaly/Makefile
+++ b/devel/gitaly/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gitaly
 DISTVERSIONPREFIX=	v
-DISTVERSION=	17.1.6
+DISTVERSION=	${GITLAB_VERSION}
 CATEGORIES=	devel
 
 MAINTAINER=	mfechner@FreeBSD.org
@@ -10,27 +10,29 @@ WWW=		https://gitlab.com/gitlab-org/gitaly
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-# define dependencies that are required for build and run under MY_DEPENDS
-MY_DEPENDS=	git>=2.45.2:devel/git
 BUILD_DEPENDS=	bash>0:shells/bash \
 		${LOCALBASE}/bin/cmake:devel/cmake-core \
 		pcre2>0:devel/pcre2 \
-		http-parser>0:www/http-parser \
-		${MY_DEPENDS}
-RUN_DEPENDS=	${MY_DEPENDS}
+		http-parser>0:www/http-parser
+LIB_DEPENDS=	libcurl.so:ftp/curl \
+		libiconv.so:converters/libiconv \
+		libpcre2-8.so:devel/pcre2
 
-USES=		cpe gmake go:modules,no_targets,1.22 iconv pkgconfig ssl
+USES=		cpe gmake go:modules,no_targets,1.22 iconv pkgconfig
 
 CPE_VENDOR=	gitlab
 
 USE_GITLAB=	yes
 GL_ACCOUNT=	gitlab-org
 GO_MOD_DIST=	gitlab
-GO_MODULE=	gitlab.com/gitlab-org/gitaly/v16
+GO_MODULE=	gitlab.com/gitlab-org/gitaly/v17
+GL_TUPLE=	gitlab-org:git:v${GITLAB_GIT_VERSION}:_build/_build/deps/git-v${GITLAB_GIT_VERSION_SHORT}
 
 MAKE_ENV=	GOFLAGS="${GO_BUILDFLAGS}"
 # make sure to pass go build options into make process
 MAKE_ENV+=	${GO_ENV}
+# parallel build failed in my tests, so disable it here
+MAKE_JOBS_UNSAFE=yes
 
 post-patch:
 	${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config.toml.example
@@ -50,4 +52,5 @@ post-install:
 		/gitlab-shell-hook$$/ s#^#@(,,755) #; \
 		s#${DATADIR_REL}/bin#@(,,555) ${DATADIR_REL}/bin#; ' >> ${TMPPLIST}
 
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
 .include <bsd.port.mk>
diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo
index fdfdb6ff5169..e4dc53e9b3ce 100644
--- a/devel/gitaly/distinfo
+++ b/devel/gitaly/distinfo
@@ -1,5 +1,7 @@
-TIMESTAMP = 1724572877
-SHA256 (go/devel_gitaly/gitaly-v17.1.6/go.mod) = 46321e96184062643db930c26d8033bdb94f79cd766b3768b96cf2feced18b8b
-SIZE (go/devel_gitaly/gitaly-v17.1.6/go.mod) = 11095
-SHA256 (go/devel_gitaly/gitaly-v17.1.6/gitaly-v17.1.6.tar.bz2) = 0e8ce19bbc74da091653aad2b02ee69f17afdd30f186a600e561828f287541f8
-SIZE (go/devel_gitaly/gitaly-v17.1.6/gitaly-v17.1.6.tar.bz2) = 2629818
+TIMESTAMP = 1724605762
+SHA256 (go/devel_gitaly/gitaly-v17.3.1/go.mod) = 27f37cc992540a2c53a90a47c503860a012051134ac616859cc2e662ee9c0d54
+SIZE (go/devel_gitaly/gitaly-v17.3.1/go.mod) = 12846
+SHA256 (go/devel_gitaly/gitaly-v17.3.1/gitaly-v17.3.1.tar.bz2) = 1e80133aace4a703c5dacbcdaa72ce8ff86d123bc8253c0d4ccf1ace9da81950
+SIZE (go/devel_gitaly/gitaly-v17.3.1/gitaly-v17.3.1.tar.bz2) = 2914897
+SHA256 (go/devel_gitaly/gitaly-v17.3.1/git-v2.45.2.tar.bz2) = da929efd422d9e7e030ccbfac4c51acd56f63e96f67f2714fe906bf7f033604e
+SIZE (go/devel_gitaly/gitaly-v17.3.1/git-v2.45.2.tar.bz2) = 8710568
diff --git a/devel/gitaly/files/patch-Makefile b/devel/gitaly/files/patch-Makefile
new file mode 100644
index 000000000000..29da174b7379
--- /dev/null
+++ b/devel/gitaly/files/patch-Makefile
@@ -0,0 +1,21 @@
+--- Makefile.orig	2024-08-20 19:30:28 UTC
++++ Makefile
+@@ -618,12 +618,12 @@ ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/gi
+ # otherwise try to rebuild all targets depending on it whenever we build
+ # something else. We thus depend on the Makefile instead.
+ ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/git-%.version
+-	${Q}${GIT} -c init.defaultBranch=master init ${GIT_QUIET} "${@D}"
+-	${Q}${GIT} -C "${@D}" config remote.origin.url ${GIT_REPO_URL}
+-	${Q}${GIT} -C "${@D}" config remote.origin.tagOpt --no-tags
+-	${Q}${GIT} -C "${@D}" fetch --depth 1 ${GIT_QUIET} origin ${GIT_VERSION}
+-	${Q}${GIT} -C "${@D}" reset --hard
+-	${Q}${GIT} -C "${@D}" checkout ${GIT_QUIET} --detach FETCH_HEAD
++	#${Q}${GIT} -c init.defaultBranch=master init ${GIT_QUIET} "${@D}"
++	#${Q}${GIT} -C "${@D}" config remote.origin.url ${GIT_REPO_URL}
++	#${Q}${GIT} -C "${@D}" config remote.origin.tagOpt --no-tags
++	#${Q}${GIT} -C "${@D}" fetch --depth 1 ${GIT_QUIET} origin ${GIT_VERSION}
++	#${Q}${GIT} -C "${@D}" reset --hard
++	#${Q}${GIT} -C "${@D}" checkout ${GIT_QUIET} --detach FETCH_HEAD
+ ifeq ($(OVERRIDE_GIT_VERSION),)
+ 	${Q}rm -f "${@D}"/version
+ else
diff --git a/devel/gitaly/files/patch-config.toml.example b/devel/gitaly/files/patch-config.toml.example
index 1ade94b72f95..13378b8efdae 100644
--- a/devel/gitaly/files/patch-config.toml.example
+++ b/devel/gitaly/files/patch-config.toml.example
@@ -1,4 +1,4 @@
---- config.toml.example.orig	2024-01-17 10:05:29 UTC
+--- config.toml.example.orig	2024-08-20 19:30:28 UTC
 +++ config.toml.example
 @@ -2,10 +2,10 @@
  # For Gitaly documentation, see https://docs.gitlab.com/ee/administration/gitaly/.
@@ -26,7 +26,7 @@
  # # Maximum number of cached 'cat-file' processes, which constitute a pair of 'git cat-file --batch' and
  # # 'git cat-file --batch-check' processes. Defaults to '100'.
  # catfile_cache_size = 100
-@@ -58,7 +58,7 @@ bin_dir = "/home/git/gitaly/_build/bin"
+@@ -58,7 +58,7 @@ name = "default"
  # # The name of the storage
  name = "default"
  # # The path to the storage.
@@ -35,20 +35,7 @@
  
  # # You can optionally configure more storages for this Gitaly instance to serve up
  #
-@@ -68,9 +68,9 @@ path = "/home/git/repositories"
- #
- 
- # # Optional. Configure Gitaly to output JSON-formatted log messages to stdout.
--# [logging]
--# # Directory where Gitaly stores extra log files.
--dir = "/home/git/gitlab/log"
-+[logging]
-+# Directory where Gitaly stores extra log files.
-+dir = "%%PREFIX%%/www/gitlab/log"
- # # Log format. Either 'text' or 'json'.
- # format = "json"
- # # Optional. Set log level to only log entries with that severity or above.
-@@ -91,18 +91,18 @@ sentry_environment = ""
+@@ -89,18 +89,18 @@ sentry_environment = ""
  # # Custom Git hooks that are used to perform tasks based on changes performed in any repository.
  [hooks]
  # # Directory where custom Git hooks are installed. If left unset, no custom hooks are used.
diff --git a/devel/gitlab-runner/Makefile b/devel/gitlab-runner/Makefile
index 89e3d38e1d7a..bb5d1626c63d 100644
--- a/devel/gitlab-runner/Makefile
+++ b/devel/gitlab-runner/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gitlab-runner
 DISTVERSIONPREFIX=	v
-DISTVERSION=	17.2.0
+DISTVERSION=	17.3.1
 CATEGORIES=	devel
 MASTER_SITES=	https://gitlab-runner-downloads.s3.amazonaws.com/master/docker/:dockerx64 \
 		https://gitlab-runner-downloads.s3.amazonaws.com/master/docker/:dockerarm
diff --git a/devel/gitlab-runner/distinfo b/devel/gitlab-runner/distinfo
index eb1196cfb668..70aa3a51aac2 100644
--- a/devel/gitlab-runner/distinfo
+++ b/devel/gitlab-runner/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1721624584
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.2.0/prebuilt-x86_64.tar.xz) = b0dccc53f415962dde3f5a7e6f1ab068b8da5484a7fefdae2c5e39d8bb6c637e
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.2.0/prebuilt-x86_64.tar.xz) = 9594352
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.2.0/prebuilt-arm.tar.xz) = 5018c6b661ebf4b9c661593548e45394c553bbd4082b5ef744a39a1f7f1fee32
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.2.0/prebuilt-arm.tar.xz) = 9020896
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.2.0/go.mod) = 2c7421c611c5133e5bc43399c2c20b4ab5ad4153e10a49b3c1159241c3c90008
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.2.0/go.mod) = 11273
-SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.2.0/gitlab-runner-v17.2.0.tar.bz2) = 266b5d7f50d947d727b1dcaebdafe811e6bbf1be976ec8ece9a8dd158ba92e31
-SIZE (go/devel_gitlab-runner/gitlab-runner-v17.2.0/gitlab-runner-v17.2.0.tar.bz2) = 1377145
+TIMESTAMP = 1724596164
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.3.1/prebuilt-x86_64.tar.xz) = b0dccc53f415962dde3f5a7e6f1ab068b8da5484a7fefdae2c5e39d8bb6c637e
+SIZE (go/devel_gitlab-runner/gitlab-runner-v17.3.1/prebuilt-x86_64.tar.xz) = 9594352
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.3.1/prebuilt-arm.tar.xz) = 5018c6b661ebf4b9c661593548e45394c553bbd4082b5ef744a39a1f7f1fee32
+SIZE (go/devel_gitlab-runner/gitlab-runner-v17.3.1/prebuilt-arm.tar.xz) = 9020896
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.3.1/go.mod) = 94bc0ceb7e38b13ce972673ba049b6425e0a2bec75b0e8d7abdab35e7fe1726b
+SIZE (go/devel_gitlab-runner/gitlab-runner-v17.3.1/go.mod) = 11274
+SHA256 (go/devel_gitlab-runner/gitlab-runner-v17.3.1/gitlab-runner-v17.3.1.tar.bz2) = ef1fd3832ad993d7cb980e63154eb0d6eb28b9d33858d658d15d231297e154e5
+SIZE (go/devel_gitlab-runner/gitlab-runner-v17.3.1/gitlab-runner-v17.3.1.tar.bz2) = 1382824
diff --git a/devel/gitlab-shell/Makefile b/devel/gitlab-shell/Makefile
index a7328a3ce38d..b57f786d4616 100644
--- a/devel/gitlab-shell/Makefile
+++ b/devel/gitlab-shell/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-shell
-PORTVERSION=	14.36.0
+PORTVERSION=	14.38.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	2
 CATEGORIES=	devel
 
 MAINTAINER=	mfechner@FreeBSD.org
@@ -14,7 +13,7 @@ LICENSE=	MIT
 # https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/720
 #BUILD_DEPENDS=	heimdal>=0:security/heimdal
 
-USES=		gmake go:modules,no_targets,1.21 pkgconfig
+USES=		gmake go:modules,no_targets,1.22 pkgconfig
 
 USE_GITLAB=	yes
 GL_ACCOUNT=	gitlab-org
diff --git a/devel/gitlab-shell/distinfo b/devel/gitlab-shell/distinfo
index 98d9588b4e7c..912029793e8c 100644
--- a/devel/gitlab-shell/distinfo
+++ b/devel/gitlab-shell/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1718793702
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.36.0/go.mod) = c28824464f523f79c5eff5f104f4c34fda80bcf62957e66d1e087a2cb2066109
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.36.0/go.mod) = 5424
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.36.0/gitlab-shell-v14.36.0.tar.bz2) = c1c9c0759ddf815ee37365cb48801273af19a25995685c9212b28abe2516500b
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.36.0/gitlab-shell-v14.36.0.tar.bz2) = 158039
+TIMESTAMP = 1724586105
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.38.0/go.mod) = 00bddbd45813229c6a72e87051101ea76997822abb2ebf9bfea6fc69a3fcd9f6
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.38.0/go.mod) = 5327
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.38.0/gitlab-shell-v14.38.0.tar.bz2) = aa09fd94525c33782f4d1c18802fa6ceb180df6a03ce95e849f96baeb533b6ab
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.38.0/gitlab-shell-v14.38.0.tar.bz2) = 157526
diff --git a/net/gitlab-agent/Makefile b/net/gitlab-agent/Makefile
index 91fc48f1c82c..4c388df6842c 100644
--- a/net/gitlab-agent/Makefile
+++ b/net/gitlab-agent/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitlab-agent
-PORTVERSION=	17.1.6
+PORTVERSION=	${GITLAB_VERSION}
 DISTVERSIONPREFIX=	v
 CATEGORIES=	net
 
@@ -29,4 +29,5 @@ PLIST_FILES=	bin/kas
 do-install:
 	${INSTALL_PROGRAM} ${WRKDIR}/bin/kas ${STAGEDIR}${PREFIX}/bin/kas
 
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
 .include <bsd.port.mk>
diff --git a/net/gitlab-agent/distinfo b/net/gitlab-agent/distinfo
index c5e758327257..0df9472cfeb7 100644
--- a/net/gitlab-agent/distinfo
+++ b/net/gitlab-agent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1724573038
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.1.6/v17.1.6.mod) = 7ab7b64f4dbcbf2f73c13ae82253a7f4d9a05c7a1b16c90bf11b4bd084a41704
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.1.6/v17.1.6.mod) = 7042
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.1.6/v17.1.6.zip) = 629a1a807308c23ac555a2d43487b14344161092f17567296962e1f604ee3654
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.1.6/v17.1.6.zip) = 1237736
+TIMESTAMP = 1724586111
+SHA256 (go/net_gitlab-agent/gitlab-agent-v17.3.1/v17.3.1.mod) = 394483a3087d074c2fbbf29414d34c1f75d176f33d2fb530275ad5ea8361ebb0
+SIZE (go/net_gitlab-agent/gitlab-agent-v17.3.1/v17.3.1.mod) = 8581
+SHA256 (go/net_gitlab-agent/gitlab-agent-v17.3.1/v17.3.1.zip) = c6f566ab12b5053764c556aa4bcadf14322433a6f4e13d152e95ab6caeaf933a
+SIZE (go/net_gitlab-agent/gitlab-agent-v17.3.1/v17.3.1.zip) = 1334017
diff --git a/net/rubygem-gitaly/Makefile b/net/rubygem-gitaly/Makefile
index 2402e57dc408..259a8f465138 100644
--- a/net/rubygem-gitaly/Makefile
+++ b/net/rubygem-gitaly/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitaly
-PORTVERSION=	17.1.6
+PORTVERSION=	17.2.4
 CATEGORIES=	net rubygems
 MASTER_SITES=	RG
 
diff --git a/net/rubygem-gitaly/distinfo b/net/rubygem-gitaly/distinfo
index 4a4646b2b2b1..c2fd1852c0e0 100644
--- a/net/rubygem-gitaly/distinfo
+++ b/net/rubygem-gitaly/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724572939
-SHA256 (rubygem/gitaly-17.1.6.gem) = 16526f571684fefafb25736ec44d4aaf8ec5552e2c9e05e1db900a4e4674324e
-SIZE (rubygem/gitaly-17.1.6.gem) = 47616
+TIMESTAMP = 1724589837
+SHA256 (rubygem/gitaly-17.2.4.gem) = 44bf9dd279b4f50d121b3c87771879c11963aa5a4669cda078208a479a4a5735
+SIZE (rubygem/gitaly-17.2.4.gem) = 48128
diff --git a/textproc/gitlab-elasticsearch-indexer/Makefile b/textproc/gitlab-elasticsearch-indexer/Makefile
index 9d7a14040f7c..18e65b5c6636 100644
--- a/textproc/gitlab-elasticsearch-indexer/Makefile
+++ b/textproc/gitlab-elasticsearch-indexer/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-elasticsearch-indexer
-PORTVERSION=	5.0.0
+PORTVERSION=	5.2.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	2
 CATEGORIES=	textproc
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/textproc/gitlab-elasticsearch-indexer/distinfo b/textproc/gitlab-elasticsearch-indexer/distinfo
index dd6f19514097..b5e20f89afb1 100644
--- a/textproc/gitlab-elasticsearch-indexer/distinfo
+++ b/textproc/gitlab-elasticsearch-indexer/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1718793811
-SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.0.0/go.mod) = 8ce949b5e4a0cb10ae0ed0857bac2590d2868d89c254f00ec607dc59346e0d74
-SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.0.0/go.mod) = 5189
-SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.0.0/gitlab-elasticsearch-indexer-v5.0.0.tar.bz2) = 4f2c33e18a131b76309e9c13db1ff4824f208c3914f3707a5ff75047831ec6bf
-SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.0.0/gitlab-elasticsearch-indexer-v5.0.0.tar.bz2) = 68731
+TIMESTAMP = 1721626377
+SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/go.mod) = f8080fedd1cf8350a8c222e2179df2aeb30df6fd741d2bd473d82ddb334d8a8f
+SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/go.mod) = 4995
+SHA256 (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/gitlab-elasticsearch-indexer-v5.2.0.tar.bz2) = 4ca774d2e25aacd2450c82fa078fc886f22d87b2a267009a4353a43daa6c0b31
+SIZE (go/textproc_gitlab-elasticsearch-indexer/gitlab-elasticsearch-indexer-v5.2.0/gitlab-elasticsearch-indexer-v5.2.0.tar.bz2) = 67582
diff --git a/www/gitlab-pages/Makefile b/www/gitlab-pages/Makefile
index af9a490ae05d..3ae22f35ad07 100644
--- a/www/gitlab-pages/Makefile
+++ b/www/gitlab-pages/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitlab-pages
-PORTVERSION=	17.1.6
+PORTVERSION=	${GITLAB_VERSION}
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
 MASTER_SITES+=	https://gitlab.com/gitlab-org/gitlab-pages/-/raw/v${DISTVERSION}/
@@ -42,4 +42,5 @@ post-install:
 		s#${DATADIR_REL}/bin#@(,,555) ${DATADIR_REL}/bin#; ' >> ${TMPPLIST}
 	cat ${TMPPLIST}
 
+.include "${.CURDIR}/../gitlab/Makefile.common"
 .include <bsd.port.mk>
diff --git a/www/gitlab-pages/distinfo b/www/gitlab-pages/distinfo
index c4d9dc4c18bb..821e3f2e7e97 100644
--- a/www/gitlab-pages/distinfo
+++ b/www/gitlab-pages/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1724572993
-SHA256 (go/www_gitlab-pages/gitlab-pages-v17.1.6/go.mod) = dc647bef3c9a1eb596f949dd6bdaee81bc6a791f8a4ad6f34e5e09b13c0e0350
-SIZE (go/www_gitlab-pages/gitlab-pages-v17.1.6/go.mod) = 3269
-SHA256 (go/www_gitlab-pages/gitlab-pages-v17.1.6/gitlab-pages-v17.1.6.tar.bz2) = 5c0d90ebc68c3d99c22a4fc7ab59a89ed29286595ea485db642349f8dda9b3aa
-SIZE (go/www_gitlab-pages/gitlab-pages-v17.1.6/gitlab-pages-v17.1.6.tar.bz2) = 218565
+TIMESTAMP = 1724586028
+SHA256 (go/www_gitlab-pages/gitlab-pages-v17.3.1/go.mod) = 93577d318362d9d4259b4ccfeda9e91e8af7ab256befb41845e5ccd4e37d55b5
+SIZE (go/www_gitlab-pages/gitlab-pages-v17.3.1/go.mod) = 3327
+SHA256 (go/www_gitlab-pages/gitlab-pages-v17.3.1/gitlab-pages-v17.3.1.tar.bz2) = 3baafba124ce4a5554b66c893851409e8e38bdb7e938ab9a7d2025589ba87c1a
+SIZE (go/www_gitlab-pages/gitlab-pages-v17.3.1/gitlab-pages-v17.3.1.tar.bz2) = 229329
diff --git a/www/gitlab-workhorse/Makefile b/www/gitlab-workhorse/Makefile
index 9ea6e4636f3a..b3153a9a08b6 100644
--- a/www/gitlab-workhorse/Makefile
+++ b/www/gitlab-workhorse/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitlab-workhorse
-PORTVERSION=	17.1.6
+PORTVERSION=	${GITLAB_VERSION}
 DISTVERSIONPREFIX=	v
 CATEGORIES=	www
 
@@ -29,4 +29,5 @@ PLIST_FILES=	bin/gitlab-resize-image \
 		bin/gitlab-zip-cat \
 		bin/gitlab-zip-metadata
 
+.include "${.CURDIR}/../gitlab/Makefile.common"
 .include <bsd.port.mk>
diff --git a/www/gitlab-workhorse/distinfo b/www/gitlab-workhorse/distinfo
index edaaa52d0493..d406f3f08f64 100644
--- a/www/gitlab-workhorse/distinfo
+++ b/www/gitlab-workhorse/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1724573060
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.1.6/go.mod) = eb2321aa5993d64f24051d87d4ffd701d2054c1084e55af4ec654a289e2dba95
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.1.6/go.mod) = 6994
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.1.6/gitlab-foss-v17.1.6.tar.bz2) = 256be185af59a1d148af2567cbfd2657bdb33bf19ba38939f54eee2f38990eca
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.1.6/gitlab-foss-v17.1.6.tar.bz2) = 106430228
+TIMESTAMP = 1724586334
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.3.1/go.mod) = 34bb920b000d41f8dc9da500411a9212a56d06b5e94e380b366c25ce5157bd68
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.3.1/go.mod) = 7141
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v17.3.1/gitlab-foss-v17.3.1.tar.bz2) = a4b7f5f8d7ef54652e6dec83bd7d160e5b066580571e123684cfb91b155aac9d
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v17.3.1/gitlab-foss-v17.3.1.tar.bz2) = 104061075
diff --git a/www/gitlab/Makefile b/www/gitlab/Makefile
index 5910a0ed563d..15a11187460d 100644
--- a/www/gitlab/Makefile
+++ b/www/gitlab/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitlab-${FLAVOR:Uce}
-PORTVERSION=	17.1.6
+PORTVERSION=	${GITLAB_VERSION}
 DISTVERSIONPREFIX=	v
 .if ${FLAVOR:U} == ee
 DISTVERSIONSUFFIX=	-ee
@@ -27,12 +27,12 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 # textproc/rubygem-psych3 is required as ruby 3.1 applied an update to psych 4.0 which has breaking changes
 # mail/rubygem-net-pop is required as ruby 3.1 removed it
 MY_DEPENDS=	git>=2.41.0:devel/git \
-	gitaly>=${PORTVERSION}:devel/gitaly \
-	gitlab-elasticsearch-indexer>=5.0.0:textproc/gitlab-elasticsearch-indexer \
-	gitlab-agent>=${PORTVERSION}:net/gitlab-agent \
-	gitlab-pages>=${PORTVERSION}:www/gitlab-pages \
-	gitlab-shell>=14.36.0:devel/gitlab-shell \
-	gitlab-workhorse>=${PORTVERSION}:www/gitlab-workhorse \
+	gitaly>=${GITLAB_VERSION}:devel/gitaly \
+	gitlab-elasticsearch-indexer>=5.2.0:textproc/gitlab-elasticsearch-indexer \
+	gitlab-agent>=${GITLAB_VERSION}:net/gitlab-agent \
+	gitlab-pages>=${GITLAB_VERSION}:www/gitlab-pages \
+	gitlab-shell>=14.38.0:devel/gitlab-shell \
+	gitlab-workhorse>=${GITLAB_VERSION}:www/gitlab-workhorse \
 	redis>=6.2.11:databases/redis \
 	yarn${NODEJS_SUFFIX}>=1.10.0:www/yarn${NODEJS_SUFFIX} \
 	gtar>0:archivers/gtar \
@@ -45,12 +45,15 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-openssl>=3.0<4:security/rubygem-openssl \
 	rubygem-ipaddr>=1.2.5<1.3:net/rubygem-ipaddr \
 	rubygem-responders-rails70>=3.0<4.0:www/rubygem-responders-rails70 \
-	rubygem-sprockets3>=3.7<3.8:devel/rubygem-sprockets3 \
-	rubygem-view_component-rails70>=3.12.1<3.13:devel/rubygem-view_component-rails70 \
+	rubygem-sprockets3>=3.7.0<3.8:devel/rubygem-sprockets3 \
+	rubygem-sprockets-rails-rails70>=3.5.1<3.6:devel/rubygem-sprockets-rails-rails70 \
+	rubygem-view_component-rails70>=3.13.0<3.14:devel/rubygem-view_component-rails70 \
 	rubygem-pg>=1.5.6<1.6:databases/rubygem-pg \
 	rubygem-neighbor>=0.3.2<0.4:databases/rubygem-neighbor \
 	rubygem-rugged>=1.6<2:devel/rubygem-rugged \
-	rubygem-faraday1>=1.10.0<3:www/rubygem-faraday1 \
+	rubygem-faraday>=2<3:www/rubygem-faraday \
+	rubygem-faraday-retry>=2<3:www/rubygem-faraday-retry \
+	rubygem-logger15>=1.5.3<1.6:devel/rubygem-logger15 \
 	rubygem-marginalia>=1.11.1<1.12:databases/rubygem-marginalia \
 	rubygem-declarative_policy>=1.1.0<1.2:security/rubygem-declarative_policy \
 	rubygem-coverband>=6.1.2<6.2:www/rubygem-coverband \
@@ -58,7 +61,8 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-bcrypt>=3.1.14<3.2:security/rubygem-bcrypt \
 	rubygem-doorkeeper-rails70>=5.6.6<6:security/rubygem-doorkeeper-rails70 \
 	rubygem-doorkeeper-openid_connect>=1.8.7<2:security/rubygem-doorkeeper-openid_connect \
-	rubygem-rexml32>=3.2.6<3.3:textproc/rubygem-rexml32 \
+	rubygem-doorkeeper-device_authorization_grant>=1.0.0<1.1:security/rubygem-doorkeeper-device_authorization_grant \
+	rubygem-rexml>=3.3.2<3.4:textproc/rubygem-rexml \
 	rubygem-ruby-saml115>=1.15.0<1.16:security/rubygem-ruby-saml115 \
 	rubygem-omniauth>=2.1.0<3:security/rubygem-omniauth \
 	rubygem-omniauth-auth0>=3.1.0<3.2.0:net/rubygem-omniauth-auth0 \
@@ -69,10 +73,10 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-omniauth-oauth2-generic>=0.2.2<0.3.0:security/rubygem-omniauth-oauth2-generic \
 	rubygem-omniauth-saml>=2.1.0<3:security/rubygem-omniauth-saml \
 	rubygem-omniauth-shibboleth-redux>=2.0<3:security/rubygem-omniauth-shibboleth-redux \
-	rubygem-omniauth_openid_connect>=0.6.1<0.7.0:net/rubygem-omniauth_openid_connect \
-	rubygem-openid_connect>=1.3.1<1.3.2:net/rubygem-openid_connect \
+	rubygem-omniauth_openid_connect>=0.8.0<0.9:net/rubygem-omniauth_openid_connect \
+	rubygem-openid_connect>=2.3.0<2.4:net/rubygem-openid_connect \
 	rubygem-omniauth-atlassian-oauth2>=0.2.0<0.3:security/rubygem-omniauth-atlassian-oauth2 \
-	rubygem-rack-oauth21>=1.21.3<1.22.0:security/rubygem-rack-oauth21 \
+	rubygem-rack-oauth2>=2.2.1<2.3:security/rubygem-rack-oauth2 \
 	rubygem-jwt>=2.5<3:www/rubygem-jwt \
 	rubygem-gssapi>=1.3.1<1.4:security/rubygem-gssapi \
 	rubygem-recaptcha>=5.12<6.0:devel/rubygem-recaptcha \
@@ -82,7 +86,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-rqrcode>=2.2.0<3:www/rubygem-rqrcode \
 	rubygem-validates_hostname>=1.0.13<1.1.0:dns/rubygem-validates_hostname \
 	rubygem-rubyzip>=2.3.2<2.4:archivers/rubygem-rubyzip \
-	rubygem-acme-client>=2.0.9<3:security/rubygem-acme-client \
+	rubygem-acme-client>=2.0.18<3:security/rubygem-acme-client \
 	rubygem-browser5>=5.3.1<5.4:www/rubygem-browser5 \
 	rubygem-ohai>=18.1<19:sysutils/rubygem-ohai \
 	rubygem-gpgme>=2.0.23<2.1.0:security/rubygem-gpgme \
@@ -94,11 +98,10 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-grape-swagger-entity>=0.5.1<0.6:devel/rubygem-grape-swagger-entity \
 	rubygem-grape-path-helpers>=2.0.1<2.1:devel/rubygem-grape-path-helpers \
 	rubygem-rack-cors>=2.0.1<2.1:www/rubygem-rack-cors \
-	rubygem-graphql>=2.3.4<2.4:devel/rubygem-graphql \
-	rubygem-graphql-docs>=4.0.0<4.1.0:devel/rubygem-graphql-docs \
-	rubygem-graphiql-rails>=1.8.0<1.9:devel/rubygem-graphiql-rails \
+	rubygem-graphql>=2.3.5<2.4:devel/rubygem-graphql \
+	rubygem-graphiql-rails>=1.10<1.11:devel/rubygem-graphiql-rails \
 	rubygem-apollo_upload_server>=2.1.6<2.2:net/rubygem-apollo_upload_server \
-	rubygem-graphlient>=0.6.0<0.7:devel/rubygem-graphlient \
+	rubygem-graphlient>=0.8.0<0.9:devel/rubygem-graphlient \
 	rubygem-ffaker>=2.10<3:devel/rubygem-ffaker \
 	rubygem-hashie>=5.0.0<5.1:devel/rubygem-hashie \
 	rubygem-kaminari-rails70>=1.2.2<1.3:www/rubygem-kaminari-rails70 \
@@ -110,7 +113,7 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-fog-google>=1.24.1<1.25:net/rubygem-fog-google \
 	rubygem-fog-local>=0.8<1.0:net/rubygem-fog-local \
 	rubygem-fog-aliyun>=0.4<1.0:net/rubygem-fog-aliyun \
-	rubygem-gitlab-fog-azure-rm>=1.9.1<1.10:net/rubygem-gitlab-fog-azure-rm \
+	rubygem-gitlab-fog-azure-rm>=2.0.1<2.1:net/rubygem-gitlab-fog-azure-rm \
 	rubygem-google-apis-storage_v1>=0.29<1:devel/rubygem-google-apis-storage_v1 \
 	rubygem-google-cloud-storage145>=1.45.0<1.46:net/rubygem-google-cloud-storage145 \
 	rubygem-google-apis-core>=0.11.2<2:devel/rubygem-google-apis-core \
@@ -129,11 +132,12 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-seed-fu>=2.3.7<2.4.0:databases/rubygem-seed-fu \
 	rubygem-elasticsearch-model713>=7.2<8:textproc/rubygem-elasticsearch-model713 \
 	rubygem-elasticsearch-rails7>=7.2<8:textproc/rubygem-elasticsearch-rails7 \
-	rubygem-elasticsearch-api713>=7.13.3<7.13.4:textproc/rubygem-elasticsearch-api713 \
-	rubygem-aws-sdk-core>=3.197.0<4:devel/rubygem-aws-sdk-core \
+	rubygem-elasticsearch-api7>=7.17.11<7.18:textproc/rubygem-elasticsearch-api7 \
+	rubygem-aws-sdk-core>=3.201.0<4:devel/rubygem-aws-sdk-core \
 	rubygem-aws-sdk-cloudformation>=1<2:devel/rubygem-aws-sdk-cloudformation \
-	rubygem-aws-sdk-s3>=1.151.0<2:devel/rubygem-aws-sdk-s3 \
-	rubygem-faraday_middleware-aws-sigv403>=0.3.0<0.4:devel/rubygem-faraday_middleware-aws-sigv403 \
+	rubygem-aws-sdk-s3>=1.157.0<2:devel/rubygem-aws-sdk-s3 \
+	rubygem-faraday-typhoeus>=1.1<2:www/rubygem-faraday-typhoeus \
+	rubygem-faraday_middleware-aws-sigv4>=1.0.1<1.1:devel/rubygem-faraday_middleware-aws-sigv4 \
 	rubygem-typhoeus>=1.4.0<1.5:www/rubygem-typhoeus \
 	rubygem-html-pipeline>=2.14.3<2.15:textproc/rubygem-html-pipeline \
 	rubygem-deckar01-task_list>=2.3.4<2.4:www/rubygem-deckar01-task_list \
@@ -147,20 +151,19 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-asciidoctor>=2.0.18<2.1.0:textproc/rubygem-asciidoctor \
 	rubygem-asciidoctor-include-ext>=0.4.0<0.5.0:textproc/rubygem-asciidoctor-include-ext \
 	rubygem-asciidoctor-plantuml00>=0.0.16<0.1:textproc/rubygem-asciidoctor-plantuml00 \
-	rubygem-asciidoctor-kroki>=0.8.0<0.9:textproc/rubygem-asciidoctor-kroki \
-	rubygem-rouge42>=4.2.0<4.3:textproc/rubygem-rouge42 \
+	rubygem-asciidoctor-kroki>=0.10.0<0.11:textproc/rubygem-asciidoctor-kroki \
+	rubygem-rouge>=4.3.0<4.4:textproc/rubygem-rouge \
 	rubygem-truncato>=0.7.12<0.8.0:textproc/rubygem-truncato \
 	rubygem-tty-prompt>=0.23<1:devel/rubygem-tty-prompt \
 	rubygem-nokogiri>=1.16<2:textproc/rubygem-nokogiri \
 	rubygem-gitlab-glfm-markdown>=0.0.17<0.1:textproc/rubygem-gitlab-glfm-markdown \
-	rubygem-icalendar>=0:devel/rubygem-icalendar \
+	rubygem-icalendar>=2.10.1<2.11:devel/rubygem-icalendar \
 	rubygem-diffy>=3.4<4:textproc/rubygem-diffy \
-	rubygem-rack22>=2.2.8.1,3<2.3,3:www/rubygem-rack22 \
-	rubygem-rack-timeout>=0.6.3<0.7:www/rubygem-rack-timeout \
+	rubygem-rack22>=2.2.9,3<2.3,3:www/rubygem-rack22 \
+	rubygem-rack-timeout>=0.7.0<0.8:www/rubygem-rack-timeout \
 	rubygem-puma>=6.4<7:www/rubygem-puma \
 	rubygem-sd_notify>=0.1.1<0.2:devel/rubygem-sd_notify \
 	rubygem-state_machines-activerecord08>=0.8.0<0.9.0:databases/rubygem-state_machines-activerecord08 \
-	rubygem-acts-as-taggable-on>=10.0<11:www/rubygem-acts-as-taggable-on \
 	rubygem-sidekiq71>=7.1.6<7.2:devel/rubygem-sidekiq71 \
 	rubygem-sidekiq-cron-rails70>=1.12.0<1.13:devel/rubygem-sidekiq-cron-rails70 \
 	rubygem-fugit18>=1.8.1<1.9:devel/rubygem-fugit18 \
@@ -189,13 +192,13 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-babosa>=2.0<3:textproc/rubygem-babosa \
 	rubygem-loofah>=2.22.0<2.23:textproc/rubygem-loofah \
 	rubygem-licensee>=9.16<10:devel/rubygem-licensee \
-	rubygem-static_holmes>=0.7.7:textproc/rubygem-static_holmes \
+	rubygem-charlock_holmes>=0.7.9<0.8:textproc/rubygem-charlock_holmes \
 	rubygem-ruby-magic>=0.6<1:devel/rubygem-ruby-magic \
 	rubygem-fast_blank>=1.0.1<1.1:devel/rubygem-fast_blank \
 	rubygem-gitlab-chronic>=0.10.5<0.11.0:devel/rubygem-gitlab-chronic \
 	rubygem-gitlab_chronic_duration>=0.12<1:devel/rubygem-gitlab_chronic_duration \
 	rubygem-rack-proxy>=0.7.7<0.8.0:www/rubygem-rack-proxy \
-	rubygem-cssbundling-rails-rails70>=1.4.0<1.5:www/rubygem-cssbundling-rails-rails70 \
+	rubygem-cssbundling-rails-rails70>=1.4.1<1.5:www/rubygem-cssbundling-rails-rails70 \
 	rubygem-terser>=1.0.2<1.0.3:textproc/rubygem-terser \
 	rubygem-addressable>=2.8<3:www/rubygem-addressable \
 	rubygem-tanuki_emoji>=0.9<1:graphics/rubygem-tanuki_emoji \
@@ -204,21 +207,23 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-base32>=0.3.0<0.4.0:converters/rubygem-base32 \
 	rubygem-gitlab-license>=2.5<3:devel/rubygem-gitlab-license \
 	rubygem-rack-attack>=6.7.0<6.8:www/rubygem-rack-attack \
-	rubygem-sentry-ruby>=5.17.3<5.18:devel/rubygem-sentry-ruby \
-	rubygem-sentry-rails>=5.17.3<5.18:devel/rubygem-sentry-rails \
-	rubygem-sentry-sidekiq>=5.17.3<5.18:devel/rubygem-sentry-sidekiq \
+	rubygem-sentry-ruby>=5.18.0<5.19:devel/rubygem-sentry-ruby \
+	rubygem-sentry-rails>=5.18.0<5.19:devel/rubygem-sentry-rails \
+	rubygem-sentry-sidekiq>=5.18.0<5.19:devel/rubygem-sentry-sidekiq \
 	rubygem-pg_query>=5.1.0<5.2:databases/rubygem-pg_query \
-	rubygem-premailer-rails110-rails70>=1.10.3<1.11:mail/rubygem-premailer-rails110-rails70 \
+	rubygem-premailer-rails-rails70>=1.12.0<1.13:mail/rubygem-premailer-rails-rails70 \
 	rubygem-gitlab-labkit>=0.36.0<0.37:devel/rubygem-gitlab-labkit \
 	rubygem-thrift>=0.16.0:devel/rubygem-thrift \
 	rubygem-rails-i18n-rails70>=7.0.9<8:devel/rubygem-rails-i18n-rails70 \
 	rubygem-gettext_i18n_rails112>=1.12.0<1.13:devel/rubygem-gettext_i18n_rails112 \
 	rubygem-gettext>=3.4<4:devel/rubygem-gettext \
 	rubygem-batch-loader>=2.0.5<2.1:devel/rubygem-batch-loader \
+	rubygem-tty-prompt>=0.23<1:devel/rubygem-tty-prompt \
 	rubygem-peek-rails70>=1.1<2.0:devel/rubygem-peek-rails70 \
 	rubygem-snowplow-tracker>=0.8.0<1:devel/rubygem-snowplow-tracker \
 	rubygem-webrick>=1.8.1<1.9:www/rubygem-webrick \
 	rubygem-prometheus-client-mmap>=1.1.1<2:devel/rubygem-prometheus-client-mmap \
+	rubygem-async212>=2.12.1<2.13:devel/rubygem-async212 \
 	rubygem-opentelemetry-sdk>=1.4.0:devel/rubygem-opentelemetry-sdk \
 	rubygem-opentelemetry-exporter-otlp>=0.26.3:devel/rubygem-opentelemetry-exporter-otlp \
 	rubygem-opentelemetry-instrumentation-active_support>=0.5.1:devel/rubygem-opentelemetry-instrumentation-active_support \
@@ -243,14 +248,15 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-opentelemetry-instrumentation-redis>=0.25.3:devel/rubygem-opentelemetry-instrumentation-redis \
 	rubygem-opentelemetry-instrumentation-sidekiq>=0.25.2:devel/rubygem-opentelemetry-instrumentation-sidekiq \
 	rubygem-warning>=1.3.0<1.4:devel/rubygem-warning \
-	rubygem-gitlab-dangerfiles>=4.7.0<4.8:devel/rubygem-gitlab-dangerfiles \
+	rubygem-gitlab-dangerfiles>=4.8.0<4.9:devel/rubygem-gitlab-dangerfiles \
 	rubygem-license_finder>=7.0.0<8:devel/rubygem-license_finder \
 	rubygem-rspec>=3.0<4:devel/rubygem-rspec \
-	rubygem-octokit8>=8.1<9:net/rubygem-octokit8 \
+	rubygem-octokit>=9.0<10:net/rubygem-octokit \
+	rubygem-faraday-multipart>=1.0<2:www/rubygem-faraday-multipart \
 	rubygem-gitlab-mail_room>=0.0.24<0.1.0:mail/rubygem-gitlab-mail_room \
 	rubygem-email_reply_trimmer>=0.1<1.0:mail/rubygem-email_reply_trimmer \
 	rubygem-html2text>=0:textproc/rubygem-html2text \
-	rubygem-stackprof>=0.2.25<0.3:devel/rubygem-stackprof \
+	rubygem-stackprof>=0.2.26<0.3:devel/rubygem-stackprof \
 	rubygem-rbtrace>=0.4.14<1.0:devel/rubygem-rbtrace \
 	rubygem-memory_profiler>=1.0<2.0:devel/rubygem-memory_profiler \
 	rubygem-activerecord-explain-analyze>=0.1<1.0:databases/rubygem-activerecord-explain-analyze \
@@ -261,8 +267,8 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-net-ntp>0:net/rubygem-net-ntp \
 	rubygem-ssh_data>=1.3<2:security/rubygem-ssh_data \
 	rubygem-spamcheck>=1.3.0<1.4:net/rubygem-spamcheck \
-	rubygem-gitaly>=17.0.1:net/rubygem-gitaly \
-	rubygem-kas-grpc>=0.5.0,1<0.6.0,1:net/rubygem-kas-grpc \
+	rubygem-gitaly>=17.2.0:net/rubygem-gitaly \
+	rubygem-kas-grpc>=0.6.0,1<0.7.0,1:net/rubygem-kas-grpc \
 	rubygem-grpc>=1.63.0<2:net/rubygem-grpc \
 	rubygem-google-protobuf3>=3.25.3<4:devel/rubygem-google-protobuf3 \
 	rubygem-toml-rb>=2.2.0<3:www/rubygem-toml-rb \
@@ -281,8 +287,8 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-lockbox>=1.3.0<1.4:security/rubygem-lockbox \
 	rubygem-valid_email>=0.1<1:mail/rubygem-valid_email \
 	rubygem-jsonb_accessor>=1.3.10<1.4:www/rubygem-jsonb_accessor \
-	rubygem-json26>=2.6.3<2.7:devel/rubygem-json26 \
-	rubygem-json_schemer>=0.2.18<0.3:devel/rubygem-json_schemer \
+	rubygem-json>=2.7.2<2.8:devel/rubygem-json \
+	rubygem-json_schemer>=2.3.0<2.4:devel/rubygem-json_schemer \
 	rubygem-oj313>=3.13.21<3.14:devel/rubygem-oj313 \
 	rubygem-oj-introspect>=0.7<1:devel/rubygem-oj-introspect \
 	rubygem-multi_json114>=1.14.1<1.15:devel/rubygem-multi_json114 \
@@ -303,7 +309,8 @@ MY_DEPENDS=	git>=2.41.0:devel/git \
 	rubygem-duo_api>=1.3<2:security/rubygem-duo_api \
 	rubygem-gitlab-sdk>=0.3.0<0.4:devel/rubygem-gitlab-sdk \
 	rubygem-google-cloud-profiler-v2>=0.3<1:textproc/rubygem-google-cloud-profiler-v2 \
-	rubygem-parallel>=1.22<2:sysutils/rubygem-parallel
+	rubygem-parallel>=1.22<2:sysutils/rubygem-parallel \
+	rubygem-google-cloud-storage_transfer>=1.2.0<1.3:net/rubygem-google-cloud-storage_transfer
 
 BUILD_DEPENDS=	gem:devel/ruby-gems \
 	${MY_DEPENDS}
@@ -338,7 +345,8 @@ SHEBANG_FILES=	scripts/build_qa_image \
 		scripts/validate-monorepo-gem \
 		.lefthook/pre-push/merge_conflicts \
 		qa/gdk/entrypoint \
-		qa/bin/test
+		qa/bin/test \
+		vendor/gems/bundler-checksum/test/project_with_checksum_lock/scripts/test
 
 CONFLICTS_INSTALL=	gitolite \
 			gitolite2 \
@@ -376,6 +384,9 @@ do-install:
 	# As intermediate solution, the binaries are not disabled by patches
 	#(cd ${WRKSRC} && ${RM} Gemfile.lock && bundle config set path ${STAGEDIR}${PREFIX}/lib/ruby/gems/${RUBY_VER} && ${WRK_ENV} ${GEM_ENV} bundle install --local)
 	(cd ${WRKSRC} && bundle config set --local bin .bin)
+	# should skip development and test, but does not work
+	#(cd ${WRKSRC} && bundle config set --local without development test)
+	#(cd ${WRKSRC} && cat .bundle/config)
 	(cd ${WRKSRC} && ${RM} Gemfile.lock && ${WRK_ENV} ${GEM_ENV} bundle install --local)
 	(cd ${WRKSRC} && bundle binstubs --all --path .bin)
 	${RM} -R ${WRKSRC}/workhorse
@@ -522,6 +533,12 @@ makesum:
 	${MAKE} -D_GITLAB_MAKESUM_GUARD makesum DISTINFO_FILE=${.CURDIR}/distinfo.ee FLAVOR=ee
 	${CAT} ${.CURDIR}/distinfo.ee >> ${.CURDIR}/distinfo
 	${RM} ${.CURDIR}/distinfo.ee
+	(cd ../../devel/gitaly && ${MAKE} makesum)
+	(cd ../../net/gitlab-agent && ${MAKE} makesum)
+	(cd ../../www/gitlab-pages && ${MAKE} makesum)
+	(cd ../../www/gitlab-workhorse && ${MAKE} makesum)
+
 .endif
 
+.include "${.CURDIR}/Makefile.common"
 .include <bsd.port.mk>
diff --git a/www/gitlab/Makefile.common b/www/gitlab/Makefile.common
new file mode 100644
index 000000000000..52a5bb13b9e1
--- /dev/null
+++ b/www/gitlab/Makefile.common
@@ -0,0 +1,9 @@
+GITLAB_VERSION=	17.3.1
+
+# Git version gitaly should use (from gitlab mirror)
+# Find current tag from Makefile and .gitlab-ci.yaml
+# and from https://gitlab.com/gitlab-org/git/-/tags
+GITLAB_GIT_VERSION=	2.45.2
+# return something like x.yy
+GITLAB_GIT_VERSION_SHORT=	${GITLAB_GIT_VERSION:C/^([0-9]*\.[0-9]*)\..*/\1/}
+
diff --git a/www/gitlab/distinfo b/www/gitlab/distinfo
index 60b16b6e8376..a3b46d64860e 100644
--- a/www/gitlab/distinfo
+++ b/www/gitlab/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1724572859
-SHA256 (gitlab-foss-v17.1.6.tar.bz2) = 256be185af59a1d148af2567cbfd2657bdb33bf19ba38939f54eee2f38990eca
-SIZE (gitlab-foss-v17.1.6.tar.bz2) = 106430228
-TIMESTAMP = 1724572914
-SHA256 (gitlab-v17.1.6-ee.tar.bz2) = 7fa4b05706397134666e548be0c8285f063eb28b711e159b9d28100030aac5cb
-SIZE (gitlab-v17.1.6-ee.tar.bz2) = 114957586
+TIMESTAMP = 1724590347
+SHA256 (gitlab-foss-v17.3.1.tar.bz2) = a4b7f5f8d7ef54652e6dec83bd7d160e5b066580571e123684cfb91b155aac9d
+SIZE (gitlab-foss-v17.3.1.tar.bz2) = 104061075
+TIMESTAMP = 1724590397
+SHA256 (gitlab-v17.3.1-ee.tar.bz2) = bb3374fe3ce4c0ac8e040df55cb9145b6416b1dcaf059fb208c42d72f344e53c
+SIZE (gitlab-v17.3.1-ee.tar.bz2) = 112997925
diff --git a/www/gitlab/files/gitlab.in b/www/gitlab/files/gitlab.in
index 7887262e0240..0d22bbc45081 100644
--- a/www/gitlab/files/gitlab.in
+++ b/www/gitlab/files/gitlab.in
@@ -195,6 +195,7 @@ gitlab_init(){
     # Regenerate the Gemfile.lock for all related products
     # echo "Regenerate Gitlab Gemfile.lock"
     rm -f "${app_root}"/Gemfile.lock
+    #su -l root -c "cd ${app_root} && %%LOCALBASE%%/bin/bundle config set --local without development test"
     if ! su -l root -c "cd ${app_root} && %%LOCALBASE%%/bin/bundle install --local --quiet"; then
       echo "Could not create Gemfile.lock for gitlab, please report this using FreeBSD Bugtracker, https://bugs.freebsd.org/"
       exit 1
diff --git a/www/gitlab/files/patch-Gemfile b/www/gitlab/files/patch-Gemfile
index 61391c85d487..6c38a9e1aee7 100644
--- a/www/gitlab/files/patch-Gemfile
+++ b/www/gitlab/files/patch-Gemfile
@@ -1,33 +1,14 @@
---- Gemfile.orig	2024-07-24 01:20:50 UTC
+--- Gemfile.orig	2024-08-20 19:36:17 UTC
 +++ Gemfile
-@@ -58,7 +58,7 @@ gem 'rugged', '~> 1.6' # rubocop:todo Gemfile/MissingF
- 
- gem 'rugged', '~> 1.6' # rubocop:todo Gemfile/MissingFeatureCategory
- 
--gem 'faraday', '~> 1.0' # rubocop:todo Gemfile/MissingFeatureCategory
-+gem 'faraday', '>= 1.0' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'marginalia', '~> 1.11.1' # rubocop:todo Gemfile/MissingFeatureCategory
- 
- # Authorization
-@@ -79,7 +79,7 @@ gem 'omniauth-alicloud', '~> 3.0.0' # rubocop:todo Gem
- gem 'omniauth-auth0', '~> 3.1' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'omniauth-azure-activedirectory-v2', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'omniauth-alicloud', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
--gem 'omniauth-github', '2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
-+gem 'omniauth-github', '~> 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'omniauth-gitlab', '~> 4.0.0', path: 'vendor/gems/omniauth-gitlab' # See vendor/gems/omniauth-gitlab/README.md # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'omniauth-google-oauth2', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'omniauth-oauth2-generic', '~> 0.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -89,7 +89,7 @@ gem 'omniauth_openid_connect', '~> 0.6.1' # rubocop:to
- gem 'omniauth_openid_connect', '~> 0.6.1' # rubocop:todo Gemfile/MissingFeatureCategory
- # Locked until Ruby 3.0 upgrade since upgrading will pull in an updated net-smtp gem.
- # See https://docs.gitlab.com/ee/development/emails.html#rationale.
--gem 'openid_connect', '= 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
-+gem 'openid_connect', '= 1.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'omniauth-salesforce', '~> 1.0.5', path: 'vendor/gems/omniauth-salesforce' # See gem README.md # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'omniauth-atlassian-oauth2', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'rack-oauth2', '~> 1.21.3' # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -184,7 +184,7 @@ gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo
+@@ -156,7 +156,6 @@ gem 'graphql', '~> 2.3.5', feature_category: :api
+ 
+ # GraphQL API
+ gem 'graphql', '~> 2.3.5', feature_category: :api
+-gem 'graphql-docs', '~> 5.0.0', group: [:development, :test], feature_category: :api
+ gem 'graphiql-rails', '~> 1.10', feature_category: :api
+ gem 'apollo_upload_server', '~> 2.1.6', feature_category: :api
+ gem 'graphlient', '~> 0.8.0', feature_category: :importers # Used by BulkImport feature (group::import)
+@@ -209,7 +208,7 @@ gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo
  gem 'google-apis-storage_v1', '~> 0.29' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-cloud-storage', '~> 1.45.0' # rubocop:todo Gemfile/MissingFeatureCategory
  # We need >= 0.11.1 because that's when match_glob support is added to list_objects
@@ -36,7 +17,7 @@
  gem 'google-apis-compute_v1', '~> 0.57.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-apis-container_v1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-apis-container_v1beta1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -195,7 +195,7 @@ gem 'google-apis-androidpublisher_v3', '~> 0.34.0' # r
+@@ -220,7 +219,7 @@ gem 'google-apis-androidpublisher_v3', '~> 0.34.0' # r
  gem 'google-apis-sqladmin_v1beta4', '~> 0.41.0' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'google-apis-androidpublisher_v3', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
@@ -45,26 +26,20 @@
  gem 'google-cloud-artifact_registry-v1', '~> 0.11.0', feature_category: :shared
  gem 'google-cloud-compute-v1', '~> 2.6.0', feature_category: :shared
  
-@@ -206,9 +206,9 @@ gem 'elasticsearch-api',   '7.13.3' # rubocop:todo Gem
- gem 'elasticsearch-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'elasticsearch-api',   '7.13.3' # rubocop:todo Gemfile/MissingFeatureCategory
--gem 'aws-sdk-core', '~> 3.197.0' # rubocop:todo Gemfile/MissingFeatureCategory
-+gem 'aws-sdk-core', '~> 3.197' # rubocop:todo Gemfile/MissingFeatureCategory
+@@ -231,9 +230,9 @@ gem 'elasticsearch-api', '7.17.11', feature_category: 
+ gem 'elasticsearch-model', '~> 7.2', feature_category: :global_search
+ gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation', feature_category: :global_search
+ gem 'elasticsearch-api', '7.17.11', feature_category: :global_search
+-gem 'aws-sdk-core', '~> 3.201.0' # rubocop:todo Gemfile/MissingFeatureCategory
++gem 'aws-sdk-core', '~> 3.201' # rubocop:todo Gemfile/MissingFeatureCategory
  gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory
--gem 'aws-sdk-s3', '~> 1.151.0' # rubocop:todo Gemfile/MissingFeatureCategory
-+gem 'aws-sdk-s3', '~> 1.151' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
- gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory
- 
-@@ -239,12 +239,12 @@ gem 'diff_match_patch', '~> 0.1.0', path: 'vendor/gems
- gem 'diff_match_patch', '~> 0.1.0', path: 'vendor/gems/diff_match_patch', feature_category: :team_planning
- 
- # Application server
--gem 'rack', '~> 2.2.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
-+gem 'rack', '~> 2.2.8', '>= 2.2.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
- # https://github.com/zombocom/rack-timeout/blob/master/README.md#rails-apps-manually
- gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base' # rubocop:todo Gemfile/MissingFeatureCategory
+-gem 'aws-sdk-s3', '~> 1.157.0' # rubocop:todo Gemfile/MissingFeatureCategory
++gem 'aws-sdk-s3', '~> 1.157' # rubocop:todo Gemfile/MissingFeatureCategory
+ gem 'faraday-typhoeus', '~> 1.1', feature_category: :global_search
+ gem 'faraday_middleware-aws-sigv4', '~> 1.0.1', feature_category: :global_search
+ # Used with Elasticsearch to support http keep-alive connections
+@@ -271,7 +270,7 @@ group :puma do
+ gem 'rack-timeout', '~> 0.7.0', require: 'rack/timeout/base' # rubocop:todo Gemfile/MissingFeatureCategory
  
  group :puma do
 -  gem 'puma', '= 6.4.0', require: false, feature_category: :shared
@@ -72,25 +47,16 @@
    gem 'sd_notify', '~> 0.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
  end
  
-@@ -255,7 +255,7 @@ gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Ge
- gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Gemfile/MissingFeatureCategory
+@@ -279,7 +278,7 @@ gem 'state_machines-activerecord', '~> 0.8.0' # ruboco
+ gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # Background jobs
 -gem 'sidekiq', path: 'vendor/gems/sidekiq-7.1.6', require: 'sidekiq', feature_category: :scalability
-+gem 'sidekiq', '~>7.1.6', feature_category: :scalability
++gem 'sidekiq', '~> 7.1.6', require: 'sidekiq', feature_category: :scalability
  gem 'sidekiq-cron', '~> 1.12.0', feature_category: :scalability
  gem 'gitlab-sidekiq-fetcher',
    path: 'vendor/gems/sidekiq-reliable-fetch',
-@@ -345,7 +345,7 @@ gem 'rack-proxy', '~> 0.7.7' # rubocop:todo Gemfile/Mi
- 
- gem 'rack-proxy', '~> 0.7.7' # rubocop:todo Gemfile/MissingFeatureCategory
- 
--gem 'cssbundling-rails', '1.4.0', feature_category: :shared
-+gem 'cssbundling-rails', '~> 1.4.0', feature_category: :shared
- gem 'terser', '1.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
- 
- gem 'click_house-client', path: 'gems/click_house-client', require: 'click_house/client' # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -433,96 +433,10 @@ gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/Missi
+@@ -459,95 +458,10 @@ gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/Missi
  
  gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
  
@@ -99,7 +65,7 @@
 -  gem 'rubocop', feature_category: :tooling
 -  gem 'solargraph', '~> 0.47.2', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'letter_opener_web', '~> 2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
+-  gem 'letter_opener_web', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'lookbook', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  # Better errors handler
@@ -109,7 +75,7 @@
 -
 -  gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'ruby-lsp', "~> 0.16.7", require: false, feature_category: :tooling
+-  gem 'ruby-lsp', "~> 0.17.0", require: false, feature_category: :tooling
 -
 -  gem 'ruby-lsp-rails', "~> 0.3.6", feature_category: :tooling
 -
@@ -121,15 +87,14 @@
 -group :development, :test do
 -  gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'bullet', '~> 7.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
--  # Locked on 3.3.0.5 until inspec-core is updated in Omnibus: https://github.com/inspec/inspec/pull/7030
--  gem 'parser', '= 3.3.0.5', feature_category: :shared
+-  gem 'parser', '= 3.3.3.0', feature_category: :shared
 -  gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
 -  gem 'pry-shell', '~> 0.6.4' # rubocop:todo Gemfile/MissingFeatureCategory
 -
 -  gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'database_cleaner-active_record', '~> 2.1.0', feature_category: :database
+-  gem 'database_cleaner-active_record', '~> 2.2.0', feature_category: :database
 -  gem 'rspec-rails', '~> 6.1.1', feature_category: :shared
 -  gem 'factory_bot_rails', '~> 6.4.3', feature_category: :tooling
 -
@@ -151,7 +116,7 @@
 -  # Profiling data from CI/CD pipelines
 -  gem 'influxdb-client', '~> 3.1', require: false, feature_category: :tooling
 -
--  gem 'knapsack', '~> 1.22.0', feature_category: :tooling
+-  gem 'knapsack', '~> 4.0.0', feature_category: :tooling
 -  gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling
 -  gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling
 -
@@ -168,26 +133,26 @@
 -  # For now we only use vite in development / test, and not for production builds
 -  # See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
 -  gem 'vite_rails', '~> 3.0.17', feature_category: :shared
--  gem 'vite_ruby', '~> 3.5.0', feature_category: :shared
+-  gem 'vite_ruby', '~> 3.7.0', feature_category: :shared
 -
 -  gem 'gitlab-housekeeper', path: 'gems/gitlab-housekeeper', feature_category: :tooling
 -end
 -
  group :development, :test, :danger do
-   gem 'gitlab-dangerfiles', '~> 4.7.0', require: false, feature_category: :tooling
+   gem 'gitlab-dangerfiles', '~> 4.8.0', require: false, feature_category: :tooling
  end
  
 -group :development, :test, :coverage do
 -  gem 'simplecov', '~> 0.22', require: false, feature_category: :tooling
 -  gem 'simplecov-lcov', '~> 0.8.0', require: false, feature_category: :tooling
 -  gem 'simplecov-cobertura', '~> 2.1.0', require: false, feature_category: :tooling
--  gem 'undercover', '~> 0.4.4', require: false, feature_category: :tooling
+-  gem 'undercover', '~> 0.5.0', require: false, feature_category: :tooling
 -end
 -
  # Gems required in omnibus-gitlab pipeline
  group :development, :test, :omnibus do
    gem 'license_finder', '~> 7.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
-@@ -534,36 +448,6 @@ end
+@@ -559,36 +473,6 @@ end
    gem 'gitlab-rspec_flaky', path: 'gems/gitlab-rspec_flaky', feature_category: :tooling
  end
  
@@ -218,22 +183,22 @@
 -  # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
 -  gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
 -
--  gem 'gitlab_quality-test_tooling', '~> 1.28.0', require: false, feature_category: :tooling
+-  gem 'gitlab_quality-test_tooling', '~> 1.33.0', require: false, feature_category: :tooling
 -end
 -
- gem 'octokit', '~> 8.1', feature_category: :importers
- 
- gem 'gitlab-mail_room', '~> 0.0.24', require: 'mail_room', feature_category: :shared
-@@ -596,7 +480,7 @@ gem 'spamcheck', '~> 1.3.0' # rubocop:todo Gemfile/Mis
- gem 'spamcheck', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
+ gem 'octokit', '~> 9.0', feature_category: :importers
+ # Needed by octokit: https://github.com/octokit/octokit.rb/pull/1688
+ gem 'faraday-multipart', '~> 1.0', feature_category: :importers
+@@ -632,7 +516,7 @@ gem 'kas-grpc', '~> 0.6.0', feature_category: :deploym
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/473169#note_2028352939
+ # Or we can upgrade to a more recent version as long as we can confirm
+ # that it doesn't have the same issues.
+-gem 'grpc', '= 1.63.0', feature_category: :shared
++gem 'grpc', '~> 1.63', feature_category: :shared
  
- # Gitaly GRPC protocol definitions
--gem 'gitaly', '~> 17.0.1', feature_category: :gitaly
-+gem 'gitaly', '~> 17.1', feature_category: :gitaly
+ gem 'google-protobuf', '~> 3.25', '>= 3.25.3' # rubocop:todo Gemfile/MissingFeatureCategory
  
- # KAS GRPC protocol definitions
- gem 'kas-grpc', '~> 0.5.0', feature_category: :deployment_management
-@@ -622,7 +506,7 @@ gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfil
+@@ -653,7 +537,7 @@ gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfil
  gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfile/MissingFeatureCategory
  
  # Countries list
@@ -242,15 +207,7 @@
  
  gem 'retriable', '~> 3.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
  
-@@ -688,6 +572,7 @@ gem 'telesignenterprise', '~> 2.2' # rubocop:todo Gemf
- gem 'telesignenterprise', '~> 2.2' # rubocop:todo Gemfile/MissingFeatureCategory
- 
- # BufferedIO patch
-+
- # Updating this version will require updating scripts/allowed_warnings.txt
- gem 'net-protocol', '~> 0.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
- 
-@@ -696,5 +581,11 @@ gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/Missing
+@@ -727,6 +611,11 @@ gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/Missing
  gem 'net-http', '= 0.4.1', feature_category: :shared
  
  gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
@@ -259,6 +216,6 @@
*** 144 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202409070539.4875dQuf035270>