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:
ashmrtn 2023-08-30 11:04:24 -07:00 committed by GitHub
parent 4c452bcd8e
commit 08ab7abb76
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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()