Vaibhav Kamra b7330b2ba6
Reduce CI test times (#1532)
## Description

The bulk of the time being spent in the `Test-Suite` job was compiling the test binaries.
This is related to the size of the MS graph library.

The impact of this was even more obvious because the Go build cache didn't seem to be getting used
in our CI tests.

The issue was that the cache is being used (and primed) in multiple places and if it happens to
get populated during a build step that doesn't compile the test binaries - then the cache would
never get updated with those and we would keep building from scratch.

The fix is to add a cache suffix so that the testsuite cache and lint cache use different locations.

Going forward - another improvement would be to create a single cache and populate it up-front
in the workflow with all Go artifacts (i.e. compile src and test up front).

This change reduces `Test-Suite` time from ~32 minutes to ~14 minutes

## Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [ ] 🤖 Test
- [x] 💻 CI/Deployment
- [ ] 🐹 Trivial/Minor

## Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #790 

## Test Plan

<!-- How will this be tested prior to merging.-->
- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2022-11-16 07:29:21 +00:00
2022-11-16 07:29:21 +00:00
2022-11-16 07:29:21 +00:00
2022-11-15 10:01:59 -08:00
2022-10-25 04:34:29 +00:00

Corso Logo

Corso

Go Report Card Discord License Contributor Covenant

Corso is the first open-source tool that aims to assist IT admins with the critical task of protecting their Microsoft 365 data. It provides a reliable, secure, and efficient data protection engine. Admins decide where to store the backup data and have the flexibility to perform backups of their desired service through an intuitive interface. As Corso evolves, it can become a great building block for more complex data protection workflows.

Corso is currently in ALPHA and should NOT be used in production.

Corso supports M365 Exchange and OneDrive with SharePoint and Teams support in active development. Coverage for more services, possibly beyond M365, will expand based on the interest and needs of the community.

Getting Started

See the Corso Documentation for more information.

Building Corso

To learn more about working with the project source core and building Corso, see the Developer section of the Corso Documentation.

Roadmap

You can learn more about the Corso roadmap and how to interpret it here.

If you have feature requests, please file a GitHub issue and attach the enhancement label to the issue.

Contribution Guidelines

Code of Conduct

It's important that our community is inclusive and respectful of everyone. We ask that all Corso users and contributors take a few minutes to review our Code of Conduct.

License

Corso is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Description
Free, Secure, and Open-Source Backup for Microsoft 365
Readme Pixar 182 MiB
Languages
Go 91.1%
SCSS 7%
JavaScript 1.1%
PowerShell 0.6%