diff options
| -rw-r--r-- | .gitlab-ci.yml | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..236b28c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,30 @@ +# source repo .gitlab-ci.yml +# requires a project access token (Project > Settings > Access tokens): +#   - TOKEN with read_repository, write_repository; Role: Maintainer +# +# disable protected branch for Maintainer (Project > Settings > Repository): +#   - main branch allowed to merge, allowed to push and merge maintainer; allowed to force push on  +# +# requires the following gitlab variables (Project > Settings > CI/CD > Variables): +#   - REPO_NAME: gitlab.com/<user>/<repo_name> (Protected, Masked, Expanded) +#   - SOURCE_REPO: https://cgit.example.com/<repo_name> (Protected, Masked, Expanded) +#   - TOKEN: <project access token> (Protected, Masked, Expanded) +# +stages: +  - mirror + +mirror-from-cgit: +  stage: mirror +  image: ubuntu:20.04 +  before_script: +    - apt-get update -y && apt-get install -y git +    - git config --global user.name "CI" +    - git config --global user.email "ci@gitlab.com" +  script: +    - git clone --mirror "$SOURCE_REPO" temp_repo +    - cd temp_repo +    - TARGET_REPO="https://oauth2:$TOKEN@$REPO_NAME" +    - git remote set-url origin "$TARGET_REPO" +    - git push --prune --mirror +  only: +    - schedules |