diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 96767cb98..8b93687ec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -155,9 +155,8 @@ installed-tests: # FIXME Install newer xdg-desktop-portal with # GMemoryMonitor support, see: # https://github.com/flatpak/xdg-desktop-portal/pull/365 - - git clone --single-branch https://github.com/flatpak/xdg-desktop-portal.git + - git clone --branch 1.6.0 --depth 1 --no-tags https://github.com/flatpak/xdg-desktop-portal.git - cd xdg-desktop-portal - - git reset --hard 1.6.0 - ./autogen.sh --prefix=/usr --libdir=/usr/lib64 --disable-libportal --disable-dependency-tracking - make - sudo make install @@ -165,7 +164,7 @@ installed-tests: # FIXME install newer gobject-introspection # with GMemoryMonitor support, see: # https://gitlab.gnome.org/GNOME/gobject-introspection/merge_requests/193 - - git clone --single-branch https://gitlab.gnome.org/GNOME/gobject-introspection.git + - git clone --branch master --depth 1 --no-tags https://gitlab.gnome.org/GNOME/gobject-introspection.git - cd gobject-introspection - /usr/bin/meson _build --prefix=/usr --libdir=/usr/lib64 - ninja -C _build diff --git a/.gitlab-ci/cache-subprojects.sh b/.gitlab-ci/cache-subprojects.sh index 421631ed2..fb0b1df82 100755 --- a/.gitlab-ci/cache-subprojects.sh +++ b/.gitlab-ci/cache-subprojects.sh @@ -2,7 +2,7 @@ set -e -git clone https://gitlab.gnome.org/GNOME/glib.git +git clone --depth 1 --no-tags https://gitlab.gnome.org/GNOME/glib.git meson subprojects download --sourcedir glib rm glib/subprojects/*.wrap mv glib/subprojects/ . diff --git a/.gitlab-ci/run-check-todos.sh b/.gitlab-ci/run-check-todos.sh index 8af102739..8a6a9bfda 100755 --- a/.gitlab-ci/run-check-todos.sh +++ b/.gitlab-ci/run-check-todos.sh @@ -2,11 +2,17 @@ set -e +ancestor_horizon=28 # days (4 weeks) + # We need to add a new remote for the upstream target branch, since this script # could be running in a personal fork of the repository which has out of date # branches. +# +# Limit the fetch to a certain date horizon to limit the amount of data we get. +# If the branch was forked from origin/master before this horizon, it should +# probably be rebased. git remote add upstream https://gitlab.gnome.org/GNOME/glib.git -git fetch upstream +git fetch --shallow-since="$(date --date="${ancestor_horizon} days ago" +%Y-%m-%d)" upstream # Work out the newest common ancestor between the detached HEAD that this CI job # has checked out, and the upstream target branch (which will typically be @@ -14,4 +20,11 @@ git fetch upstream # `${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}` is only defined if we’re running in # a merge request pipeline; fall back to `${CI_DEFAULT_BRANCH}` otherwise. newest_common_ancestor_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "upstream/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_DEFAULT_BRANCH}}") <(git rev-list --first-parent HEAD) | head -1) +if [ -z "${newest_common_ancestor_sha}" ]; then + echo "Couldn’t find common ancestor with upstream master. This typically" + echo "happens if you branched from master a long time ago. Please update" + echo "your clone, rebase, and re-push your branch." + exit 1 +fi + ./.gitlab-ci/check-todos.py "${newest_common_ancestor_sha}" diff --git a/.gitlab-ci/run-style-check-diff.sh b/.gitlab-ci/run-style-check-diff.sh index 1f7b8c125..b308e7679 100755 --- a/.gitlab-ci/run-style-check-diff.sh +++ b/.gitlab-ci/run-style-check-diff.sh @@ -2,21 +2,35 @@ set -e +ancestor_horizon=28 # days (4 weeks) + # Wrap everything in a subshell so we can propagate the exit status. ( # We need to add a new remote for the upstream target branch, since this script # could be running in a personal fork of the repository which has out of date # branches. +# +# Limit the fetch to a certain date horizon to limit the amount of data we get. +# If the branch was forked from origin/master before this horizon, it should +# probably be rebased. git remote add upstream https://gitlab.gnome.org/GNOME/glib.git -git fetch upstream +git fetch --shallow-since="$(date --date="${ancestor_horizon} days ago" +%Y-%m-%d)" upstream # Work out the newest common ancestor between the detached HEAD that this CI job # has checked out, and the upstream target branch (which will typically be # `upstream/master` or `upstream/glib-2-62`). +# # `${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}` is only defined if we’re running in # a merge request pipeline; fall back to `${CI_DEFAULT_BRANCH}` otherwise. newest_common_ancestor_sha=$(diff --old-line-format='' --new-line-format='' <(git rev-list --first-parent "upstream/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-${CI_DEFAULT_BRANCH}}") <(git rev-list --first-parent HEAD) | head -1) +if [ -z "${newest_common_ancestor_sha}" ]; then + echo "Couldn’t find common ancestor with upstream master. This typically" + echo "happens if you branched from master a long time ago. Please update" + echo "your clone, rebase, and re-push your branch." + exit 1 +fi + git diff -U0 --no-color "${newest_common_ancestor_sha}" | ./clang-format-diff.py -binary "clang-format-7" -p1 ) diff --git a/subprojects/gtk-doc.wrap b/subprojects/gtk-doc.wrap index 7469d027b..79ec37220 100644 --- a/subprojects/gtk-doc.wrap +++ b/subprojects/gtk-doc.wrap @@ -2,3 +2,4 @@ directory=gtk-doc url=https://gitlab.gnome.org/GNOME/gtk-doc.git revision=master +depth=1 diff --git a/subprojects/libffi.wrap b/subprojects/libffi.wrap index 6dea9ebed..00b29d6a2 100644 --- a/subprojects/libffi.wrap +++ b/subprojects/libffi.wrap @@ -2,3 +2,4 @@ directory=libffi url=https://gitlab.freedesktop.org/gstreamer/meson-ports/libffi.git revision=meson +depth=1 diff --git a/subprojects/proxy-libintl.wrap b/subprojects/proxy-libintl.wrap index b53c8f7c3..6225021b8 100644 --- a/subprojects/proxy-libintl.wrap +++ b/subprojects/proxy-libintl.wrap @@ -2,3 +2,4 @@ directory=proxy-libintl url=https://github.com/frida/proxy-libintl.git revision=0.1 +depth=1 diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap index 14874880e..fb669463b 100644 --- a/subprojects/sysprof.wrap +++ b/subprojects/sysprof.wrap @@ -2,3 +2,4 @@ directory=sysprof url=https://gitlab.gnome.org/GNOME/sysprof.git revision=6b1cd7a722fcebae1ac392562c47957477ade8bf +depth=1