Skip to content
Snippets Groups Projects

Draft: TEST_CI_FORK_DO_NOT_MERGE

Closed Grégoire Kubler requested to merge (removed):fix/ci_fork_exec into dev
@@ -17,10 +17,6 @@ build:ubuntu_cpp:
# Check if a branch with the same name exist on the dependency repository
- BRANCH_TO_PULL="dev" # default branch
- set -x
# Get project information
- PROJECT_INFO=$(curl -s --header "PRIVATE-TOKEN:${CI_JOB_TOKEN}" "${API_URL}/projects/${PROJECT_PATH}")
# Parse owner information
- OWNER=$(echo "$PROJECT_INFO" | jq -r '.owner')
- >
if [ "$CI_MERGE_REQUEST_ID" ]; then # CASE MERGE REQUEST
echo "Merge request pipeline detected"
@@ -34,6 +30,7 @@ build:ubuntu_cpp:
else # CASE CASUAL COMMIT
# checking if given branch exist on official repo or on fork
if [[ $(curl -s -o /dev/null -w "%{http_code}" "https://gitlab.eclipse.org/eclipse/${CI_PROJECT_NAMESPACE}/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME") -ne 302 && $(curl -s -o /dev/null -w "%{http_code}" "https://gitlab.eclipse.org/eclipse/${CI_PROJECT_NAMESPACE}/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME") -ne 404 ]]; then
# replace this long call by a check on group namespace
PULL_FROM_FORK=FALSE
BRANCH_TO_PULL=$CI_COMMIT_REF_NAME
elif [[ $(curl -s -o /dev/null -w "%{http_code}" "https://gitlab.eclipse.org/${CI_PROJECT_NAMESPACE}/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME") -ne 302 && $(curl -s -o /dev/null -w "%{http_code}" "https://gitlab.eclipse.org/${CI_PROJECT_NAMESPACE}/$DEPENDENCY_NAME/-/tree/$CI_COMMIT_REF_NAME") -ne 302 ]]; then
@@ -45,17 +42,25 @@ build:ubuntu_cpp:
fi
fi
- echo "Pulling from branch:\"$BRANCH_TO_PULL\""
# Get project information
- PROJECT_INFO=$(curl -s --header "PRIVATE-TOKEN:${CI_JOB_TOKEN}" "${API_URL}/projects/${DEPENDENCY_NAME}")
- OWNER=$(echo "$PROJECT_INFO" | jq -r '.owner')
- echo "${CI_PROJECT_PATH}"
- echo "${CI_PROJECT_DIR}"
- echo "${CI_PROJECT_URL}"
- echo "${CI_PROJECT_NAMESPACE}"
- echo "${CI_PROJECT_NAMESPACE_ID}"
- echo $(curl -s --header "PRIVATE-TOKEN:${CI_JOB_TOKEN}" "${API_URL}/projects")
- echo $(curl -s --header "PRIVATE-TOKEN:${CI_JOB_TOKEN}" "${API_URL}/projects/${CI_PROJECT_ID}")
- echo ${CI_PROJECT_ROOT_NAMESPACE}
- PROJECT_NAMESPACE=$(curl --header "PRIVATE-TOKEN:${CI_JOB_TOKEN}" "${API_URL}/namespaces")
- PROJECT_INFO=$(curl -s --header "PRIVATE-TOKEN:${CI_JOB_TOKEN}" "${API_URL}/projects/${CI_PROJECT_ID}")
- >
if [[ ! $PULL_FROM_FORK ]]; 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."
USER=$(curl --header "PRIVATE_TOKEN: $CI_JOB_TOKEN" "${API_URL}/users" | jq .)
USER_ID=$(curl --header "PRIVATE_TOKEN: $CI_JOB_TOKEN" "${API_URL}/users" | jq -r '.[0].id')
DEPENDENCY_ID=$(curl --header "PRIVATE_TOKEN: $CI_JOB_TOKEN" "${API_URL}/users/${CI_PROJECT_NAMESPACE_ID}/projects?search=${DEPENDENCY_NAME}" | jq -r '.[0].id')
fi
Loading