Loading .gitlab-ci.yml +7 −50 Original line number Diff line number Diff line Loading @@ -4,6 +4,11 @@ stages: - update-from-upstream - build include: - project: 'e/templates' ref: master file: '/gitlab-ci/.gitlab-ci-import-updates-from-upstream.yml' before_script: - export GRADLE_USER_HOME=$(pwd)/.gradle - chmod +x ./gradlew Loading Loading @@ -31,56 +36,8 @@ build-release: paths: - app/build/outputs/apk .update-from-upstream: image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest stage: update-from-upstream rules: - if: '$CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_REF_NAME == $LOCAL_BRANCH' variables: CI_PROJECT_SSH_URL: git@gitlab.e.foundation:$CI_PROJECT_PATH GIT_STRATEGY: none before_script: - "command -v ssh-agent >/dev/null" - eval $(ssh-agent -s) - echo "${SSH_E_ROBOT_PRIVATE_KEY}" | tr -d '\r' | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "${SSH_KNOWN_HOSTS}" > ~/.ssh/known_hosts - echo "${SSH_KNOWN_HOSTS}" - chmod 644 ~/.ssh/known_hosts - git config --global user.email $GITLAB_USER_EMAIL - git config --global user.name "$GITLAB_USER_NAME" - cd $CI_BUILD_DIR - rm -rf $CI_PROJECT_DIR - git clone $CI_PROJECT_SSH_URL $CI_PROJECT_DIR - cd $CI_PROJECT_DIR script: - git config http.sslverify false # update $UPSTREAM_BRANCH & tags - git fetch origin - git checkout $UPSTREAM_BRANCH - git remote add upstream $UPSTREAM_URL - git fetch upstream - git pull upstream $UPSTREAM_DEFAULT_BRANCH - git push origin $UPSTREAM_BRANCH - git push origin --tags # checkout to latest tag commit to $TEMP_LATEST_TAG_BRANCH - git checkout $(git describe --tags --abbrev=0) - git checkout -b $TEMP_LATEST_TAG_BRANCH # merge $LOCAL_BRANCH with $TEMP_LATEST_TAG_BRANCH & push - git checkout $LOCAL_BRANCH - git merge $TEMP_LATEST_TAG_BRANCH - git push origin $LOCAL_BRANCH # remove unwanted local branch & remote - git branch -D $TEMP_LATEST_TAG_BRANCH - git remote remove upstream update-default-branch: upstream_main: extends: .update-from-upstream variables: UPSTREAM_BRANCH: master LOCAL_BRANCH: main UPSTREAM_BRANCH: upstream/master UPSTREAM_DEFAULT_BRANCH: master UPSTREAM_URL: https://git.code.sf.net/p/opencamera/code TEMP_LATEST_TAG_BRANCH: latest_upstream_tag_branch allow_failure: true Loading
.gitlab-ci.yml +7 −50 Original line number Diff line number Diff line Loading @@ -4,6 +4,11 @@ stages: - update-from-upstream - build include: - project: 'e/templates' ref: master file: '/gitlab-ci/.gitlab-ci-import-updates-from-upstream.yml' before_script: - export GRADLE_USER_HOME=$(pwd)/.gradle - chmod +x ./gradlew Loading Loading @@ -31,56 +36,8 @@ build-release: paths: - app/build/outputs/apk .update-from-upstream: image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:slim-latest stage: update-from-upstream rules: - if: '$CI_PIPELINE_SOURCE == "schedule" && $CI_COMMIT_REF_NAME == $LOCAL_BRANCH' variables: CI_PROJECT_SSH_URL: git@gitlab.e.foundation:$CI_PROJECT_PATH GIT_STRATEGY: none before_script: - "command -v ssh-agent >/dev/null" - eval $(ssh-agent -s) - echo "${SSH_E_ROBOT_PRIVATE_KEY}" | tr -d '\r' | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "${SSH_KNOWN_HOSTS}" > ~/.ssh/known_hosts - echo "${SSH_KNOWN_HOSTS}" - chmod 644 ~/.ssh/known_hosts - git config --global user.email $GITLAB_USER_EMAIL - git config --global user.name "$GITLAB_USER_NAME" - cd $CI_BUILD_DIR - rm -rf $CI_PROJECT_DIR - git clone $CI_PROJECT_SSH_URL $CI_PROJECT_DIR - cd $CI_PROJECT_DIR script: - git config http.sslverify false # update $UPSTREAM_BRANCH & tags - git fetch origin - git checkout $UPSTREAM_BRANCH - git remote add upstream $UPSTREAM_URL - git fetch upstream - git pull upstream $UPSTREAM_DEFAULT_BRANCH - git push origin $UPSTREAM_BRANCH - git push origin --tags # checkout to latest tag commit to $TEMP_LATEST_TAG_BRANCH - git checkout $(git describe --tags --abbrev=0) - git checkout -b $TEMP_LATEST_TAG_BRANCH # merge $LOCAL_BRANCH with $TEMP_LATEST_TAG_BRANCH & push - git checkout $LOCAL_BRANCH - git merge $TEMP_LATEST_TAG_BRANCH - git push origin $LOCAL_BRANCH # remove unwanted local branch & remote - git branch -D $TEMP_LATEST_TAG_BRANCH - git remote remove upstream update-default-branch: upstream_main: extends: .update-from-upstream variables: UPSTREAM_BRANCH: master LOCAL_BRANCH: main UPSTREAM_BRANCH: upstream/master UPSTREAM_DEFAULT_BRANCH: master UPSTREAM_URL: https://git.code.sf.net/p/opencamera/code TEMP_LATEST_TAG_BRANCH: latest_upstream_tag_branch allow_failure: true