Compare commits

...

12 Commits

Author SHA1 Message Date
Abin Simon
8c4d407212 Fix flaky tests for ics 2024-02-10 12:24:22 +05:30
ashmrtn
22f28a996c
Add CI check to make sure generated code is checked in (#11)
* Minor fixes for tools stuff

* Fix the package for the tools.go file
* Make it easier to install generate tools by making the install
  commands generate commands in the tools file

* Add CI step to check for generated code

Have a CI step that will fail if there's uncommitted generated changes.

* Remove erroring generate statement

Relevant code no longer requires the use of the stringer package.

* Add uncommitted generated code to fix lint error

* Fix action lint error

* Remove unused type
2024-02-09 20:09:59 +00:00
Abin Simon
aa2f0049e1
Do not fail export on email attachments without name (#23)
* Do not fail on email attachments without name

* Add changelog entry

* Allow posts to also have unnamed attachments
2024-02-09 15:40:03 +00:00
Abin Simon
6aab750b7f
Use recurrence timezone for ics exports (#16)
* Add timezone ical templates for all regions

* Add WKST information

* Update tzdata script to skip unnecessary bits

* Add logic to append timezone information

* Add tests for timezone handling

* Update cannonical timezone map list

* Fixups

* Add CHANGELOG

* Fix failing test

* Address review comments
2024-02-09 10:56:45 +00:00
ashmrtn
7a62c00073
Fix base64 decoding for debug log statements (#12)
* Expand path decoding slightly

Add function to decode an entire path and change result when a decode
error occurs to better fix use-case.

Also add tests for decoding a path and error case.

* Fixup logic in FinishedHashingFile handler

Use new decoding function so we hopefully stop getting failed to decode
errors. The original error was cropping up because it was using standard
base64 decoding while the encoder uses URL (and file system) safe base64
encoding. Those encoder types have different alphabets that they
translate to, thus the errors.
2024-02-09 04:56:16 +00:00
ashmrtn
daa2257ff1
Fix longevity action by readding removed command (#19)
* Fix longevity action by readding removed command

* Use new prefix for canario longevity test

Make reasoning about things simpler by using a different prefix for the
canario repo in S3.

* align longevity_test changes

---------

Co-authored-by: ryanfkeepers <ryanfkeepers@gmail.com>
2024-02-09 03:01:11 +00:00
ashmrtn
9f46e184cf
Remove deleted flag from test command (#10) 2024-02-09 02:45:12 +00:00
Abin Simon
d4881d1cf0
Fix up website linting CI job (#17)
* Fix up internal links

* Don't show warnings or suggestions

We never really looked at it, we only took the errors into account. It
was just making finding the errors harder.

---------

Co-authored-by: ashmrtn <3891298+ashmrtn@users.noreply.github.com>
2024-02-09 01:15:26 +00:00
Keepers
ddf9285791
fix mergequeue skipped tests (#22)
* fix mergequeue skipped tests

* linter fix
2024-02-08 23:36:56 +00:00
Keepers
1752d1117f
fix up mergequeue and ci (#21)
* fix up mergequeue and ci

* rename ci job

* spacing out triggers?

* fix ci script

* fixing up test runner
2024-02-08 21:37:59 +00:00
ryanfkeepers
ef6ca8583a necessary renaming and deployment prevention 2024-02-07 12:22:07 -07:00
ryanfkeepers
8081ae7349 re-ref all corso to canario, remove license 2024-02-07 11:46:51 -07:00
666 changed files with 7355 additions and 4134 deletions

View File

@ -59,7 +59,7 @@ runs:
CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-backup-${{inputs.kind }}.log
./corso backup create '${{ inputs.service }}' \
./canario backup create '${{ inputs.service }}' \
--no-stats --hide-progress --json \
${{ inputs.backup-args }} |
tee /dev/stderr | # for printing logs
@ -80,7 +80,7 @@ runs:
CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log
./corso restore '${{ inputs.service }}' \
./canario restore '${{ inputs.service }}' \
--no-stats \
--hide-progress \
--collisions ${{ inputs.on-collision }} \
@ -128,7 +128,7 @@ runs:
CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log
./corso export '${{ inputs.service }}' \
./canario export '${{ inputs.service }}' \
/tmp/export-${{ inputs.service }}${CATEGORY_SUFFIX}-${{inputs.kind }} \
--no-stats \
--hide-progress \
@ -170,7 +170,7 @@ runs:
CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-${{ inputs.service }}${CATEGORY_SUFFIX}-restore-${{inputs.kind }}.log
./corso export '${{ inputs.service }}' \
./canario export '${{ inputs.service }}' \
/tmp/export-${{ inputs.service }}${CATEGORY_SUFFIX}-${{inputs.kind }}-archive \
--no-stats \
--hide-progress \
@ -213,7 +213,7 @@ runs:
CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-backup-${{ inputs.service }}${CATEGORY_SUFFIX}-list-${{inputs.kind }}.log
./corso backup list ${{ inputs.service }} \
./canario backup list ${{ inputs.service }} \
--no-stats \
--hide-progress \
2>&1 |
@ -237,7 +237,7 @@ runs:
CATEGORY_SUFFIX=""
[[ -n "${{ inputs.category }}" ]] && CATEGORY_SUFFIX="-${{ inputs.category }}"
CORSO_LOG_FILE=${{ inputs.log-dir }}/gotest-backup-list-${{ inputs.service }}${CATEGORY_SUFFIX}-single-${{inputs.kind }}.log
./corso backup list ${{ inputs.service }} \
./canario backup list ${{ inputs.service }} \
--no-stats \
--hide-progress \
--backup "${{ steps.backup.outputs.result }}" \

View File

@ -1,5 +1,14 @@
name: Publish Binary
###################################
# notice:
# This file has undergone major
# renaming for the canario fork.
# In case of re-incorporation back
# to corso, this refactoring will
# need to be undone.
###################################
inputs:
version:
description: Corso version to use for publishing
@ -40,36 +49,36 @@ runs:
workdir: src
env:
GITHUB_TOKEN: ${{ inputs.github_token }}
RUDDERSTACK_CORSO_WRITE_KEY: ${{ inputs.rudderstack_write_key }}
RUDDERSTACK_CORSO_DATA_PLANE_URL: ${{ inputs.rudderstack_data_plane_url }}
CORSO_VERSION: ${{ inputs.version }}
RUDDERSTACK_CANARIO_WRITE_KEY: ${{ inputs.rudderstack_write_key }}
RUDDERSTACK_CANARIO_DATA_PLANE_URL: ${{ inputs.rudderstack_data_plane_url }}
CANARIO_VERSION: ${{ inputs.version }}
- name: Upload darwin arm64
uses: actions/upload-artifact@v3
with:
name: corso_Darwin_arm64
path: src/dist/corso_darwin_arm64/corso
name: canario_Darwin_arm64
path: src/dist/canario_darwin_arm64/canario
- name: Upload linux arm64
uses: actions/upload-artifact@v3
with:
name: corso_Linux_arm64
path: src/dist/corso_linux_arm64/corso
name: canario_Linux_arm64
path: src/dist/canario_linux_arm64/canario
- name: Upload darwin amd64
uses: actions/upload-artifact@v3
with:
name: corso_Darwin_amd64
path: src/dist/corso_darwin_amd64_v1/corso
name: canario_Darwin_amd64
path: src/dist/canario_darwin_amd64_v1/canario
- name: Upload linux amd64
uses: actions/upload-artifact@v3
with:
name: corso_Linux_amd64
path: src/dist/corso_linux_amd64_v1/corso
name: canario_Linux_amd64
path: src/dist/canario_linux_amd64_v1/canario
- name: Upload windows amd64
uses: actions/upload-artifact@v3
with:
name: corso_Windows_amd64
path: src/dist/corso_windows_amd64_v1/corso.exe
name: canario_Windows_amd64
path: src/dist/canario_windows_amd64_v1/canario.exe

View File

@ -23,7 +23,7 @@ runs:
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ inputs.aws-iam-role }}
role-session-name: integration-testing
role-session-name: canario-integration-testing
aws-region: us-east-1
- name: Add rotbots.txt

View File

@ -24,9 +24,9 @@ runs:
- name: build urls
shell: bash
run: |
echo "logurl=$(printf 'https://github.com/alcionai/corso/actions/runs/%s' ${{ github.run_id }})" >> $GITHUB_ENV
echo "commiturl=$(printf 'https://github.com/alcionai/corso/commit/%s' ${{ github.sha }})" >> $GITHUB_ENV
echo "refurl=$(printf 'https://github.com/alcionai/corso/%s' ${{ env.trimmed_ref }})" >> $GITHUB_ENV
echo "logurl=$(printf 'https://github.com/alcionai/canario/actions/runs/%s' ${{ github.run_id }})" >> $GITHUB_ENV
echo "commiturl=$(printf 'https://github.com/alcionai/canario/commit/%s' ${{ github.sha }})" >> $GITHUB_ENV
echo "refurl=$(printf 'https://github.com/alcionai/canario/%s' ${{ env.trimmed_ref }})" >> $GITHUB_ENV
- name: use url or blank val
shell: bash
@ -43,49 +43,49 @@ runs:
curl -X POST \
-H "Content-Type: application/json" \
-d '{
"type":"message",
"attachments":[
{
"contentType":"application/vnd.microsoft.card.adaptive",
"contentUrl":null,
"content":{
"$schema":"http://adaptivecards.io/schemas/adaptive-card.json",
"type":"AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "${{ inputs.msg }}",
"color": "Attention"
},
{
"type": "TextBlock",
"text": "${{ env.JOB }} :: ${{ env.STEP }}",
"wrap": true
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "Action",
"url": "${{ env.LOGS }}"
},
{
"type": "Action.OpenUrl",
"title": "Commit",
"url": "${{ env.COMMIT }}"
},
{
"type": "Action.OpenUrl",
"title": "Ref",
"url": "${{ env.REF }}"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5"
}
"type":"message",
"attachments":[
{
"contentType":"application/vnd.microsoft.card.adaptive",
"contentUrl":null,
"content":{
"$schema":"http://adaptivecards.io/schemas/adaptive-card.json",
"type":"AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "Canario - ${{ inputs.msg }}",
"color": "Attention"
},
{
"type": "TextBlock",
"text": "${{ env.JOB }} :: ${{ env.STEP }}",
"wrap": true
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "Action",
"url": "${{ env.LOGS }}"
},
{
"type": "Action.OpenUrl",
"title": "Commit",
"url": "${{ env.COMMIT }}"
},
{
"type": "Action.OpenUrl",
"title": "Ref",
"url": "${{ env.REF }}"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.5"
}
]
}
]
}' \
${{ inputs.teams_url }}

View File

@ -29,6 +29,8 @@ jobs:
- uses: actions/checkout@v4
- name: Publish Binary
# canario should never publish
if: false
uses: ./.github/actions/publish-binary
with:
version: ${{ needs.SetEnv.outputs.version }}

View File

@ -1,15 +1,15 @@
name: Build/Release Corso
env:
IMAGE_NAME: ghcr.io/alcionai/corso
name: Build Canario
# holdover from corso
# canario should not build any images
#env:
# IMAGE_NAME: ghcr.io/alcionai/canario
on:
workflow_dispatch:
merge_group:
pull_request:
push:
branches: [main]
tags: ["v*.*.*"]
repository_dispatch:
types: [ok-to-test-command]
@ -30,7 +30,7 @@ jobs:
# --- Prechecks and Checkouts ------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------
Precheck:
uses: alcionai/corso/.github/workflows/_filechange_checker.yml@main
uses: alcionai/canario/.github/workflows/_filechange_checker.yml@main
Checkout:
needs: [Precheck]
@ -52,7 +52,7 @@ jobs:
# SetM365App will decide which M365 app to use for this CI run
SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main
uses: alcionai/canario/.github/workflows/accSelector.yaml@main
SetEnv:
environment: Testing
@ -101,7 +101,14 @@ jobs:
echo "website-cfid=ESFTEIYTIP7Y3" | tee -a $GITHUB_OUTPUT
fi
Seeing-Things:
environment: Testing
runs-on: ubuntu-latest
steps:
- shell: bash
run: echo "github.event.merge_queue"
- shell: bash
run: echo ${{ github.event.merge_queue }}
# ----------------------------------------------------------------------------------------------------
# --- Website Linting -----------------------------------------------------------------------------------
# ----------------------------------------------------------------------------------------------------
@ -130,7 +137,11 @@ jobs:
environment: Testing
runs-on: ubuntu-latest
timeout-minutes: 120
if: (startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main') || (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name == github.repository)
if: |
startsWith(github.ref, 'refs/tags/')
|| startsWith(github.ref, 'refs/heads/gh-readonly-queue/main')
|| github.ref == 'refs/heads/main'
|| (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name == github.repository)
defaults:
run:
working-directory: src
@ -160,7 +171,7 @@ jobs:
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing
role-session-name: canario-integration-testing
aws-region: us-east-1
# run the tests
@ -231,7 +242,7 @@ jobs:
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing
role-session-name: canario-integration-testing
aws-region: us-east-1
# run the tests
@ -325,7 +336,9 @@ jobs:
Test-Suite-Fork:
needs: [Precheck]
environment: Testing
if: (!startsWith(github.ref , 'refs/tags/') && github.ref != 'refs/heads/main') && (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name != github.repository)
# test-suite-fork is a corso build artifact.
if: false
# if: (!startsWith(github.ref , 'refs/tags/') && github.ref != 'refs/heads/main') && (needs.precheck.outputs.srcfileschanged == 'true' && github.event.pull_request.head.repo.full_name != github.repository)
runs-on: ubuntu-latest
defaults:
run:
@ -380,7 +393,7 @@ jobs:
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing
role-session-name: canario-integration-testing
aws-region: us-east-1
# run the tests
@ -462,6 +475,24 @@ jobs:
with:
go-version-file: src/go.mod
- name: Run go generate
run: |
# Install tools used for generate commands in the repo
go generate tools.go
# Actually run generate commands in the repo.
go generate ./...
- name: Check for uncommitted changes from generated code
run: |
changes=$(git status --porcelain)
if [[ -n "$changes" ]]; then
echo "Uncommitted changes detected:"
echo "$changes"
echo "Run 'go generate' from backend/functions and commit the changes."
exit 1
fi
echo "No uncommitted changes detected."
- name: Go Lint
uses: golangci/golangci-lint-action@v3
with:
@ -477,7 +508,7 @@ jobs:
run: go install github.com/google/go-licenses@latest
- name: Run go-licenses
run: go-licenses check github.com/alcionai/corso/src --ignore github.com/alcionai/corso/src
run: go-licenses check github.com/alcionai/canario/src --ignore github.com/alcionai/canario/src
- name: Run staticcheck
uses: dominikh/staticcheck-action@v1.3.0
@ -571,6 +602,8 @@ jobs:
- uses: actions/checkout@v4
- name: Publish Binary
# canario should never publish
if: false
uses: ./.github/actions/publish-binary
with:
version: ${{ needs.SetEnv.outputs.version }}
@ -582,7 +615,9 @@ jobs:
needs: [Test-Suite-Trusted, Source-Code-Linting, Website-Linting, SetEnv]
environment: ${{ needs.SetEnv.outputs.environment }}
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
# canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
defaults:
run:
working-directory: build
@ -626,7 +661,7 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
CORSO_BUILD_LDFLAGS=-X 'github.com/alcionai/corso/src/internal/events.RudderStackWriteKey=${{ secrets.RUDDERSTACK_CORSO_WRITE_KEY }}' -X 'github.com/alcionai/corso/src/internal/events.RudderStackDataPlaneURL=${{ secrets.RUDDERSTACK_CORSO_DATA_PLANE_URL }}' -X 'github.com/alcionai/corso/src/internal/version.Version=${{ needs.SetEnv.outputs.version }}'
CORSO_BUILD_LDFLAGS=-X 'github.com/alcionai/canario/src/internal/events.RudderStackWriteKey=${{ secrets.RUDDERSTACK_CORSO_WRITE_KEY }}' -X 'github.com/alcionai/canario/src/internal/events.RudderStackDataPlaneURL=${{ secrets.RUDDERSTACK_CORSO_DATA_PLANE_URL }}' -X 'github.com/alcionai/canario/src/internal/version.Version=${{ needs.SetEnv.outputs.version }}'
# use the github cache
cache-from: type=gha
cache-to: type=gha,mode=max
@ -635,14 +670,16 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
# canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps:
- name: Validate x86_64 binary artifacts
run: |
set -ex
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz > corso.tar.gz
curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz
./corso --help
./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
@ -656,7 +693,7 @@ jobs:
run: |
set -ex
sudo apt-get update && sudo apt-get install curl
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_arm64.tar.gz > corso.tar.gz
curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_arm64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz
./corso --help
./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
@ -665,7 +702,9 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
# canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps:
@ -687,21 +726,23 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing
runs-on: macos-latest
if: startsWith(github.ref, 'refs/tags/')
# canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps:
- name: Validate x86_64 binary artifacts
run: |
set -ex
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_x86_64.tar.gz > corso.tar.gz
curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_x86_64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz
./corso --help
./corso --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
- name: Validate arm64 binary artifacts
run: |
set -ex
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_arm64.tar.gz > corso.tar.gz
curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Darwin_arm64.tar.gz > corso.tar.gz
tar -xf corso.tar.gz
# TODO: test/validate arm64 executable once we have arm64 CI
@ -709,13 +750,15 @@ jobs:
needs: [Publish-Binary, Publish-Image, SetEnv]
environment: Testing
runs-on: windows-latest
if: startsWith(github.ref, 'refs/tags/')
# canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps:
- name: Validate x86_64 binary artifacts
run: |
curl -L https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Windows_x86_64.zip -o corso.zip
curl -L https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Windows_x86_64.zip -o corso.zip
7z x corso.zip
./corso.exe --help
./corso.exe --version 2>&1 | grep -E "version: ${{ env.CORSO_VERSION }}$"
@ -730,6 +773,8 @@ jobs:
- uses: actions/checkout@v4 # need to checkout to make the action available
- name: Publish website
# canario should never publish
if: false
uses: ./.github/actions/publish-website
with:
aws-iam-role: ${{ secrets.AWS_IAM_ROLE }}
@ -740,12 +785,16 @@ jobs:
needs: [SetEnv, Validate-Linux-Artifacts, Validate-MacOS-Artifacts, Validate-Docker-Artifacts, Validate-Windows-Artifacts]
environment: ${{ needs.SetEnv.outputs.environment }}
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
# canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/checkout@v4 # need to checkout to make the action available
- name: Publish website
# canario should never publish
if: false
uses: ./.github/actions/publish-website
with:
aws-iam-role: ${{ secrets.AWS_IAM_ROLE }}
@ -756,10 +805,12 @@ jobs:
needs: [Publish-Website-Prod, SetEnv]
environment: Testing
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
# canario should never publish
if: false
# if: startsWith(github.ref, 'refs/tags/')
env:
CORSO_VERSION: ${{ needs.SetEnv.outputs.version }}
steps:
- name: Validate docs
run: |
curl https://corsobackup.io/docs/quickstart/ | grep https://github.com/alcionai/corso/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz
curl https://corsobackup.io/docs/quickstart/ | grep https://github.com/alcionai/canario/releases/download/${{ env.CORSO_VERSION }}/corso_${{ env.CORSO_VERSION }}_Linux_x86_64.tar.gz

View File

@ -1,13 +1,23 @@
name: CI Test Cleanup
on:
workflow_dispatch:
schedule:
# every half hour
- cron: "*/30 * * * *"
# neither of the jobs are currently running (corso already runs them),
# so this action is turned off until we decide it's needed.
# workflow_dispatch:
# schedule:
# every half hour
# - cron: "*/30 * * * *"
#
push:
branches:
does-not-exist-this-forces-the-action-to-not-run
jobs:
Test-User-Data-Cleanup:
environment: Testing
# forced off - this is already running in corso
# we may need to turn this back on if we elect different
# test users compared to the corso repo
if: false
runs-on: ubuntu-latest
continue-on-error: true
strategy:
@ -43,6 +53,10 @@ jobs:
Test-Site-Data-Cleanup:
environment: Testing
# forced off - this is already running in corso
# we may need to turn this back on if we elect different
# test users compared to the corso repo
if: false
runs-on: ubuntu-latest
continue-on-error: true
strategy:

View File

@ -20,7 +20,7 @@ concurrency:
jobs:
SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main
uses: alcionai/canario/.github/workflows/accSelector.yaml@main
Longevity-Tests:
needs: [ SetM365App ]
@ -37,7 +37,7 @@ jobs:
CORSO_LOG_FILE: ${{ github.workspace }}/src/testlog/run-longevity.log
RESTORE_DEST_PFX: Corso_Test_Longevity_
TEST_USER: ${{ github.event.inputs.user != '' && github.event.inputs.user || vars.CORSO_M365_TEST_USER_ID }}
PREFIX: 'longevity'
PREFIX: 'longevity_canario'
# Options for retention.
RETENTION_MODE: GOVERNANCE
@ -76,7 +76,7 @@ jobs:
git checkout ${{ steps.version.outputs.version }}
git checkout ${{ github.ref }} -- .github
- run: go build -o corso
- run: go build -o canario
timeout-minutes: 10
- run: mkdir ${CORSO_LOG_DIR}
@ -88,7 +88,7 @@ jobs:
timeout-minutes: 10
with:
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
role-session-name: integration-testing
role-session-name: canario-integration-testing
aws-region: us-east-1
##########################################################################
@ -97,7 +97,7 @@ jobs:
- name: Version Test
timeout-minutes: 10
run: |
./corso --version | grep -c 'Corso version:'
./canario --version | grep -c 'Corso version:'
- name: Repo init test
id: repo-init
@ -105,7 +105,7 @@ jobs:
run: |
set -euo pipefail
echo -e "\nRepo init test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo init s3 \
./canario repo init s3 \
--no-stats \
--hide-progress \
--retention-mode $(echo "${{ env.RETENTION_MODE }}" | tr '[:upper:]' '[:lower:]') \
@ -113,7 +113,6 @@ jobs:
--extend-retention \
--prefix ${{ env.PREFIX }} \
--bucket ${{ secrets.CI_RETENTION_TESTS_S3_BUCKET }} \
--succeed-if-exists \
2>&1 | tee ${{ env.CORSO_LOG_DIR }}/gotest-repo-init.log
if grep -q 'Failed to' ${{ env.CORSO_LOG_DIR }}/gotest-repo-init.log
@ -127,7 +126,7 @@ jobs:
run: |
set -euo pipefail
echo -e "\nRepo connect test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo connect s3 \
./canario repo connect s3 \
--no-stats \
--hide-progress \
--prefix ${{ env.PREFIX }} \
@ -148,7 +147,7 @@ jobs:
timeout-minutes: 30
run: |
echo -e "\nBackup Exchange test\n" >> ${CORSO_LOG_FILE}
./corso backup create exchange \
./canario backup create exchange \
--no-stats \
--mailbox "${TEST_USER}" \
--hide-progress \
@ -174,7 +173,7 @@ jobs:
run: |
set -euo pipefail
echo -e "\nBackup OneDrive test\n" >> ${CORSO_LOG_FILE}
./corso backup create onedrive \
./canario backup create onedrive \
--no-stats \
--hide-progress \
--user "${TEST_USER}" \
@ -200,7 +199,7 @@ jobs:
set -euo pipefail
echo -e "\nBackup SharePoint test\n" >> ${CORSO_LOG_FILE}
./corso backup create sharepoint \
./canario backup create sharepoint \
--no-stats \
--hide-progress \
--site "${{ vars.CORSO_M365_TEST_SITE_URL }}" \
@ -265,9 +264,9 @@ jobs:
echo -e "\Export OneDrive test\n" >> ${CORSO_LOG_FILE}
echo -e "\Export OneDrive test - first entry\n" >> ${CORSO_LOG_FILE}
./corso backup list onedrive 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
./canario backup list onedrive 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
while read -r line; do
./corso export onedrive \
./canario export onedrive \
"/tmp/corso-export--$line" \
--no-stats \
--backup "$line" \
@ -275,9 +274,9 @@ jobs:
done
echo -e "\Export OneDrive test - last entry\n" >> ${CORSO_LOG_FILE}
./corso backup list onedrive 2>/dev/null | tail -n1 | awk '{print $1}' |
./canario backup list onedrive 2>/dev/null | tail -n1 | awk '{print $1}' |
while read -r line; do
./corso export onedrive \
./canario export onedrive \
"/tmp/corso-export--$line" \
--no-stats \
--backup "$line" \
@ -293,9 +292,9 @@ jobs:
echo -e "\Export SharePoint test\n" >> ${CORSO_LOG_FILE}
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}' |
./canario backup list sharepoint 2>/dev/null | tail -n+2 | head -n1 | awk '{print $1}' |
while read -r line; do
./corso export sharepoint \
./canario export sharepoint \
"/tmp/corso-export--$line" \
--no-stats \
--backup "$line" \
@ -303,9 +302,9 @@ jobs:
done
echo -e "\Export SharePoint test - last entry\n" >> ${CORSO_LOG_FILE}
./corso backup list sharepoint 2>/dev/null | tail -n1 | awk '{print $1}' |
./canario backup list sharepoint 2>/dev/null | tail -n1 | awk '{print $1}' |
while read -r line; do
./corso export sharepoint \
./canario export sharepoint \
"/tmp/corso-export--$line" \
--no-stats \
--backup "$line" \
@ -324,7 +323,7 @@ jobs:
# Run with the force flag so it doesn't fail if the github runner
# hostname isn't what's expected. This is only safe because we can
# guarantee only one runner will be executing maintenance at a time.
./corso repo maintenance --mode metadata \
./canario repo maintenance --mode metadata \
--no-stats \
--hide-progress \
--force \
@ -339,7 +338,7 @@ jobs:
set -euo pipefail
echo -e "\n Maintenance test Weekly\n" >> ${CORSO_LOG_FILE}
./corso repo maintenance --mode complete \
./canario repo maintenance --mode complete \
--no-stats \
--hide-progress \
--force \

View File

@ -3,8 +3,9 @@ on:
workflow_dispatch:
schedule:
# Run every day at 04:00 GMT (roughly 8pm PST)
- cron: "0 4 * * *"
# Run every day at 06:00 GMT (roughly 10pm PST)
# corso runs at 04:00 GMT, this is slightly offset to avoid conflicts.
- cron: "0 6 * * *"
permissions:
# required to retrieve AWS credentials
@ -41,7 +42,7 @@ jobs:
# SetM365App will decide which M365 app to use for this CI run
SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main
uses: alcionai/canario/.github/workflows/accSelector.yaml@main
# ----------------------------------------------------------------------------------------------------
# --- Nightly Testing -------------------------------------------------------------------

View File

@ -20,7 +20,7 @@ concurrency:
jobs:
SetM365App:
uses: alcionai/corso/.github/workflows/accSelector.yaml@main
uses: alcionai/canario/.github/workflows/accSelector.yaml@main
Sanity-Tests:
needs: [ SetM365App ]
@ -56,7 +56,7 @@ jobs:
with:
go-version-file: src/go.mod
- run: go build -o corso
- run: go build -o canario
timeout-minutes: 10
- run: go build -o sanity-test ./cmd/sanity_test
@ -114,7 +114,7 @@ jobs:
- name: Version Test
timeout-minutes: 10
run: |
./corso --version | grep -c 'Corso version:'
./canario --version | grep -c 'Corso version:'
- name: Repo init test
timeout-minutes: 10
@ -123,7 +123,7 @@ jobs:
set -euo pipefail
prefix=$(date +"%Y-%m-%d-%T")
echo -e "\nRepo init test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo init s3 \
./canario repo init s3 \
--no-stats \
--hide-progress \
--prefix $prefix \
@ -143,7 +143,7 @@ jobs:
run: |
set -euo pipefail
echo -e "\nRepo connect test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo connect s3 \
./canario repo connect s3 \
--no-stats \
--hide-progress \
--prefix ${{ steps.repo-init.outputs.result }} \
@ -163,7 +163,7 @@ jobs:
run: |
set -euo pipefail
echo -e "\nRepo maintenance test\n" >> ${{ env.CORSO_LOG_FILE }}
./corso repo maintenance \
./canario repo maintenance \
--no-stats \
--hide-progress \
--mode complete \

View File

@ -1,6 +1,10 @@
name: Publish website
on:
workflow_dispatch:
# workflow_dispatch:
# turned off for now, since canario should not publish the website
push:
branches:
does-not-exist-this-forces-the-action-to-not-run
permissions:
# required to retrieve AWS credentials
@ -49,6 +53,8 @@ jobs:
Publish-Website:
needs: [Website-Linting]
# canario should never publish
if: false
environment: Production
runs-on: ubuntu-latest
defaults:
@ -59,6 +65,8 @@ jobs:
- uses: actions/checkout@v4 # need to checkout to make the action available
- name: Publish website
# canario should never publish
if: false
uses: ./.github/actions/publish-website
with:
aws-iam-role: ${{ secrets.AWS_IAM_ROLE }}

4
.gitignore vendored
View File

@ -19,8 +19,8 @@ testlog/
*.swp
# Standard configuration file names
.corso_test.toml
.corso.toml
.canario_test.toml
.canario.toml
# Logging
*.log

View File

@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Handle the case where an email or event cannot be retrieved from Exchange due to an `ErrorCorruptData` error. Corso will skip over the item but report it in the backup summary.
- Emails attached within other emails are now correctly exported
- Use correct timezone for event start and end times in Exchange exports (helps fix issues in relative recurrence patterns)
- Gracefully handle email and post attachments without name when exporting to eml
## [v0.19.0] (beta) - 2024-02-06

177
LICENSE
View File

@ -1,177 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS

View File

@ -1,7 +1,7 @@
<p align="center">
<img src="https://github.com/alcionai/corso/blob/main/website/static/img/corso_logo.svg?raw=true" alt="Corso Logo" width="100" />
</p>
<h1 align="center">Corso</h1>
<h1 align="center">--CANARIO--</h1>
[![Go Report Card](https://goreportcard.com/badge/github.com/alcionai/corso/src)](https://goreportcard.com/report/github.com/alcionai/corso/src)
[![Discord](https://img.shields.io/badge/discuss-discord-blue)](https://discord.gg/63DTTSnuhT)

View File

@ -4,21 +4,21 @@ WORKDIR /go/src/app
COPY src .
ARG CORSO_BUILD_LDFLAGS=""
RUN go build -o corso -ldflags "$CORSO_BUILD_LDFLAGS"
RUN go build -o canario -ldflags "$CORSO_BUILD_LDFLAGS"
FROM alpine:3
LABEL org.opencontainers.image.title="Corso"
LABEL org.opencontainers.image.title="Canario"
LABEL org.opencontainers.image.description="Free, Secure, and Open-Source Backup for Microsoft 365"
LABEL org.opencontainers.image.url="https://github.com/alcionai/corso"
LABEL org.opencontainers.image.source="https://github.com/alcionai/corso"
LABEL org.opencontainers.image.url="https://github.com/alcionai/canario"
LABEL org.opencontainers.image.source="https://github.com/alcionai/canario"
LABEL org.opencontainers.image.vendor="Alcion, Inc."
COPY --from=builder /go/src/app/corso /corso
COPY --from=builder /go/src/app/canario /canario
RUN apk add --no-cache ca-certificates
ENV CORSO_HOME=/app/corso
ENV CORSO_HOME=/app/canario
ENV CORSO_CONFIG_DIR=$CORSO_HOME \
KOPIA_CONFIG_PATH=$CORSO_HOME/kopia/config/repository.config \
KOPIA_LOG_DIR=$CORSO_HOME/kopia/logs \
@ -26,4 +26,4 @@ ENV CORSO_CONFIG_DIR=$CORSO_HOME \
KOPIA_PERSIST_CREDENTIALS_ON_CONNECT=false \
KOPIA_CHECK_FOR_UPDATES=false
ENTRYPOINT ["/corso"]
ENTRYPOINT ["/canario"]

View File

@ -30,7 +30,7 @@ Darwin) GOOS="darwin" ;;
esac
PLATFORMS="$GOOS/$GOARCH" # default platform
TAG="alcionai/corso" # default image tag
TAG="alcionai/canario" # default image tag
MODE="binary"
case "$1" in
@ -68,13 +68,13 @@ if [ "$MODE" == "binary" ]; then
--env GOOS=${GOOS} --env GOARCH=${GOARCH} \
--workdir "/app/src" \
golang:${GOVER} \
go build -o corso -ldflags "${CORSO_BUILD_LDFLAGS}"
go build -o canario -ldflags "${CORSO_BUILD_LDFLAGS}"
OUTFILE="corso"
[ "$GOOS" == "windows" ] && OUTFILE="corso.exe"
OUTFILE="canario"
[ "$GOOS" == "windows" ] && OUTFILE="canario.exe"
mkdir -p "${ROOT}/bin/${GOOS}-${GOARCH}"
mv "${ROOT}/src/corso" "${ROOT}/bin/${GOOS}-${GOARCH}/${OUTFILE}"
mv "${ROOT}/src/canario" "${ROOT}/bin/${GOOS}-${GOARCH}/${OUTFILE}"
echo Corso $platform binary available in "${ROOT}/bin/${GOOS}-${GOARCH}/${OUTFILE}"
done
else

View File

@ -17,13 +17,13 @@ COPY ./src .
FROM base AS build
ARG TARGETOS
ARG TARGETARCH
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o /corso .
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o /canario .
## Deploy
FROM ubuntu:22.10
COPY --from=build /corso /
COPY --from=build /canario /
USER nobody
ENTRYPOINT ["/corso"]
ENTRYPOINT ["/canario"]

6
src/.gitignore vendored
View File

@ -1,5 +1,5 @@
dist/
corso
canario
# Test binary, built with `go test -c`
*.test
@ -14,8 +14,8 @@ testlog/
*.swp
# Standard configuration file names
.corso_test.toml
.corso.toml
.canario_test.toml
.canario.toml
# Logging
*.log

View File

@ -35,7 +35,7 @@ linters-settings:
sections:
- standard
- default
- prefix(github.com/alcionai/corso)
- prefix(github.com/alcionai/canario)
skip-generated: true
forbidigo:
forbid:

View File

@ -13,9 +13,9 @@ builds:
- goos: windows
goarch: arm64
ldflags:
- -X 'github.com/alcionai/corso/src/internal/version.Version={{.Env.CORSO_VERSION}}'
- -X 'github.com/alcionai/corso/src/internal/events.RudderStackWriteKey={{.Env.RUDDERSTACK_CORSO_WRITE_KEY}}'
- -X 'github.com/alcionai/corso/src/internal/events.RudderStackDataPlaneURL={{.Env.RUDDERSTACK_CORSO_DATA_PLANE_URL}}'
- -X 'github.com/alcionai/canario/src/internal/version.Version={{.Env.CORSO_VERSION}}'
- -X 'github.com/alcionai/canario/src/internal/events.RudderStackWriteKey={{.Env.RUDDERSTACK_CORSO_WRITE_KEY}}'
- -X 'github.com/alcionai/canario/src/internal/events.RudderStackDataPlaneURL={{.Env.RUDDERSTACK_CORSO_DATA_PLANE_URL}}'
archives:
# this name template makes the OS and Arch compatible with the results of uname.

View File

@ -9,7 +9,7 @@ BAD_LINT_MSG := "Missing golangci-lint version $(WANTED_LINT_VERSION). Visit $(I
.PHONY: check-lint check-lint-version lint load-test
build:
go build -o corso
go build -o canario
lint: check-lint-version
golangci-lint run
@ -18,7 +18,7 @@ lint: check-lint-version
fmt:
gofumpt -w .
goimports -w .
gci write --skip-generated -s 'standard' -s 'default' -s 'prefix(github.com/alcionai/corso)' .
gci write --skip-generated -s 'standard' -s 'default' -s 'prefix(github.com/alcionai/canario)' .
check-lint-version: check-lint
@if [ "$(LINT_VERSION)" != "$(WANTED_LINT_VERSION)" ]; then \

View File

@ -9,22 +9,22 @@ import (
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/color"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/observe"
"github.com/alcionai/corso/src/pkg/backup"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/errs/core"
"github.com/alcionai/corso/src/pkg/logger"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/store"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/common/color"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/data"
"github.com/alcionai/canario/src/internal/observe"
"github.com/alcionai/canario/src/pkg/backup"
"github.com/alcionai/canario/src/pkg/backup/details"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/errs/core"
"github.com/alcionai/canario/src/pkg/logger"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/canario/src/pkg/store"
)
var ErrEmptyBackup = clues.New("no items in backup")

View File

@ -8,13 +8,13 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/utils/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/backup/details"
dtd "github.com/alcionai/corso/src/pkg/backup/details/testdata"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/utils/testdata"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/backup/details"
dtd "github.com/alcionai/canario/src/pkg/backup/details/testdata"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
)
type BackupUnitSuite struct {

View File

@ -4,12 +4,12 @@ import (
"github.com/alcionai/clues"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
)
// ------------------------------------------------------------------------------------------------

View File

@ -11,20 +11,20 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365/api"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/canario/src/pkg/services/m365/api"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
var (

View File

@ -10,12 +10,12 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/control"
)
type ExchangeUnitSuite struct {

View File

@ -8,15 +8,15 @@ import (
"github.com/spf13/cobra"
"golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/canario/src/pkg/filters"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/canario/src/pkg/services/m365"
)
// ------------------------------------------------------------------------------------------------

View File

@ -13,20 +13,20 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
selTD "github.com/alcionai/corso/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
selTD "github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
// ---------------------------------------------------------------------------

View File

@ -10,12 +10,12 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/control"
)
type GroupsUnitSuite struct {

View File

@ -10,18 +10,18 @@ import (
"github.com/spf13/viper"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage"
"github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/canario/src/pkg/storage"
"github.com/alcionai/canario/src/pkg/storage/testdata"
)
type dependencies struct {

View File

@ -5,12 +5,12 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
)
// ------------------------------------------------------------------------------------------------

View File

@ -11,19 +11,19 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
selTD "github.com/alcionai/corso/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
selTD "github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
// ---------------------------------------------------------------------------

View File

@ -9,12 +9,12 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/control"
)
type OneDriveUnitSuite struct {

View File

@ -7,15 +7,15 @@ import (
"github.com/spf13/cobra"
"golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/canario/src/pkg/filters"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/canario/src/pkg/services/m365"
)
// ------------------------------------------------------------------------------------------------

View File

@ -13,21 +13,21 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/backup/details"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/backup/details"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
// ---------------------------------------------------------------------------
@ -110,7 +110,7 @@ func (suite *BackupSharepointE2ESuite) SetupSuite() {
}
func (suite *BackupSharepointE2ESuite) TestSharepointBackupCmd_lists() {
// Issue: https://github.com/alcionai/corso/issues/4754
// Issue: https://github.com/alcionai/canario/issues/4754
suite.T().Skip("unskip when sharepoint lists support is enabled")
runSharepointBackupCategoryTest(suite, flags.DataLists)
}
@ -142,7 +142,7 @@ func runSharepointBackupCategoryTest(suite *BackupSharepointE2ESuite, category s
}
func (suite *BackupSharepointE2ESuite) TestSharepointBackupCmd_siteNotFound_lists() {
// Issue: https://github.com/alcionai/corso/issues/4754
// Issue: https://github.com/alcionai/canario/issues/4754
suite.T().Skip("un-skip test when lists support is enabled")
runSharepointBackupSiteNotFoundTest(suite, flags.DataLists)
}

View File

@ -10,14 +10,14 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/selectors"
)
type SharePointUnitSuite struct {

View File

@ -8,15 +8,15 @@ import (
"github.com/spf13/cobra"
"golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/filters"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/canario/src/pkg/filters"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/canario/src/pkg/services/m365"
)
// ------------------------------------------------------------------------------------------------

View File

@ -13,20 +13,20 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/print"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/its"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
selTD "github.com/alcionai/corso/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/print"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/its"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
selTD "github.com/alcionai/canario/src/pkg/selectors/testdata"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
// ---------------------------------------------------------------------------

View File

@ -9,12 +9,12 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/control"
)
type TeamsChatsUnitSuite struct {

View File

@ -9,18 +9,18 @@ import (
"github.com/spf13/cobra"
"golang.org/x/exp/slices"
"github.com/alcionai/corso/src/cli/backup"
"github.com/alcionai/corso/src/cli/debug"
"github.com/alcionai/corso/src/cli/export"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/help"
"github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/repo"
"github.com/alcionai/corso/src/cli/restore"
"github.com/alcionai/corso/src/internal/observe"
"github.com/alcionai/corso/src/internal/version"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/logger"
"github.com/alcionai/canario/src/cli/backup"
"github.com/alcionai/canario/src/cli/debug"
"github.com/alcionai/canario/src/cli/export"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/help"
"github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/repo"
"github.com/alcionai/canario/src/cli/restore"
"github.com/alcionai/canario/src/internal/observe"
"github.com/alcionai/canario/src/internal/version"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/logger"
)
// ------------------------------------------------------------------------------------------
@ -28,9 +28,9 @@ import (
// ------------------------------------------------------------------------------------------
// The root-level command.
// `corso <command> [<subcommand>] [<service>] [<flag>...]`
var corsoCmd = &cobra.Command{
Use: "corso",
// `canario <command> [<subcommand>] [<service>] [<flag>...]`
var canarioCmd = &cobra.Command{
Use: "canario",
Short: "Free, Secure, Open-Source Backup for M365.",
Long: `Free, Secure, and Open-Source Backup for Microsoft 365.`,
RunE: handleCorsoCmd,
@ -54,7 +54,7 @@ func preRun(cc *cobra.Command, args []string) error {
}
avoidTheseCommands := []string{
"corso", "env", "help", "backup", "details", "list", "restore", "export", "delete", "repo", "init", "connect",
"canario", "env", "help", "backup", "details", "list", "restore", "export", "delete", "repo", "init", "connect",
}
if len(logger.ResolvedLogFile) > 0 && !slices.Contains(avoidTheseCommands, cc.Use) {
@ -62,7 +62,7 @@ func preRun(cc *cobra.Command, args []string) error {
}
// handle deprecated user flag in Backup exchange command
if cc.CommandPath() == "corso backup create exchange" {
if cc.CommandPath() == "canario backup create exchange" {
handleMailBoxFlag(ctx, cc, flagSl)
}
@ -83,8 +83,8 @@ func handleMailBoxFlag(ctx context.Context, c *cobra.Command, flagNames []string
}
}
// Handler for flat calls to `corso`.
// Produces the same output as `corso --help`.
// Handler for flat calls to `canario`.
// Produces the same output as `canario --help`.
func handleCorsoCmd(cmd *cobra.Command, args []string) error {
v, _ := cmd.Flags().GetBool("version")
if v {
@ -99,7 +99,7 @@ func handleCorsoCmd(cmd *cobra.Command, args []string) error {
// The command tree is built and attached to the returned command.
func CorsoCommand() *cobra.Command {
c := &cobra.Command{}
*c = *corsoCmd
*c = *canarioCmd
BuildCommandTree(c)
return c
@ -118,7 +118,7 @@ func BuildCommandTree(cmd *cobra.Command) {
observe.AddProgressBarFlags(cmd)
print.AddOutputFlag(cmd)
flags.AddGlobalOperationFlags(cmd)
cmd.SetUsageTemplate(indentExamplesTemplate(corsoCmd.UsageTemplate()))
cmd.SetUsageTemplate(indentExamplesTemplate(canarioCmd.UsageTemplate()))
cmd.CompletionOptions.DisableDefaultCmd = true
@ -139,10 +139,10 @@ func Handle() {
//nolint:forbidigo
ctx := config.Seed(context.Background())
ctx, log := logger.Seed(ctx, logger.PreloadLoggingFlags(os.Args[1:]))
ctx = print.SetRootCmd(ctx, corsoCmd)
ctx = print.SetRootCmd(ctx, canarioCmd)
ctx = observe.SeedObserver(ctx, print.StderrWriter(ctx), observe.PreloadFlags())
BuildCommandTree(corsoCmd)
BuildCommandTree(canarioCmd)
defer func() {
observe.Flush(ctx) // flush the progress bars
@ -150,7 +150,7 @@ func Handle() {
_ = log.Sync() // flush all logs in the buffer
}()
if err := corsoCmd.ExecuteContext(ctx); err != nil {
if err := canarioCmd.ExecuteContext(ctx); err != nil {
logger.CtxErr(ctx, err).Error("cli execution")
os.Exit(1)
}

View File

@ -7,8 +7,8 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/internal/tester"
)
type CLIUnitSuite struct {

View File

@ -6,11 +6,11 @@ import (
"github.com/alcionai/clues"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/fault"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/fault"
"github.com/alcionai/canario/src/pkg/selectors"
)
var subCommandFuncs = []func() *cobra.Command{

View File

@ -3,9 +3,9 @@ package debug
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/selectors"
)
// called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/tester"
)
type ExchangeUnitSuite struct {

View File

@ -3,9 +3,9 @@ package debug
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/selectors"
)
// called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/tester"
)
type GroupsUnitSuite struct {

View File

@ -3,9 +3,9 @@ package debug
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/selectors"
)
// called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/tester"
)
type OneDriveUnitSuite struct {

View File

@ -3,9 +3,9 @@ package debug
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/selectors"
)
// called by debug.go to map subcommands to provider-specific handling.

View File

@ -7,10 +7,10 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/tester"
)
type SharePointUnitSuite struct {

View File

@ -4,8 +4,8 @@ import (
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
)
// called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type ExchangeUnitSuite struct {

View File

@ -8,16 +8,16 @@ import (
"github.com/dustin/go-humanize"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/internal/observe"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/export"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/data"
"github.com/alcionai/canario/src/internal/observe"
"github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/canario/src/pkg/export"
"github.com/alcionai/canario/src/pkg/selectors"
)
var exportCommands = []func(cmd *cobra.Command) *cobra.Command{

View File

@ -4,9 +4,9 @@ import (
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/control"
)
// called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type GroupsUnitSuite struct {

View File

@ -4,8 +4,8 @@ import (
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
)
// called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type OneDriveUnitSuite struct {

View File

@ -4,8 +4,8 @@ import (
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
)
// called by export.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type SharePointUnitSuite struct {

View File

@ -3,7 +3,7 @@ package flags
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/storage"
"github.com/alcionai/canario/src/pkg/storage"
)
// filesystem flag names

View File

@ -3,7 +3,7 @@ package flags
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/control/repository"
"github.com/alcionai/canario/src/pkg/control/repository"
)
const (

View File

@ -3,7 +3,7 @@ package flags
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/canario/src/pkg/control"
)
const (

View File

@ -5,7 +5,7 @@ import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/control/repository"
"github.com/alcionai/canario/src/pkg/control/repository"
)
const (

View File

@ -5,8 +5,8 @@ import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/pkg/credentials"
"github.com/alcionai/corso/src/pkg/storage"
"github.com/alcionai/canario/src/pkg/credentials"
"github.com/alcionai/canario/src/pkg/storage"
)
// S3 bucket flags

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra"
"gotest.tools/v3/assert"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/canario/src/cli/flags"
)
func PreparedBackupListFlags() []string {

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/canario/src/cli/flags"
)
func PreparedChannelFlags() []string {

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/canario/src/cli/flags"
)
func PreparedStorageFlags() []string {

View File

@ -6,7 +6,7 @@ import (
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/canario/src/cli/flags"
)
func PreparedLibraryFlags() []string {

View File

@ -3,7 +3,7 @@ package help
import (
"github.com/spf13/cobra"
. "github.com/alcionai/corso/src/cli/print"
. "github.com/alcionai/canario/src/cli/print"
)
// AddCommands attaches all `corso env * *` commands to the parent.

View File

@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester"
)
type EnvSuite struct {

View File

@ -11,8 +11,8 @@ import (
"github.com/tidwall/pretty"
"github.com/tomlazar/table"
"github.com/alcionai/corso/src/internal/common/color"
"github.com/alcionai/corso/src/internal/observe"
"github.com/alcionai/canario/src/internal/common/color"
"github.com/alcionai/canario/src/internal/observe"
)
var (

View File

@ -9,7 +9,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester"
)
type PrintUnitSuite struct {

View File

@ -4,14 +4,14 @@ import (
"github.com/alcionai/clues"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/events"
"github.com/alcionai/corso/src/pkg/config"
ctrlRepo "github.com/alcionai/corso/src/pkg/control/repository"
"github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/events"
"github.com/alcionai/canario/src/pkg/config"
ctrlRepo "github.com/alcionai/canario/src/pkg/control/repository"
"github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/canario/src/pkg/storage"
)
const (

View File

@ -8,17 +8,17 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
type FilesystemE2ESuite struct {

View File

@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester"
)
type FilesystemSuite struct {

View File

@ -7,13 +7,13 @@ import (
"github.com/spf13/cobra"
"golang.org/x/exp/maps"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/events"
"github.com/alcionai/corso/src/pkg/control/repository"
"github.com/alcionai/corso/src/pkg/path"
repo "github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/events"
"github.com/alcionai/canario/src/pkg/control/repository"
"github.com/alcionai/canario/src/pkg/path"
repo "github.com/alcionai/canario/src/pkg/repository"
)
const (

View File

@ -9,15 +9,15 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/repo"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/repo"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
type RepoUnitSuite struct {

View File

@ -6,13 +6,13 @@ import (
"github.com/alcionai/clues"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/events"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/events"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/canario/src/pkg/storage"
)
// called by repo.go to map subcommands to provider-specific handling.

View File

@ -10,18 +10,18 @@ import (
"github.com/stretchr/testify/suite"
"golang.org/x/exp/maps"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/str"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/common/str"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
type S3E2ESuite struct {

View File

@ -8,7 +8,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester"
)
type S3Suite struct {

View File

@ -3,8 +3,8 @@ package restore
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
)
// called by restore.go to map subcommands to provider-specific handling.

View File

@ -10,22 +10,22 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli"
"github.com/alcionai/corso/src/cli/flags"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/internal/common/idname"
"github.com/alcionai/corso/src/internal/operations"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/internal/tester/tconfig"
"github.com/alcionai/corso/src/pkg/account"
"github.com/alcionai/corso/src/pkg/config"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/repository"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/corso/src/pkg/services/m365/api"
"github.com/alcionai/corso/src/pkg/storage"
storeTD "github.com/alcionai/corso/src/pkg/storage/testdata"
"github.com/alcionai/canario/src/cli"
"github.com/alcionai/canario/src/cli/flags"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/internal/common/idname"
"github.com/alcionai/canario/src/internal/operations"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/internal/tester/tconfig"
"github.com/alcionai/canario/src/pkg/account"
"github.com/alcionai/canario/src/pkg/config"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/repository"
"github.com/alcionai/canario/src/pkg/selectors"
"github.com/alcionai/canario/src/pkg/services/m365/api"
"github.com/alcionai/canario/src/pkg/storage"
storeTD "github.com/alcionai/canario/src/pkg/storage/testdata"
)
var (

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type ExchangeUnitSuite struct {

View File

@ -3,10 +3,10 @@ package restore
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/canario/src/pkg/selectors"
)
// called by restore.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type GroupsUnitSuite struct {

View File

@ -3,9 +3,9 @@ package restore
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/dttm"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/dttm"
)
// called by restore.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type OneDriveUnitSuite struct {

View File

@ -7,12 +7,12 @@ import (
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
. "github.com/alcionai/corso/src/cli/print"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/data"
"github.com/alcionai/corso/src/pkg/count"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
. "github.com/alcionai/canario/src/cli/print"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/data"
"github.com/alcionai/canario/src/pkg/count"
"github.com/alcionai/canario/src/pkg/selectors"
)
var restoreCommands = []func(cmd *cobra.Command) *cobra.Command{

View File

@ -3,9 +3,9 @@ package restore
import (
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/pkg/dttm"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/pkg/dttm"
)
// called by restore.go to map subcommands to provider-specific handling.

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
flagsTD "github.com/alcionai/corso/src/cli/flags/testdata"
cliTD "github.com/alcionai/corso/src/cli/testdata"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
flagsTD "github.com/alcionai/canario/src/cli/flags/testdata"
cliTD "github.com/alcionai/canario/src/cli/testdata"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
)
type SharePointUnitSuite struct {

View File

@ -13,8 +13,8 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/internal/tester"
)
// StubRootCmd builds a stub cobra command to be used as
@ -22,7 +22,7 @@ import (
func StubRootCmd(args ...string) *cobra.Command {
id := uuid.NewString()
now := time.Now().UTC().Format(time.RFC3339Nano)
cmdArg := "testing-corso"
cmdArg := "testing-canario"
c := &cobra.Command{
Use: cmdArg,
Short: id,

View File

@ -4,8 +4,8 @@ import (
"github.com/alcionai/clues"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/pkg/selectors"
)
type ExchangeOpts struct {

View File

@ -7,11 +7,11 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/canario/src/pkg/selectors"
)
type ExchangeUtilsSuite struct {

View File

@ -7,9 +7,9 @@ import (
"github.com/alcionai/clues"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/corso/src/pkg/filters"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/pkg/control"
"github.com/alcionai/canario/src/pkg/filters"
)
type ExportCfgOpts struct {

View File

@ -7,9 +7,9 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/control"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/control"
)
type ExportCfgUnitSuite struct {

View File

@ -6,10 +6,10 @@ import (
"github.com/alcionai/clues"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
)
// IsValidTimeFormat returns true if the input is recognized as a

View File

@ -9,8 +9,8 @@ import (
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/internal/tester"
)
type FlagUnitSuite struct {

View File

@ -6,8 +6,8 @@ import (
"github.com/alcionai/clues"
"github.com/spf13/cobra"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/pkg/selectors"
)
type GroupsOpts struct {

View File

@ -6,12 +6,12 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/src/cli/flags"
"github.com/alcionai/corso/src/cli/utils"
"github.com/alcionai/corso/src/internal/tester"
"github.com/alcionai/corso/src/pkg/dttm"
"github.com/alcionai/corso/src/pkg/path"
"github.com/alcionai/corso/src/pkg/selectors"
"github.com/alcionai/canario/src/cli/flags"
"github.com/alcionai/canario/src/cli/utils"
"github.com/alcionai/canario/src/internal/tester"
"github.com/alcionai/canario/src/pkg/dttm"
"github.com/alcionai/canario/src/pkg/path"
"github.com/alcionai/canario/src/pkg/selectors"
)
type GroupsUtilsSuite struct {

Some files were not shown because too many files have changed in this diff Show More