All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: kdevops@lists.linux.dev
Cc: Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 01/18] linux-mirror: add kdevops mirroring support
Date: Fri, 29 Mar 2024 19:25:23 -0700	[thread overview]
Message-ID: <20240330022540.612487-2-mcgrof@kernel.org> (raw)
In-Reply-To: <20240330022540.612487-1-mcgrof@kernel.org>

We use kdevops git trees even on each guest, instead of cloning
on github.com use the local mirror once and keep the mirror up to
date every 5 minutes.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 Makefile.linux-mirror                         |  5 +--
 kconfigs/Kconfig.mirror                       | 32 +++++++++++++++++++
 .../linux-mirror-systemd/Makefile             | 10 ++++++
 .../kdevops-mirror.service                    | 13 ++++++++
 .../linux-mirror-systemd/kdevops-mirror.timer | 10 ++++++
 5 files changed, 68 insertions(+), 2 deletions(-)
 create mode 100644 playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.service
 create mode 100644 playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.timer

diff --git a/Makefile.linux-mirror b/Makefile.linux-mirror
index 245aa34cb4ca..762e53562493 100644
--- a/Makefile.linux-mirror
+++ b/Makefile.linux-mirror
@@ -46,8 +46,8 @@ LOCALHOST_SETUP_WORK += mirror
 
 mirror-help-menu:
 	@echo "Mirror options:"
-	@echo "mirror		- sets up systemd mirrors (Linux & QEMU)"
-	@echo "mirror-status	- checks systemd mirrors status (Linux & QEMU)"
+	@echo "mirror		- sets up systemd mirrors"
+	@echo "mirror-status	- checks systemd mirrors status"
 	@echo ""
 
 HELP_TARGETS += mirror-help-menu
@@ -60,3 +60,4 @@ export MCGROF		:= $(subst ",,$(CONFIG_MIRROR_MCGROF_URL))
 export MCGROF_LINUS	:= $(subst ",,$(CONFIG_MIRROR_MCGROF_LINUS_URL))
 export QEMU		:= $(subst ",,$(CONFIG_MIRROR_QEMU_URL))
 export QEMU_JIC23	:= $(subst ",,$(CONFIG_MIRROR_QEMU_JIC23_URL))
+export KDEVOPS		:= $(subst ",,$(CONFIG_MIRROR_KDEVOPS_URL))
diff --git a/kconfigs/Kconfig.mirror b/kconfigs/Kconfig.mirror
index 3f0b15859319..0cdce1566a8b 100644
--- a/kconfigs/Kconfig.mirror
+++ b/kconfigs/Kconfig.mirror
@@ -34,6 +34,7 @@ config INSTALL_LOCAL_LINUX_MIRROR
 	  to keep these properly updated. The repositories will be placed
 	  into /mirror/ directory:
 
+	  Kernel development trees:
 	    /mirror/linux.git
 	    /mirror/linux-stable.git
 	    /mirror/linux-next.git
@@ -41,6 +42,9 @@ config INSTALL_LOCAL_LINUX_MIRROR
 	    /mirror/mcgrof-next.git
 	    /mirror/mcgrof-linus.git
 
+	  kdevops specific trees and kdevops git alternatives:
+	    /mirror/kdevops.git
+
 	  Enabling this even if you already have the repositories does nothing
 	  so it is safe to keep this enabled even after your first linux-mirror
 	  setup. You can however safely also disable this option after your
@@ -51,6 +55,34 @@ config MIRROR_GIT_WORKS
 	bool
 	default $(shell, ./scripts/test_git_firewall.sh)
 
+choice
+	prompt "kdevops mirror source"
+	default MIRROR_KDEVOPS_HTTPS_GITHUB
+	depends on INSTALL_LOCAL_LINUX_MIRROR
+
+config MIRROR_KDEVOPS_HTTPS_GITHUB
+	bool "HTTPS (github)"
+	help
+	  If you enable this option then Github HTTPS will be used as the
+	  source of the mirror. The URL is:
+
+	  https://github.com/linux-kdevops/kdevops.git
+
+config MIRROR_KDEVOPS_HTTPS_GITLAB
+	bool "HTTPS (GitLab)"
+	help
+	  If you enable this option then GitLab HTTPS will be used as the
+	  source of the mirror. The URL is:
+
+	  https://gitlab.com/linux-kdevops/kdevops.git
+
+endchoice
+
+config MIRROR_KDEVOPS_URL
+	string
+	default "https://github.com/linux-kdevops/kdevops.git" if MIRROR_KDEVOPS_HTTPS_GITHUB
+	default "https://gitlab.com/linux-kdevops/kdevops.git" if MIRROR_KDEVOPS_HTTPS_GITLAB
+
 choice
 	prompt "Linux mirror protocol"
 	default MIRROR_TORVALDS_GIT if MIRROR_GIT_WORKS
diff --git a/playbooks/roles/linux-mirror/linux-mirror-systemd/Makefile b/playbooks/roles/linux-mirror/linux-mirror-systemd/Makefile
index 2bccada39cfc..5568d870c6bc 100644
--- a/playbooks/roles/linux-mirror/linux-mirror-systemd/Makefile
+++ b/playbooks/roles/linux-mirror/linux-mirror-systemd/Makefile
@@ -15,6 +15,9 @@ LINUX_TIMERS += kdevops-linus-mirror.timer
 LINUX_TIMERS += mcgrof-next-mirror.timer
 LINUX_TIMERS += mcgrof-linus-mirror.timer
 
+KDEVOPS_SERVICES  := kdevops-mirror.service
+KDEVOPS_TIMERS := kdevops-mirror.timer
+
 QEMU_SERVICES  := qemu-mirror.service
 QEMU_SERVICES  += qemu-jic23-mirror.service
 QEMU_TIMERS    := qemu-mirror.timer
@@ -32,12 +35,15 @@ MCGROF_TARGET_LINUS	:= $(MIRROR_PATH)/mcgrof-linus.git
 MCGROF_TARGET		:= $(MIRROR_PATH)/mcgrof-next.git
 QEMU_TARGET     	:= $(MIRROR_PATH)/qemu.git
 QEMU_JIC23_TARGET	:= $(MIRROR_PATH)/qemu-jic23.git
+KDEVOPS_TARGET		:= $(MIRROR_PATH)/kdevops.git
 
 MIRROR_SERVICES := $(LINUX_SERVICES)
 MIRROR_SERVICES += $(QEMU_SERVICES)
+MIRROR_SERVICES += $(KDEVOPS_SERVICES)
 
 MIRROR_TIMERS   := $(LINUX_TIMERS)
 MIRROR_TIMERS   += $(QEMU_TIMERS)
+MIRROR_TIMERS   += $(KDEVOPS_TIMERS)
 
 ifeq ($(V),1)
 export Q=
@@ -96,6 +102,10 @@ mirror:
 	  echo "          CLONE qemu-project/jic23-qemu" ;\
 	  git -C $(MIRROR_PATH) clone $(GIT_VERBOSE) --progress --mirror $(QEMU_JIC23) --reference /mirror/qemu.git $(QEMU_JIC23_TARGET) ;\
 	fi
+	$(Q)if [ ! -d $(KDEVOPS_TARGET) ]; then \
+	  echo "          CLONE linux-kdevops/kdevops" ;\
+	  git -C $(MIRROR_PATH) clone $(GIT_VERBOSE) --progress --mirror $(KDEVOPS) $(KDEVOPS_TARGET) ;\
+	fi
 
 install:
 	$(Q)mkdir -p $(USER_SYSTEM)
diff --git a/playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.service b/playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.service
new file mode 100644
index 000000000000..9cc1efdc892b
--- /dev/null
+++ b/playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=kdevops mirror [qemu.git]
+Documentation=man:git(1)
+ConditionPathExists=/mirror/kdevops.git
+
+[Service]
+Type=oneshot
+ExecStartPre=/usr/bin/git -C /mirror/kdevops.git remote update --prune
+ExecStart=/usr/bin/git -C /mirror/kdevops.git fetch --tags --prune
+ExecStartPost=/usr/bin/git -C /mirror/kdevops.git fetch origin +refs/heads/*:refs/heads/*
+
+[Install]
+WantedBy=multi-user.target
diff --git a/playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.timer b/playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.timer
new file mode 100644
index 000000000000..9138bc7494bc
--- /dev/null
+++ b/playbooks/roles/linux-mirror/linux-mirror-systemd/kdevops-mirror.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=kdevops mirror query timer [kdevops.git]
+ConditionPathExists=/mirror/qemu.git
+
+[Timer]
+OnBootSec=5m
+OnUnitInactiveSec=10m
+
+[Install]
+WantedBy=default.target
-- 
2.43.0


  reply	other threads:[~2024-03-30  2:25 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-30  2:25 [PATCH 00/18] mirrors: enhance and add tons of mirrors Luis Chamberlain
2024-03-30  2:25 ` Luis Chamberlain [this message]
2024-03-30  2:25 ` [PATCH 02/18] Makefile.min_deps: add netcat as a min binary dependency Luis Chamberlain
2024-03-30  2:25 ` [PATCH 03/18] provision: generalize bridge-ip further Luis Chamberlain
2024-03-30  2:25 ` [PATCH 04/18] mirrors: add guestfs mirror options without 9p Luis Chamberlain
2024-03-30  2:25 ` [PATCH 05/18] mirrors: enable kdevops mirror Luis Chamberlain
2024-03-30  2:25 ` [PATCH 06/18] mirrors: add fstests to mirrors Luis Chamberlain
2024-03-30  2:25 ` [PATCH 07/18] fstests: use local primary fstests mirror if present Luis Chamberlain
2024-03-30  2:25 ` [PATCH 08/18] mirrors: add kdevops git alternative for fstests Luis Chamberlain
2024-03-30  2:25 ` [PATCH 09/18] mirrors: use kdevops fstests mirror when available Luis Chamberlain
2024-03-30  2:25 ` [PATCH 10/18] mirrors: add blktests mirror Luis Chamberlain
2024-03-30  2:25 ` [PATCH 11/18] mirrors: use blktests mirror when its available Luis Chamberlain
2024-03-30  2:25 ` [PATCH 12/18] mirrors: increase scope of mirroring in output Luis Chamberlain
2024-03-30  2:25 ` [PATCH 13/18] mirrors: move status check Luis Chamberlain
2024-03-30  2:25 ` [PATCH 14/18] mirrors: move mirror editing into one file Luis Chamberlain
2024-03-30  2:25 ` [PATCH 15/18] mirrors: add new mirrors.yaml and add xfsprogs Luis Chamberlain
2024-03-30  2:25 ` [PATCH 16/18] mirrors: add xfsdump mirror and use it Luis Chamberlain
2024-03-30  2:25 ` [PATCH 17/18] mirrors: add dbench git Luis Chamberlain
2024-03-30  2:25 ` [PATCH 18/18] mirrors: add blktrace mirror and use it Luis Chamberlain
2024-03-30 16:37 ` [PATCH 00/18] mirrors: enhance and add tons of mirrors Chuck Lever III
2024-04-03  1:01   ` Luis Chamberlain
2024-04-03 18:04     ` Chuck Lever III

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240330022540.612487-2-mcgrof@kernel.org \
    --to=mcgrof@kernel.org \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.