Skip to content
Snippets Groups Projects
Commit 050d59a7 authored by Eesaan Atluri's avatar Eesaan Atluri
Browse files

Merge branch 'feat-facilitate-ext-PR-test' into 'feat-hpc-factory'

Facilitate testing PRs from an external repo hosted on GH

See merge request !122
parents 9045cd4e 9399b84b
No related branches found
No related tags found
2 merge requests!122Facilitate testing PRs from an external repo hosted on GH,!117This MR merges the feat-hpc-factory branch, which was focused on building and deploying proxy images for the COD cluster.
...@@ -43,29 +43,31 @@ workflow: ...@@ -43,29 +43,31 @@ workflow:
.update_ansible_repo: &update_ansible_repo .update_ansible_repo: &update_ansible_repo
- *get_build_date - *get_build_date
- | - |
if [ ! -d $CI_PROJECT_DIR/CRI_XCBC ]; then export EXT_REPO_DIR=$(basename -s .git $EXT_PR_TARGET_REPO)
git clone https://github.com/uabrc/CRI_XCBC.git if [ ! -d $CI_PROJECT_DIR/$EXT_REPO_DIR ]; then
cd CRI_XCBC git clone ${EXT_PR_TARGET_REPO} ${EXT_REPO_DIR}
git remote add upstream https://github.com/jprorama/CRI_XCBC.git cd ${EXT_REPO_DIR}
git remote add upstream ${EXT_PR_SRC_REPO}
cd .. cd ..
fi fi
- cd CRI_XCBC - cd ${EXT_REPO_DIR}
- git config user.name "${GIT_AUTHOR_NAME}" - git config user.name "${GIT_AUTHOR_NAME}"
- git config user.email "${GIT_AUTHOR_EMAIL}" - git config user.email "${GIT_AUTHOR_EMAIL}"
- git fetch origin uab-prod - git checkout ${EXT_PR_TARGET_BRANCH}
- git fetch upstream dev - git fetch origin ${EXT_PR_TARGET_BRANCH}
- git checkout uab-prod - git merge origin/${EXT_PR_TARGET_BRANCH}
- git merge origin/uab-prod
- git checkout -b integration - git checkout -b integration
- git merge upstream/dev - git fetch upstream ${EXT_PR_SRC_BRANCH}
- export CRI_XCBC_HEAD=$(git rev-parse --short HEAD) - git merge upstream/${EXT_PR_SRC_BRANCH}
- export CRI_XCBC_dev=$(git rev-parse --short upstream/dev) # export vars into job artifacts
- export CRI_XCBC_prod=$(git rev-parse --short origin/uab-prod) - export EXT_REPO_HEAD=$(git rev-parse --short HEAD)
- export EXT_PR_SRC_BRANCH_SHA=$(git rev-parse --short upstream/${EXT_PR_SRC_BRANCH})
- export EXT_PR_TARGET_BRANCH_SHA=$(git rev-parse --short origin/${EXT_PR_TARGET_BRANCH})
- cd .. - cd ..
- export PACKER_IMAGE_HEAD=$(git rev-parse --short HEAD) - export PACKER_IMAGE_HEAD=$(git rev-parse --short HEAD)
- echo CRI_XCBC_HEAD=${CRI_XCBC_HEAD} | tee -a $CI_PROJECT_DIR/image.env - echo EXT_REPO_HEAD=${EXT_REPO_HEAD} | tee -a $CI_PROJECT_DIR/image.env
- echo CRI_XCBC_dev=${CRI_XCBC_dev} | tee -a $CI_PROJECT_DIR/image.env - echo EXT_PR_SRC_BRANCH_SHA=${EXT_PR_SRC_BRANCH_SHA} | tee -a $CI_PROJECT_DIR/image.env
- echo CRI_XCBC_prod=${CRI_XCBC_prod} | tee -a $CI_PROJECT_DIR/image.env - echo EXT_PR_TARGET_BRANCH_SHA=${EXT_PR_TARGET_BRANCH_SHA} | tee -a $CI_PROJECT_DIR/image.env
- echo PACKER_IMAGE_HEAD=${PACKER_IMAGE_HEAD} | tee -a $CI_PROJECT_DIR/image.env - echo PACKER_IMAGE_HEAD=${PACKER_IMAGE_HEAD} | tee -a $CI_PROJECT_DIR/image.env
.get_ansible_files: &get_ansible_files .get_ansible_files: &get_ansible_files
...@@ -77,7 +79,7 @@ workflow: ...@@ -77,7 +79,7 @@ workflow:
- *get_ansible_files - *get_ansible_files
# packer vars for job env # packer vars for job env
- export PKR_VAR_flavor="${PROXY_BUILD_FLAVOR:-$PKR_VAR_flavor}" - export PKR_VAR_flavor="${PROXY_BUILD_FLAVOR:-$PKR_VAR_flavor}"
- export PKR_VAR_build_instance_name="${BUILD_TARGET}-${CRI_XCBC_HEAD}" - export PKR_VAR_build_instance_name="${BUILD_TARGET}-${EXT_REPO_HEAD}"
- export PKR_VAR_image_date_suffix=false - export PKR_VAR_image_date_suffix=false
- | - |
if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then if [ $CI_PIPELINE_SOURCE == 'merge_request_event' ]; then
...@@ -88,21 +90,22 @@ workflow: ...@@ -88,21 +90,22 @@ workflow:
# Ansible var overrides # Ansible var overrides
- | - |
if [ -n "${PROXY_ENABLE_VAR}" ]; then if [ -n "${PROXY_ENABLE_VAR}" ]; then
sed -i -E "s/(${PROXY_ENABLE_VAR}: ).*/\1true/" CRI_XCBC/group_vars/all sed -i -E "s/(${PROXY_ENABLE_VAR}: ).*/\1true/" $EXT_REPO_DIR/group_vars/all
fi fi
- 'sed -i -E "s|(s3_endpoint: ).*|\1\"${S3_ENDPOINT}\"|" CRI_XCBC/group_vars/all' - 'sed -i -E "s|(s3_endpoint: ).*|\1\"${S3_ENDPOINT}\"|" $EXT_REPO_DIR/group_vars/all'
- 'sed -i -E "s/(lts_access_key: ).*/\1\"${AWS_ACCESS_KEY_ID}\"/" CRI_XCBC/group_vars/all' - 'sed -i -E "s/(lts_access_key: ).*/\1\"${AWS_ACCESS_KEY_ID}\"/" $EXT_REPO_DIR/group_vars/all'
- 'sed -i -E "s/(lts_secret_key: ).*/\1\"${AWS_SECRET_ACCESS_KEY}\"/" CRI_XCBC/group_vars/all' - 'sed -i -E "s/(lts_secret_key: ).*/\1\"${AWS_SECRET_ACCESS_KEY}\"/" $EXT_REPO_DIR/group_vars/all'
- 'sed -i -E "s/(s3_shibboleth_bucket_name: ).*/\1\"${S3_SHIBBOLETH_BUCKET_NAME}\"/" CRI_XCBC/group_vars/all' - 'sed -i -E "s/(s3_shibboleth_bucket_name: ).*/\1\"${S3_SHIBBOLETH_BUCKET_NAME}\"/" $EXT_REPO_DIR/group_vars/all'
- 'sed -i -E "s/(s3_shibboleth_object_name: ).*/\1\"${S3_SHIBBOLETH_OBJECT_NAME}\"/" CRI_XCBC/group_vars/all' - 'sed -i -E "s/(s3_shibboleth_object_name: ).*/\1\"${S3_SHIBBOLETH_OBJECT_NAME}\"/" $EXT_REPO_DIR/group_vars/all'
- 'sed -i -E "s|(ssh_pub_key: ).*|\1\"{{ lookup(''file'', ''${SSH_PUB_KEY}'') }}\"|" CRI_XCBC/group_vars/all' - 'sed -i -E "s|(ssh_pub_key: ).*|\1\"{{ lookup(''file'', ''${SSH_PUB_KEY}'') }}\"|" $EXT_REPO_DIR/group_vars/all'
# packer commands # packer commands
- packer init openstack-proxy - packer init openstack-proxy
- packer validate openstack-proxy - packer validate openstack-proxy
- packer build -machine-readable openstack-proxy | tee proxy_build.log - packer build -machine-readable openstack-proxy | tee proxy_build.log
- export BUILT_PROXY_IMAGE_ID=$(grep 'Image:' proxy_build.log | awk '{print $4}') - export BUILT_PROXY_IMAGE_ID=$(grep 'Image:' proxy_build.log | awk '{print $4}')
- echo BUILT_PROXY_IMAGE_ID=${BUILT_PROXY_IMAGE_ID} | tee -a $CI_PROJECT_DIR/image.env - echo BUILT_PROXY_IMAGE_ID=${BUILT_PROXY_IMAGE_ID} | tee -a $CI_PROJECT_DIR/image.env
- openstack image set --property CRI_XCBC_prod=${CRI_XCBC_prod} --property CRI_XCBC_dev=${CRI_XCBC_dev} --property PACKER_IMAGE_HEAD=${PACKER_IMAGE_HEAD} ${BUILT_PROXY_IMAGE_ID} # set image properties with repo state
- openstack image set --property EXT_PR_SRC_REPO=${EXT_PR_SRC_REPO} --property EXT_PR_SRC_BRANCH_SHA=${EXT_PR_SRC_BRANCH_SHA} --property EXT_PR_TARGET_REPO=${EXT_PR_TARGET_REPO} --property EXT_PR_TARGET_BRANCH_SHA=${EXT_PR_TARGET_BRANCH_SHA} --property PACKER_IMAGE_HEAD=${PACKER_IMAGE_HEAD} ${BUILT_PROXY_IMAGE_ID}
artifacts: artifacts:
reports: reports:
dotenv: image.env dotenv: image.env
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment