separate matrix and job for site cleanup (#3095)
#### Does this PR need a docs update or release note? - [x] ⛔ No #### Type of change - [x] 🐛 Bugfix #### Test Plan - [x] 💚 E2E
This commit is contained in:
parent
50e92b65c6
commit
d1f4cd872f
@ -38,6 +38,11 @@ inputs:
|
|||||||
runs:
|
runs:
|
||||||
using: composite
|
using: composite
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
################################################################################################################
|
||||||
|
# Exchange
|
||||||
|
#
|
||||||
|
|
||||||
- name: Run the Exchange purge scripts for user
|
- name: Run the Exchange purge scripts for user
|
||||||
if: ${{ inputs.user != '' }}
|
if: ${{ inputs.user != '' }}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@ -48,6 +53,20 @@ runs:
|
|||||||
AZURE_TENANT_ID: ${{ inputs.azure-tenant-id }}
|
AZURE_TENANT_ID: ${{ inputs.azure-tenant-id }}
|
||||||
run: |
|
run: |
|
||||||
./exchangePurge.ps1 -User ${{ inputs.user }} -FolderNamePurgeList PersonMetadata -FolderPrefixPurgeList "${{ inputs.folder-prefix }}".Split(",") -PurgeBeforeTimestamp ${{ inputs.older-than }}
|
./exchangePurge.ps1 -User ${{ inputs.user }} -FolderNamePurgeList PersonMetadata -FolderPrefixPurgeList "${{ inputs.folder-prefix }}".Split(",") -PurgeBeforeTimestamp ${{ inputs.older-than }}
|
||||||
|
|
||||||
|
- name: Reset retention for all mailboxes to 0
|
||||||
|
if: ${{ inputs.user == '' }}
|
||||||
|
shell: pwsh
|
||||||
|
working-directory: ./src/cmd/purge/scripts
|
||||||
|
env:
|
||||||
|
M365_TENANT_ADMIN_USER: ${{ inputs.m365-admin-user }}
|
||||||
|
M365_TENANT_ADMIN_PASSWORD: ${{ inputs.m365-admin-password }}
|
||||||
|
run: |
|
||||||
|
./exchangeRetention.ps1
|
||||||
|
|
||||||
|
################################################################################################################
|
||||||
|
# OneDrive
|
||||||
|
#
|
||||||
|
|
||||||
- name: Run the OneDrive purge scripts for user
|
- name: Run the OneDrive purge scripts for user
|
||||||
if: ${{ inputs.user != '' }}
|
if: ${{ inputs.user != '' }}
|
||||||
@ -59,8 +78,12 @@ runs:
|
|||||||
run: |
|
run: |
|
||||||
./onedrivePurge.ps1 -User ${{ inputs.user }} -FolderPrefixPurgeList "${{ inputs.folder-prefix }}".Split(",") -PurgeBeforeTimestamp ${{ inputs.older-than }}
|
./onedrivePurge.ps1 -User ${{ inputs.user }} -FolderPrefixPurgeList "${{ inputs.folder-prefix }}".Split(",") -PurgeBeforeTimestamp ${{ inputs.older-than }}
|
||||||
|
|
||||||
|
################################################################################################################
|
||||||
|
# Sharepoint
|
||||||
|
#
|
||||||
|
|
||||||
- name: Run SharePoint purge script
|
- name: Run SharePoint purge script
|
||||||
if: ${{ inputs.user == '' }}
|
if: ${{ inputs.site != '' }}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
working-directory: ./src/cmd/purge/scripts
|
working-directory: ./src/cmd/purge/scripts
|
||||||
env:
|
env:
|
||||||
@ -68,13 +91,3 @@ runs:
|
|||||||
M365_TENANT_ADMIN_PASSWORD: ${{ inputs.m365-admin-password }}
|
M365_TENANT_ADMIN_PASSWORD: ${{ inputs.m365-admin-password }}
|
||||||
run: |
|
run: |
|
||||||
./onedrivePurge.ps1 -Site ${{ inputs.site }} -LibraryNameList "${{ inputs.libraries }}".split(",") -FolderPrefixPurgeList ${{ inputs.folder-prefix }} -PurgeBeforeTimestamp ${{ inputs.older-than }}
|
./onedrivePurge.ps1 -Site ${{ inputs.site }} -LibraryNameList "${{ inputs.libraries }}".split(",") -FolderPrefixPurgeList ${{ inputs.folder-prefix }} -PurgeBeforeTimestamp ${{ inputs.older-than }}
|
||||||
|
|
||||||
- name: Reset retention for all mailboxes to 0
|
|
||||||
if: ${{ inputs.user == '' }}
|
|
||||||
shell: pwsh
|
|
||||||
working-directory: ./src/cmd/purge/scripts
|
|
||||||
env:
|
|
||||||
M365_TENANT_ADMIN_USER: ${{ inputs.m365-admin-user }}
|
|
||||||
M365_TENANT_ADMIN_PASSWORD: ${{ inputs.m365-admin-password }}
|
|
||||||
run: |
|
|
||||||
./exchangeRetention.ps1
|
|
||||||
35
.github/workflows/ci_test_cleanup.yml
vendored
35
.github/workflows/ci_test_cleanup.yml
vendored
@ -12,7 +12,6 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
user: [ CORSO_M365_TEST_USER_ID, CORSO_SECONDARY_M365_TEST_USER_ID, EXT_SDK_TEST_USER_ID, '' ]
|
user: [ CORSO_M365_TEST_USER_ID, CORSO_SECONDARY_M365_TEST_USER_ID, EXT_SDK_TEST_USER_ID, '' ]
|
||||||
site: [ CORSO_M365_TEST_SITE_URL, EXT_SDK_TEST_SITE_URL ]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@ -25,10 +24,40 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "HALF_HOUR_AGO=$(date -d '30 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV
|
echo "HALF_HOUR_AGO=$(date -d '30 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Purge CI-Produced Folders
|
- name: Purge CI-Produced Folders for Users
|
||||||
uses: ./.github/actions/purge-m365-user-data
|
uses: ./.github/actions/purge-m365-data
|
||||||
with:
|
with:
|
||||||
user: ${{ secrets[matrix.user] }}
|
user: ${{ secrets[matrix.user] }}
|
||||||
|
folder-prefix: ${{ vars.CORSO_M365_TEST_PREFIXES }}
|
||||||
|
older-than: ${{ env.HALF_HOUR_AGO }}
|
||||||
|
azure-client-id: ${{ secrets.CLIENT_ID }}
|
||||||
|
azure-client-secret: ${{ secrets.CLIENT_SECRET }}
|
||||||
|
azure-tenant-id: ${{ secrets.TENANT_ID }}
|
||||||
|
m365-admin-user: ${{ secrets.M365_TENANT_ADMIN_USER }}
|
||||||
|
m365-admin-password: ${{ secrets.M365_TENANT_ADMIN_PASSWORD }}
|
||||||
|
|
||||||
|
Test-Site-Data-Cleanup:
|
||||||
|
environment: Testing
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
site: [ CORSO_M365_TEST_SITE_URL, EXT_SDK_TEST_SITE_URL ]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
# sets the maximum time to now-30m.
|
||||||
|
# CI test have a 10 minute timeout.
|
||||||
|
# At 20 minutes ago, we should be safe from conflicts.
|
||||||
|
# The additional 10 minutes is just to be good citizens.
|
||||||
|
- name: Set purge boundary
|
||||||
|
run: |
|
||||||
|
echo "HALF_HOUR_AGO=$(date -d '30 minutes ago' -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Purge CI-Produced Folders for Sites
|
||||||
|
uses: ./.github/actions/purge-m365-data
|
||||||
|
with:
|
||||||
site: ${{ secrets[matrix.site] }}
|
site: ${{ secrets[matrix.site] }}
|
||||||
folder-prefix: ${{ vars.CORSO_M365_TEST_PREFIXES }}
|
folder-prefix: ${{ vars.CORSO_M365_TEST_PREFIXES }}
|
||||||
libraries: ${{ vars.CORSO_M365_TEST_SITE_LIBRARIES }}
|
libraries: ${{ vars.CORSO_M365_TEST_SITE_LIBRARIES }}
|
||||||
|
|||||||
19
.github/workflows/load_test.yml
vendored
19
.github/workflows/load_test.yml
vendored
@ -136,19 +136,20 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
user: ${{ fromJson(needs.setup.outputs.matrix).user }}
|
user: [ CORSO_M365_LOAD_TEST_USER_ID, '' ]
|
||||||
folder: [Corso_Restore_, '']
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Set folder boundary datetime
|
- name: Set folder boundary datetime
|
||||||
run: |
|
run: |
|
||||||
echo "NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV
|
echo "NOW=$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> $GITHUB_ENV
|
||||||
- name: Purge Load-Test-Produced Folders
|
- name: Purge Load-Test-Produced Folders
|
||||||
uses: ./.github/actions/purge-m365-user-data
|
uses: ./.github/actions/purge-m365-data
|
||||||
with:
|
with:
|
||||||
older-than: ${{ env.NOW }}
|
user: ${{ secrets[matrix.user] }}
|
||||||
folder-prefix: ${{ matrix.folder }}
|
folder-prefix: ${{ vars.CORSO_M365_TEST_PREFIXES }}
|
||||||
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
older-than: ${{ env.HALF_HOUR_AGO }}
|
||||||
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
|
azure-client-id: ${{ secrets.CLIENT_ID }}
|
||||||
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
azure-client-secret: ${{ secrets.CLIENT_SECRET }}
|
||||||
user: ${{ matrix.user }}
|
azure-tenant-id: ${{ secrets.TENANT_ID }}
|
||||||
|
m365-admin-user: ${{ secrets.M365_TENANT_ADMIN_USER }}
|
||||||
|
m365-admin-password: ${{ secrets.M365_TENANT_ADMIN_PASSWORD }}
|
||||||
|
|||||||
8
.github/workflows/sanity-test.yaml
vendored
8
.github/workflows/sanity-test.yaml
vendored
@ -122,10 +122,10 @@ jobs:
|
|||||||
./corso backup create exchange \
|
./corso backup create exchange \
|
||||||
--no-stats \
|
--no-stats \
|
||||||
--user "${CORSO_M365_TEST_USER_ID}" \
|
--user "${CORSO_M365_TEST_USER_ID}" \
|
||||||
--hide-progress \
|
--hide-progress \
|
||||||
--data 'email' \
|
--data 'email' \
|
||||||
--json \
|
--json \
|
||||||
2>&1 | tee $TEST_RESULT/backup_exchange.txt
|
2>&1 | tee $TEST_RESULT/backup_exchange.txt
|
||||||
|
|
||||||
resultjson=$(sed -e '1,/Completed Backups/d' $TEST_RESULT/backup_exchange.txt )
|
resultjson=$(sed -e '1,/Completed Backups/d' $TEST_RESULT/backup_exchange.txt )
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user