diff --git a/.gitlab/ci/shared_script.gitlab-ci.yml b/.gitlab/ci/shared_script.gitlab-ci.yml index 8c0b7f08974ebfe86a1ca37e11332aecf79b870b..6fc862058fdc5bbf238aba3ae88a77a8a26f139d 100644 --- a/.gitlab/ci/shared_script.gitlab-ci.yml +++ b/.gitlab/ci/shared_script.gitlab-ci.yml @@ -8,39 +8,32 @@ - apt-get -qq install -y jq - GITLAB_ECLIPSE_URL="https://gitlab.eclipse.org/" - API_URL="https://gitlab.eclipse.org/api/v4" + - echo "CI project namespace $CI_PROJECT_NAMESPACE" # Check if a branch with the same name exist on the dependency repository - BRANCH_TO_PULL="dev" # default branch - > if [ "$CI_MERGE_REQUEST_ID" ]; then # CASE MERGE REQUEST echo "Merge request pipeline detected" if [ $(curl -s -o /dev/null -w "%{http_code}" "$GITLAB_ECLIPSE_URL/eclipse/aidge/$DEPENDENCY_NAME/-/tree/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME") -eq 404 ]; then - echo "Pull from default" + echo "Pull from default" else - # Pulling from target branch - echo "Pull from ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}" - BRANCH_TO_PULL=${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} + # Pulling from target branch + echo "Pull from ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}" + BRANCH_TO_PULL=${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} fi else # CASE CASUAL COMMIT - echo "TEST : $GITLAB_ECLIPSE_URL/eclipse/$CI_PROJECT_NAMESPACE/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME" + echo "TEST : $GITLAB_ECLIPSE_URL/$CI_PROJECT_NAMESPACE/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME" # checking if given branch exist on official repo or on fork - RETURN_HTTP_CODE_OFFICIAL_REPO=$(curl -s -o /dev/null -w "%{http_code}" "$GITLAB_ECLIPSE_URL/eclipse/$CI_PROJECT_NAMESPACE/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME") - RETURN_HTTP_CODE_FORK=$(curl -s -o /dev/null -w "%{http_code}" "$GITLAB_ECLIPSE_URL/$CI_PROJECT_NAMESPACE/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME") - if [[ $RETURN_HTTP_CODE_OFFICIAL_REPO -ne 302 && $RETURN_HTTP_CODE_OFFICIAL_REPO -ne 404 ]]; then - PULL_FROM_FORK=FALSE - BRANCH_TO_PULL=$CI_COMMIT_REF_NAME - elif [[ $RETURN_HTTP_CODE_FORK -ne 302 && $RETURN_HTTP_CODE_FORK -ne 302 ]]; then - PULL_FROM_FORK=TRUE + RETURN_HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" "$GITLAB_ECLIPSE_URL/$CI_PROJECT_NAMESPACE/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME") + if [[ $RETURN_HTTP_CODE -ne 302 && $RETURN_HTTP_CODE -ne 404 ]]; then BRANCH_TO_PULL=$CI_COMMIT_REF_NAME else - PULL_FROM_FORK=FALSE echo "No branch \"$CI_COMMIT_REF_NAME\" found for \"$DEPENDENCY_NAME\" in official or forked repos." fi fi - echo "Pulling from branch:\"$BRANCH_TO_PULL\"" - - - > - if [[ ! $PULL_FROM_FORK ]]; then # nominal case : we are in the official project + if [[ $CI_PROJECT_NAMESPACE =~ "aidge/eclipse" ]]; then # nominal case : we are in the official project DEPENDENCY_ID=$(curl "${API_URL}/groups/${CI_PROJECT_NAMESPACE_ID}/projects?search=${DEPENDENCY_NAME}" | jq -r '.[0].id') else # case for fork echo "Retrieving build_artifacts from user' forked project." @@ -136,4 +129,3 @@ - 'curl "https://gitlab.eclipse.org/api/v4/projects/$DependencyId/jobs/artifacts/$BRANCH_TO_PULL/download?job=$DEPENDENCY_JOB" -o build_artifacts.zip' - Expand-Archive -Path build_artifacts.zip -DestinationPath . -Force -