* Make cibuild.sh consistent with CIBuild.cmd
The razor repo was inconsistent with how it handled CI build files. On Windows there was a custom build file, `eng/CBuild.cmd`, which implicitly passed along `-ci` only and required all other args to be explicity. On Unix we used `eng/common/cibuild.sh` which implicitly passed along `--restore --build --test --pack --publish --ci`.
This makes our YML file much harder to read and maintain becuase it has very different arguments across the platforms. This change addresses this by adding `eng/cibuild.sh` which effectively mirrors `eng/CIBuild.cmd` updates the YML file accordingly.
* Move to single build step
Instead of having two build steps that were `{{ if ... }`` on official builds have a single build step. This matches our behavior on Windows based builds.
* Break into restore, bulid and test phases
This matches our setup in Windows
* Use -nobl option
The --excludeCIBinaryLog option does not work on Unix due to a casing
bug. Using -nobl instead across all OS
https://github.com/dotnet/arcade/pull/12998
* fixup
* Revert the breakup into three steps
* Must restore
Razor tooling deploys Roslyn dependencies to allow integration tests
and VS hive debugging to function against VS preview builds. However,
on local dev boxes, where VS IntPreview should be used for dogfooding,
this can result in hard-to-diagnose problems when some Roslyn
dependencies are loaded from the Razor tooling deployment and others
are loaded from the VS install.
This change only deploys Roslyn dependencies if the `IncludeRoslynDeps`
MSBuild property is set to true. This is needed for running integration
tests in CI, so the job has been updated to set that property.
Since integrating our repos, there have been a number of changes in PRs that touch the encoding of the file, adding or removing a BOM as the editor in question decides. I've standardized on UTF-8 with BOM, as we do in roslyn, and put it in the .gitattributes so it should hopefully stay consistent.
* Add sln filter for source build
* Use ExcludeSourceBuild instead
* Put the correct default in 🤦♂️
* Don't include npm targets when all targets are suppressed
* Don't override arcade for test projects when building from source
* Use default source build jobs now we don't need node