From caedb388308c939a71490b5543d2bce2966e3885 Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Sun, 1 Oct 2023 16:49:18 -0400 Subject: [PATCH 1/3] DOC: Update content link upload documention in GitCheatSheet.pdf Re: #3760 --- Documentation/GitCheatSheet.pdf | Bin 90514 -> 96253 bytes Documentation/GitCheatSheet.tex | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/GitCheatSheet.pdf b/Documentation/GitCheatSheet.pdf index f3eeee31d9d7ba09b3d31561e5874535d7ff0431..c6297107e424d7b542bee425ec8fa0e98290a4b0 100644 GIT binary patch delta 46650 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 delta 41146 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 Date: Sun, 1 Oct 2023 17:48:45 -0400 Subject: [PATCH 2/3] ENH: Remove setup-girder-api-key GitSetup script No longer needed per https://github.com/InsightSoftwareConsortium/ITK/issues/3760. --- Utilities/GitSetup/setup-girder-api-key | 104 ------------------------ Utilities/SetupForDevelopment.sh | 2 - 2 files changed, 106 deletions(-) delete mode 100755 Utilities/GitSetup/setup-girder-api-key diff --git a/Utilities/GitSetup/setup-girder-api-key b/Utilities/GitSetup/setup-girder-api-key deleted file mode 100755 index cb706ce4941..00000000000 --- a/Utilities/GitSetup/setup-girder-api-key +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env bash -#============================================================================= -# Copyright 2018 Kitware, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -#============================================================================= - -# Run this script to set up the Girder API keys. This is used by the -# Utilities/UploadBinaryData.sh script to perform authenticated uploads of -# binary testing data. - -die() { - echo 1>&2 "$@" ; exit 1 -} - -json_field() { - local key=$1 - local json=$2 - echo $json | awk 'BEGIN { FS="\""; RS="," }; { if ($2 == "'$key'") {print $4} }' -} - - -# Make sure we are inside the repository. -cd "${BASH_SOURCE%/*}" && - -protocol=$(git config -f config --get girder.protocol || echo "https") && -host=$(git config -f config --get girder.host || echo "data.kitware.com") && -site=$(git config -f config --get girder.site || echo "$protocol://$host") - -api_key=$(git config --get girder.api-key || echo '') - -# Tell user about current configuration. -if test -n "$api_key"; then - echo 'The Girder API key is currently set to "'"${api_key:0:5}"'..."' && - read -ep 'Reconfigure Girder API key? [y/N]: ' ans && - if [ "$ans" == "y" ] || [ "$ans" == "Y" ]; then - setup=1 - else - setup='' - fi -else - echo 'A Girder API key is not configured to upload testing data. -' && - read -ep 'Configure Git to contribute testing data to '"$host"'? [Y/n]: ' ans && - if [ "$ans" == "n" ] || [ "$ans" == "N" ]; then - exit 0 - else - setup=1 - fi -fi && - -setup_instructions='Once registered, login to Girder at - - '"$site/#?dialog=login"' - -Then visit - - (upper right) > My account > API keys > Create new key - -To create a new API key. -' - -# Perform setup if necessary. -if test -n "$setup"; then - echo 'Register for an account at - - '"$site/#?dialog=register"' - -'"$setup_instructions" && - read -ep "Girder API key?: " gak && - git config girder.api-key "$gak" && - api_key=$(git config --get girder.api-key) && - echo 'The Girder API key is now configured to - - '"${api_key:0:5}..."' -' -fi && - -# Optionally test GitHub access. -if test -n "$api_key"; then - read -ep 'Test access to Girder via API key? [y/N]: ' ans && - if [ "$ans" == "y" ] || [ "$ans" == "Y" ]; then - echo -n 'Testing Girder access via API key...' - token="" - token_response=$(curl -s -X POST --header 'Content-Length: 0' --header 'Content-Type: application/json' --header 'Accept: application/json' "https://data.kitware.com/api/v1/api_key/token?key=${api_key}&duration=1" || die "Could not retrieve token from API key.") - token=$(json_field "token" "${token_response}") - if test -z "$token"; then - echo 'failed.' && - die 'Could not access Girder via your API key.' - else - echo 'passed.' - fi - fi -fi diff --git a/Utilities/SetupForDevelopment.sh b/Utilities/SetupForDevelopment.sh index cfa79814c01..9ca63bc9fcf 100755 --- a/Utilities/SetupForDevelopment.sh +++ b/Utilities/SetupForDevelopment.sh @@ -27,8 +27,6 @@ Utilities/GitSetup/setup-git-aliases && echo && echo 'Failed to setup origin. Run this again to retry.') && echo && (Utilities/GitSetup/setup-github || echo 'Failed to setup GitHub. Run this again to retry.') && echo && -(Utilities/GitSetup/setup-girder-api-key || - echo 'Failed to setup the Girder API key. Run this again to retry.') && echo && Utilities/GitSetup/tips && Utilities/GitSetup/github-tips From 2916886bfb960d6cc63a3d87af196a913dfed1bd Mon Sep 17 00:00:00 2001 From: Matt McCormick Date: Sun, 1 Oct 2023 17:52:53 -0400 Subject: [PATCH 3/3] ENH: Remove UploadBinaryData.sh script Per #3760, no longer necessary. As now documented in Documentation/UploadBinaryData.md, a simple bash function equivalent is: ``` function w3externaldata() { w3 put $1 --no-wrap | tail -n 1 | awk -F "/ipfs/" '{print $2}' | tee $1.cid } ``` --- Utilities/GitSetup/setup-git-aliases | 3 - Utilities/UploadBinaryData.sh | 197 --------------------------- 2 files changed, 200 deletions(-) delete mode 100755 Utilities/UploadBinaryData.sh diff --git a/Utilities/GitSetup/setup-git-aliases b/Utilities/GitSetup/setup-git-aliases index a10fb2baa19..9eeb519535b 100755 --- a/Utilities/GitSetup/setup-git-aliases +++ b/Utilities/GitSetup/setup-git-aliases @@ -14,6 +14,3 @@ git config alias.gerrit-push \ # Useful alias to see what commits are on the current branch with respect to # upstream/master git config alias.prepush 'log --graph --stat upstream/master..' - -# Alias to the script to upload testing data -git config alias.data-upload "!bash Utilities/UploadBinaryData.sh" diff --git a/Utilities/UploadBinaryData.sh b/Utilities/UploadBinaryData.sh deleted file mode 100755 index 503599173ee..00000000000 --- a/Utilities/UploadBinaryData.sh +++ /dev/null @@ -1,197 +0,0 @@ -#!/usr/bin/env bash -#========================================================================== -# -# Copyright NumFOCUS -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0.txt -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -#==========================================================================*/ - -# Utility functions -print_help() { -cat << EOF -Usage: $0 [--folder-id ] [ ...] - - -Use this script to upload binary testing data for ITK and related projects. - -Binary data, e.g. test input images, are not stored in Git because they -will bloat a Git repository's size. - - -To use the script: - -1. Sign up for an account at https://data.kitware.com -2. Place the binary file at the desired location in the Git repository. -3. Run this script, and pass in the binary file(s) as arguments to script. -4. In test/CMakeLists.txt, use the itk_add_test macro and reference the file - path with \`DATA\` and braces, e.g.: DATA{}. -5. Re-build ITK, and the testing data will be downloaded into the build tree. - - -If the Git `girder.api-key` config or `GIRDER_API_KEY` environmental variable -is not set, a prompt will appear for your username and password. The API key -can be created in the data.kitware.com user account web browser interface. - -The script will authenticate to data.kitware.com, upload the file to your -user account's Public folder, and create a *.sha512 CMake ExternalData -content link file. To specify a different folder, use the --folder flag. -After the content link has been created, add the *.sha512 file to your -git commit. The binary file will be removed from the source tree following -upload. -EOF -} - -die() { - echo "$@" 1>&2; exit 1 -} - -json_field() { - local key=$1 - local json=$2 - echo $json | awk 'BEGIN { FS="\""; RS="," }; { if ($2 == "'$key'") {print $4} }' -} - - -# Parse arguments -help=false -folder_id="" -while test $# -gt 0; -do - opt="$1"; - case "$opt" in - "-h"|"--help") - shift; - help=true - break;; - "-f"|"--folder-id") - shift; - folder_id="$1" - shift;; - *) - break;; - esac -done -binary_files="$@" - -if test "${binary_files}" = "" || $help; then - print_help - exit 1 -fi - - -# Check for required dependencies -if ! type curl > /dev/null; then - die "Please install the curl executable." -fi -if ! type wc > /dev/null; then - die "Please install the wc executable." -fi - - -# Authenticate -token="" -git_config_api_key=$(git config --get girder.api-key || echo '') -if test -n "${git_config_api_key}"; then - token_response=$(curl -s -X POST --header 'Content-Length: 0' --header 'Content-Type: application/json' --header 'Accept: application/json' "https://data.kitware.com/api/v1/api_key/token?key=${git_config_api_key}&duration=1" || die "Could not retrieve token from API key.") - token=$(json_field "token" "${token_response}") -fi -if test -z "${token}" -a -n "${GIRDER_API_KEY}"; then - token_response=$(curl -s -X POST --header 'Content-Length: 0' --header 'Content-Type: application/json' --header 'Accept: application/json' "https://data.kitware.com/api/v1/api_key/token?key=${GIRDER_API_KEY}&duration=1" || die "Could not retrieve token from API key.") - token=$(json_field "token" "${token_response}") -fi -if test -z "${token}"; then - if ! type base64 > /dev/null; then - die "Please install the base64 executable." - fi - echo "Please provide your" - echo "" - echo " https://data.kitware.com" - echo "" - read -p "username: " username - read -p "password: " -s password - basic_content=$(echo -n "${username}:${password}" | base64) - token_response=$(curl -s -X GET --header "Girder-Authorization: Basic ${basic_content}" --header 'Accept: */*' --header 'Host: data.kitware.com' --header 'Referer: https://data.kitware.com' 'https://data.kitware.com/api/v1/user/authentication' || die "Could not retrieve token from username / password.") - token=$(json_field "token" "${token_response}") -fi -if test -z "${token}"; then - die "Could not authenticate to https://data.kitware.com" -fi - - -# Get user / folder -user_id_response=$(curl -s -X GET --header 'Accept: application/json' --header "Girder-Token: ${token}" 'https://data.kitware.com/api/v1/user/me' || die 'Could not get user id.') -user_id=$(json_field "_id" "${user_id_response}") - -if test -z "$folder_id"; then - folder_id_response=$(curl -s -X GET --header 'Accept: application/json' --header "Girder-Token: ${token}" "https://data.kitware.com/api/v1/folder?parentType=user&parentId=${user_id}&name=Public&limit=3&sort=lowerName&sortdir=1" || die 'Could not get folder id.') - folder_id=$(json_field "_id" "${folder_id_response}") -fi - - -# Upload files and create content links -generated_content_links="" -md5_content_link_conflicts="" -for binary_file in $binary_files; do - if test ! -e $binary_file; then - die "$binary_file does not exist." - fi - item_name=$(basename "$binary_file") - - create_item_response=$(curl -s -X POST --header 'Content-Length: 0' --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' --header "Girder-Token: ${token}" "https://data.kitware.com/api/v1/item?folderId=${folder_id}&name=${item_name}&description=ITK%20testing%20data%20uploaded%20by%20ITK%2FUtilities%2FUploadBinaryData.sh&reuseExisting=true" || die 'Could not create item.') - item_id=$(json_field "_id" "${create_item_response}") - - size=$(wc -c < "$binary_file" | sed 's/^[[:space:]]*//') - echo "Uploading ${item_name}..." - upload_file_response=$(curl -X POST --data-binary "@${binary_file}" --header 'Content-Type: application/json' --header 'Accept: application/json' --header "Girder-Token: ${token}" "https://data.kitware.com/api/v1/file?parentType=item&parentId=${item_id}&name=${item_name}&size=${size}" || die 'Could not upload file.') - file_id=$(json_field "_id" "${upload_file_response}") - - curl -s -X GET --output "${binary_file}.sha512" --header 'Accept: text/plain' --header "Girder-Token: ${token}" "https://data.kitware.com/api/v1/file/${file_id}/hashsum_file/sha512" || die 'Could not get file sha512sum.' - generated_content_links="$generated_content_links ${binary_file}.sha512" - if type cmake > /dev/null; then - cmake_sha512sum=$(cmake -E sha512sum "$binary_file" 2> /dev/null) - # If sufficient CMake version, ... - if test $? -eq 0; then - local_sha512=$(echo $cmake_sha512sum | awk '{print $1}') - remote_sha512=$(cat "${binary_file}.sha512") - if test "$local_sha512" != "$remote_sha512"; then - die "Local file hash does not match uploaded file hash." - fi - fi - fi - - md5_content_link="${binary_file}.md5" - if test -e "$md5_content_link"; then - md5_content_link_conflicts="$md5_content_link_conflicts $md5_content_link" - fi - rm $binary_file -done - - -# Recommend next steps -cat << EOF - -Testing data upload complete. - -Now run: - - git add --$generated_content_links - -EOF -if test -n "$md5_content_link_conflicts"; then -cat << EOF -and: - - git rm --$md5_content_link_conflicts -EOF -fi