Adds a drone node selector so builds will be routed to the correct buildbox
Also:
1. changes the version of Visual Studio expected by npm to vs 2022 to match buildbox installation
2. Removes the concurrency limit for window push builds. As there are separate builders for v10, v11
and v12. Given that the concurrency limits are enforced across all builds with the same name, they
serialise builds from different teleport versions. it seems wasteful to have a builder for v10 sit idle
while waiting a v11 build completes.
The concurrent limits have been left for tag builds, as there are flow-on concurrency concern due to artifact
uploading, etc.
This PR updates our various Drone pipelines to use AWS roles for publishing.
Our AWS FTR requires that we do not use any long lived credentials in our AWS accounts and instead use roles. This means we need to move from attaching policies directly to users to attaching policies to roles and having policyless users assume those roles.
https://aws.amazon.com/partners/foundational-technical-review/
Contributes to https://github.com/gravitational/SecOps/issues/213
WARNING: Due to issues with the windows drone executor's poor escaping when it echoes commands, I have moved the error message functionality into the PS build functions in build.assets/windows/build.ps1. This means that any failures that occur during the code checkout step will not be reported.
I'm not sure that this is the correct tradeoff, but it may well suffice for now.
Uses Drone to build Teleport Connect for Windows on a Native
Windows builder.
This PR adds 2 pipelines to the Drone YAML:
1. `push-build-native-windows-amd64`: Invoked on a push to master,
branch/v*, etc., and asserts that Teleport Connect can be built, and
2. `build-native-windows-amd64`: Invoked when a branch tag is
committed to the teleport Repo. Builds Teleport Connect and uploads
it to dronestorage
These builds are run on a native windows builder (as opposed to tsh,
which is built in a linux environment and cross-compiled for Windows)