Skip to content

Commit

Permalink
Adding Manual Update
Browse files Browse the repository at this point in the history
  • Loading branch information
ruiheesi committed Jan 31, 2024
1 parent 33e2faf commit 5454079
Showing 1 changed file with 105 additions and 0 deletions.
105 changes: 105 additions & 0 deletions .github/workflows/Manual_Deployment_to_NIDAP.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Manual Deployment to NIDAP
run-name: Manual Deployment to NIDAP by ${{ github.actor }}

on:
workflow_dispatch:
inputs:

image_to_use:
required: true
default: "<Replace with your image>"
type: string

package_to_deploy:
required: true
type: string

artifact_rid:
required: true
default: "<Replace with your artifact RID>"
type: string

token_to_use:
required: true
type: string


jobs:
Adding_documentation_files_and_publish_page:
runs-on: ubuntu-latest
container:
image: ${{ inputs.image_to_use }}
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

steps:
- run: echo "Checking in ${{ inputs.image_to_use }}"
- uses: actions/checkout@v3
with:
token: ${{secrets.GITHUB_TOKEN}}

- name: Continuous Deployment to NIDAP
id: nidap-cd
run: |
export current_wd="/__w/${GITHUB_REPOSITORY#*/}/${GITHUB_REPOSITORY#*/}"
cd $current_wd
export MY_GIT_TOKEN=${{ secrets.GITHUB_TOKEN }}
export MY_GIT_USERNAME=${{ github.actor }}
export MY_GIT_EMAIL=${{ github.event.pusher.email }}
git config --global user.name "$MY_GIT_USERNAME"
git config --global user.email "$MY_GIT_EMAIL"
git config --global url."https://api:[email protected]/".insteadOf "https://github.com/"
git config --global url."https://ssh:[email protected]/".insteadOf "ssh://[email protected]/"
git config --global url."https://git:[email protected]/".insteadOf "[email protected]:"
git config --global --add safe.directory "$current_wd"
git clone https://github.com/${GITHUB_REPOSITORY}.git
cd ${GITHUB_REPOSITORY#*/}
BRANCH_NAME="Conda_Package"
git checkout $BRANCH_NAME
echo "########## Git setup complete, moving to deployment... ##########"
conda install curl
current_pkg="${{ inputs.package_to_deploy }}"
echo "Package to Upload: $current_pkg"
TOKEN="${{ inputs.token_to_use }}"
PACKAGE="$current_pkg"
PLATFORM="linux-64" # replace with the package platform (e.g. noarch, linux-64, osx-64)
response=$(curl \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@$PACKAGE" \
-XPUT "https://nidap.nih.gov/artifacts/api/repositories/${{ inputs.artifact_rid }}/contents/release/conda/$PLATFORM/$PACKAGE" \
2>&1)
echo "#########################################################"
current_datetime="$(date +"%Y-%m-%d %H:%M:%S")"
# Check if the response contains an error message
if echo "$response" | grep -q "errorCode"; then
status=$(echo "$response" | grep -o '"errorName":"[^"]*' | awk -F'"' '{print $4}')
echo "Error message: $status"
echo "<br>Deployment Time: $current_datetime; Deployment Status: $status" >> README.md
else
status="Success"
echo "Update Success!"
echo "Package ${{ env.current_pkg }} is now on NIDAP."
echo "<br>Deployment Time: $current_datetime; Deployment Status: Success" >> README.md
fi
git commit -a -m "Deployment Performed on $current_datetime with Status: $status."
git push -f origin $BRANCH_NAME

0 comments on commit 5454079

Please sign in to comment.