Longevity test updates (#4159)
Update longevity test with newly released commands and flags Added features are: * OneDrive and SharePoint backup * repo init with retention settings --- #### Does this PR need a docs update or release note? - [ ] ✅ Yes, it's included - [ ] 🕐 Yes, but in a later PR - [x] ⛔ No #### Type of change - [ ] 🌻 Feature - [ ] 🐛 Bugfix - [ ] 🗺️ Documentation - [ ] 🤖 Supportability/Tests - [x] 💻 CI/Deployment - [ ] 🧹 Tech Debt/Cleanup #### Test Plan - [x] 💪 Manual - [ ] ⚡ Unit test - [ ] 💚 E2E
This commit is contained in:
parent
4c452bcd8e
commit
08ab7abb76
154
.github/workflows/longevity_test.yml
vendored
154
.github/workflows/longevity_test.yml
vendored
@ -47,8 +47,8 @@ jobs:
|
|||||||
run:
|
run:
|
||||||
working-directory: src
|
working-directory: src
|
||||||
|
|
||||||
##########################################################################################################################################
|
############################################################################
|
||||||
# setup
|
# setup
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
@ -89,9 +89,8 @@ jobs:
|
|||||||
role-session-name: integration-testing
|
role-session-name: integration-testing
|
||||||
aws-region: us-east-1
|
aws-region: us-east-1
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Repository commands
|
||||||
# Repository commands
|
|
||||||
|
|
||||||
- name: Version Test
|
- name: Version Test
|
||||||
run: |
|
run: |
|
||||||
@ -105,6 +104,9 @@ jobs:
|
|||||||
./corso repo init s3 \
|
./corso repo init s3 \
|
||||||
--no-stats \
|
--no-stats \
|
||||||
--hide-progress \
|
--hide-progress \
|
||||||
|
--retention-mode $(echo "${{ env.RETENTION_MODE }}" | tr '[:upper:]' '[:lower:]') \
|
||||||
|
--retention-duration "${{ env.RETENTION_DURATION }}h" \
|
||||||
|
--extend-retention \
|
||||||
--prefix ${{ env.PREFIX }} \
|
--prefix ${{ env.PREFIX }} \
|
||||||
--bucket ${{ secrets.CI_RETENTION_TESTS_S3_BUCKET }} \
|
--bucket ${{ secrets.CI_RETENTION_TESTS_S3_BUCKET }} \
|
||||||
--succeed-if-exists \
|
--succeed-if-exists \
|
||||||
@ -133,9 +135,8 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Exchange
|
||||||
# Exchange
|
|
||||||
|
|
||||||
- name: Backup exchange test
|
- name: Backup exchange test
|
||||||
id: exchange-test
|
id: exchange-test
|
||||||
@ -158,8 +159,8 @@ jobs:
|
|||||||
data=$( echo $resultjson | jq -r '.[0] | .id' )
|
data=$( echo $resultjson | jq -r '.[0] | .id' )
|
||||||
echo result=$data >> $GITHUB_OUTPUT
|
echo result=$data >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
# Onedrive
|
# Onedrive
|
||||||
|
|
||||||
- name: Backup onedrive test
|
- name: Backup onedrive test
|
||||||
id: onedrive-test
|
id: onedrive-test
|
||||||
@ -183,9 +184,8 @@ jobs:
|
|||||||
data=$( echo $resultjson | jq -r '.[0] | .id' )
|
data=$( echo $resultjson | jq -r '.[0] | .id' )
|
||||||
echo result=$data >> $GITHUB_OUTPUT
|
echo result=$data >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Sharepoint test
|
||||||
# Sharepoint test
|
|
||||||
- name: Backup sharepoint test
|
- name: Backup sharepoint test
|
||||||
id: sharepoint-test
|
id: sharepoint-test
|
||||||
run: |
|
run: |
|
||||||
@ -209,9 +209,8 @@ jobs:
|
|||||||
data=$( echo $resultjson | jq -r '.[0] | .id' )
|
data=$( echo $resultjson | jq -r '.[0] | .id' )
|
||||||
echo result=$data >> $GITHUB_OUTPUT
|
echo result=$data >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Backup Exchange Deletion test
|
||||||
# Backup Exchange Deletion test
|
|
||||||
- name: Backup Delete exchange test
|
- name: Backup Delete exchange test
|
||||||
id: delete-exchange-test
|
id: delete-exchange-test
|
||||||
env:
|
env:
|
||||||
@ -222,9 +221,8 @@ jobs:
|
|||||||
echo -e "\nDelete Backup exchange \n" >> ${CORSO_LOG_FILE}
|
echo -e "\nDelete Backup exchange \n" >> ${CORSO_LOG_FILE}
|
||||||
./longevity-test
|
./longevity-test
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Backup Onedrive Deletion test
|
||||||
# Backup Onedrive Deletion test
|
|
||||||
- name: Backup Delete onedrive test
|
- name: Backup Delete onedrive test
|
||||||
id: delete-onedrive-test
|
id: delete-onedrive-test
|
||||||
env:
|
env:
|
||||||
@ -235,9 +233,8 @@ jobs:
|
|||||||
echo -e "\nDelete Backup onedrive \n" >> ${CORSO_LOG_FILE}
|
echo -e "\nDelete Backup onedrive \n" >> ${CORSO_LOG_FILE}
|
||||||
./longevity-test
|
./longevity-test
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Backup Sharepoint Deletion test
|
||||||
# Backup Sharepoint Deletion test
|
|
||||||
- name: Backup Delete Sharepoint test
|
- name: Backup Delete Sharepoint test
|
||||||
id: delete-sharepoint-test
|
id: delete-sharepoint-test
|
||||||
env:
|
env:
|
||||||
@ -248,67 +245,62 @@ jobs:
|
|||||||
echo -e "\nDelete Backup sharepoint \n" >> ${CORSO_LOG_FILE}
|
echo -e "\nDelete Backup sharepoint \n" >> ${CORSO_LOG_FILE}
|
||||||
./longevity-test
|
./longevity-test
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Export OneDrive Test
|
||||||
|
- name: OneDrive Export test
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
echo -e "\Export OneDrive test\n" >> ${CORSO_LOG_FILE}
|
||||||
|
|
||||||
# skipped until supported
|
echo -e "\Export OneDrive test - first entry\n" >> ${CORSO_LOG_FILE}
|
||||||
# Export OneDrive Test
|
./corso backup list onedrive 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
|
||||||
# - name: OneDrive Export test
|
while read -r line; do
|
||||||
# run: |
|
./corso export onedrive \
|
||||||
# set -euo pipefail
|
"/tmp/corso-export--$line" \
|
||||||
# echo -e "\Export OneDrive test\n" >> ${CORSO_LOG_FILE}
|
--no-stats \
|
||||||
|
--backup "$line" \
|
||||||
|
2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_onedrive_first.txt
|
||||||
|
done
|
||||||
|
|
||||||
# echo -e "\Export OneDrive test - first entry\n" >> ${CORSO_LOG_FILE}
|
echo -e "\Export OneDrive test - last entry\n" >> ${CORSO_LOG_FILE}
|
||||||
# ./corso backup list onedrive 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
|
./corso backup list onedrive 2>/dev/null | tail -n1 | awk '{print $1}' |
|
||||||
# while read -r line; do
|
while read -r line; do
|
||||||
# ./corso export onedrive \
|
./corso export onedrive \
|
||||||
# "/tmp/corso-export--$line" \
|
"/tmp/corso-export--$line" \
|
||||||
# --no-stats \
|
--no-stats \
|
||||||
# --backup "$line" \
|
--backup "$line" \
|
||||||
# 2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_onedrive_first.txt
|
2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_onedrive_last.txt
|
||||||
# done
|
done
|
||||||
|
|
||||||
# echo -e "\Export OneDrive test - last entry\n" >> ${CORSO_LOG_FILE}
|
##########################################################################
|
||||||
# ./corso backup list onedrive 2>/dev/null | tail -n1 | awk '{print $1}' |
|
# Export SharePoint Test
|
||||||
# while read -r line; do
|
- name: SharePoint Export test
|
||||||
# ./corso export onedrive \
|
run: |
|
||||||
# "/tmp/corso-export--$line" \
|
set -euo pipefail
|
||||||
# --no-stats \
|
echo -e "\Export SharePoint test\n" >> ${CORSO_LOG_FILE}
|
||||||
# --backup "$line" \
|
|
||||||
# 2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_onedrive_last.txt
|
|
||||||
# done
|
|
||||||
|
|
||||||
##########################################################################################################################################
|
echo -e "\Export SharePoint test - first entry\n" >> ${CORSO_LOG_FILE}
|
||||||
|
./corso backup list sharepoint 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
|
||||||
|
while read -r line; do
|
||||||
|
./corso export sharepoint \
|
||||||
|
"/tmp/corso-export--$line" \
|
||||||
|
--no-stats \
|
||||||
|
--backup "$line" \
|
||||||
|
2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_sharepoint_first.txt
|
||||||
|
done
|
||||||
|
|
||||||
# skipped until supported
|
echo -e "\Export SharePoint test - last entry\n" >> ${CORSO_LOG_FILE}
|
||||||
# Export SharePoint Test
|
./corso backup list sharepoint 2>/dev/null | tail -n1 | awk '{print $1}' |
|
||||||
# - name: SharePoint Export test
|
while read -r line; do
|
||||||
# run: |
|
./corso export sharepoint \
|
||||||
# set -euo pipefail
|
"/tmp/corso-export--$line" \
|
||||||
# echo -e "\Export SharePoint test\n" >> ${CORSO_LOG_FILE}
|
--no-stats \
|
||||||
|
--backup "$line" \
|
||||||
|
2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_sharepoint_last.txt
|
||||||
|
done
|
||||||
|
|
||||||
# echo -e "\Export SharePoint test - first entry\n" >> ${CORSO_LOG_FILE}
|
##########################################################################
|
||||||
# ./corso backup list sharepoint 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
|
# Maintenance test
|
||||||
# while read -r line; do
|
|
||||||
# ./corso export sharepoint \
|
|
||||||
# "/tmp/corso-export--$line" \
|
|
||||||
# --no-stats \
|
|
||||||
# --backup "$line" \
|
|
||||||
# 2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_sharepoint_first.txt
|
|
||||||
# done
|
|
||||||
|
|
||||||
# echo -e "\Export SharePoint test - last entry\n" >> ${CORSO_LOG_FILE}
|
|
||||||
# ./corso backup list sharepoint 2>/dev/null | tail -n1 | awk '{print $1}' |
|
|
||||||
# while read -r line; do
|
|
||||||
# ./corso export sharepoint \
|
|
||||||
# "/tmp/corso-export--$line" \
|
|
||||||
# --no-stats \
|
|
||||||
# --backup "$line" \
|
|
||||||
# 2>&1 | tee ${{ env.CORSO_LOG_DIR }}/export_sharepoint_last.txt
|
|
||||||
# done
|
|
||||||
|
|
||||||
##########################################################################################################################################
|
|
||||||
|
|
||||||
# Maintenance test
|
|
||||||
- name: Maintenance test Daily
|
- name: Maintenance test Daily
|
||||||
id: maintenance-test-daily
|
id: maintenance-test-daily
|
||||||
run: |
|
run: |
|
||||||
@ -362,7 +354,7 @@ jobs:
|
|||||||
--bucket ${{ secrets.CI_RETENTION_TESTS_S3_BUCKET }} \
|
--bucket ${{ secrets.CI_RETENTION_TESTS_S3_BUCKET }} \
|
||||||
--bucket-prefix ${{ env.PREFIX }} \
|
--bucket-prefix ${{ env.PREFIX }} \
|
||||||
--retention-mode ${{ env.RETENTION_MODE }} \
|
--retention-mode ${{ env.RETENTION_MODE }} \
|
||||||
--live-retention-duration "$((${{ env.RETENTION_DURATION}}-1))h" \
|
--live-retention-duration "$((${{ env.RETENTION_DURATION }}-1))h" \
|
||||||
--prefix "kopia.blobcfg" \
|
--prefix "kopia.blobcfg" \
|
||||||
--prefix "kopia.repository" \
|
--prefix "kopia.repository" \
|
||||||
--prefix "p" \
|
--prefix "p" \
|
||||||
@ -370,10 +362,8 @@ jobs:
|
|||||||
--prefix "x"
|
--prefix "x"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
##########################################################################################################################################
|
##########################################################################
|
||||||
|
# Logging & Notifications
|
||||||
# Logging & Notifications
|
|
||||||
|
|
||||||
# Upload the original go test output as an artifact for later review.
|
# Upload the original go test output as an artifact for later review.
|
||||||
- name: Upload test log
|
- name: Upload test log
|
||||||
if: always()
|
if: always()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user