stages:
  - deploy

variables:
  GIT_SUBMODULE_STRATEGY: recursive

before_script:
  # add gitlab ssh key
  - mkdir -p ~/.ssh
  - chmod 700 ~/.ssh
  - echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
  - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
  - chmod 600 ~/.ssh/id_rsa
  - echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" > ~/.ssh/config

deploy_master_github:
  stage: deploy
  image: $CI_DOCKER_REGISTRY/esp32-ci-env
  tags:
    - deploy
  when: manual
  only:
    - master
  script:
      - mkdir -p ~/.ssh
      - chmod 700 ~/.ssh
      - echo -n $GH_KEY > ~/.ssh/id_rsa_base64
      - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
      - chmod 600 ~/.ssh/id_rsa
      - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
      - git remote remove github &>/dev/null || true
      - git remote add github git@github.com:espressif/esp-hosted.git
      - git push github "${CI_COMMIT_SHA}:refs/heads/${CI_COMMIT_REF_NAME}"

deploy_esp_host_v1_github:
  stage: deploy
  image: $CI_DOCKER_REGISTRY/esp32-ci-env
  tags:
    - deploy
  when: manual
  only:
    - ESP-Hosted_MCU_Host
  variables:
    TARGET_BRANCH: "ESP-Hosted_MCU_Host"
  script:
      - mkdir -p ~/.ssh
      - chmod 700 ~/.ssh
      - echo -n $GH_KEY > ~/.ssh/id_rsa_base64
      - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
      - chmod 600 ~/.ssh/id_rsa
      - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
      - git remote remove github &>/dev/null || true
      - git remote add github git@github.com:espressif/esp-hosted.git
      - git push github "${CI_COMMIT_SHA}:refs/heads/${TARGET_BRANCH}"

.deploy_force_master_github:
  stage: deploy
  image: $CI_DOCKER_REGISTRY/esp32-ci-env
  tags:
    - deploy
  when: manual
  only:
    - master
  script:
      - mkdir -p ~/.ssh
      - chmod 700 ~/.ssh
      - echo -n $GH_KEY > ~/.ssh/id_rsa_base64
      - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
      - chmod 600 ~/.ssh/id_rsa
      - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
      - git remote remove github &>/dev/null || true
      - git remote add github git@github.com:espressif/esp-hosted.git
      - git push -f github "${CI_COMMIT_SHA}:refs/heads/${CI_COMMIT_REF_NAME}"