From d358256642034b0a41c06e8baa1cde82a3e3627a Mon Sep 17 00:00:00 2001
From: "[1000i100] Millicent Billette" <git@1000i100.fr>
Date: Fri, 23 Apr 2021 02:42:22 +0200
Subject: [PATCH] CI: auto mirror

---
 .gitlab-ci.yml | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7b4f93f..f005a67 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -19,6 +19,38 @@ build:
     - main
     - tags
 
+.mirror_template: &mirror # https://mdleom.com/blog/2020/04/21/gitlab-github-mirror/
+  allow_failure: true
+  variables:
+    GIT_MIRROR_HOST: dum.my
+    GIT_MIRROR_TARGET: git@dum.my:grp/repos.git
+    GIT_STRATEGY: clone
+  stage: build
+  image: node:alpine
+  script:
+    - 'which ssh-agent || (apk update && apk add openssh-client git)'
+    - eval $(ssh-agent -s)
+    - echo "$GIT_MIRROR_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
+    - mkdir -p ~/.ssh
+    - chmod 700 ~/.ssh
+    - ssh-keyscan $GIT_MIRROR_HOST 2>&1 | grep -vE '^#' > ~/.ssh/known_hosts
+    - chmod 644 ~/.ssh/known_hosts
+    - git remote add mirrorTarget $GIT_MIRROR_TARGET
+    - git push mirrorTarget --all
+    - git push mirrorTarget --tags
+
+mirror-framagit:
+  <<: *mirror
+  variables:
+    GIT_MIRROR_HOST: framagit.org
+    GIT_MIRROR_TARGET: git@framagit.org:g1/g1lib.js.git
+
+mirror-git.duniter.org:
+  <<: *mirror
+  variables:
+    GIT_MIRROR_HOST: git.duniter.org
+    GIT_MIRROR_TARGET: git@git.duniter.org:libs/g1lib.js.git
+
 pages:
   stage: test
   image: node:latest
-- 
GitLab