Skip to content

Conversation

ecstatic-morse
Copy link
Contributor

The newest available AppVeyor host runs Windows Server 2016. Since the Windows version in a container cannot be greater than that of the host, this requires that the Windows version of the published image also be Server 2016. However, we would like to run crater using process isolation, which on Server 2016 requires that the revision number of the host and container must also match. This requires that the Windows version on AppVeyor exactly matches the Windows version of a hypothetical crater agent. It's tough to find a correct image in the first place, and the revision number of the Windows used by AppVeyor may change unexpectedly.

Instead, we want an image based on Windows 1803 or later, which removes the matching revision numbers constraint. Such machines are currently available via Azure Pipelines.

See the commit message for set-up instructions. @pietroalbini will likely want to improve this before it is merged, since they just set up Azure Pipelines on rustc proper, while this is my first go at it.

This removes the AppVeyor configuration and adapts it for use on Azure
Pipelines. For deployment, the maintainer must create a `docker-creds`
variable group containing `DockerUsername` and `DockerPassword`.
`DockerPassword` should be secret.  This variable group must be linked
to the particular build.

Secrets are not visible to PR builds by default, which mitigates some of
the security risks here. Still, it would be better to opt in to
deployment as opposed to opting out of it with a `condition`.
Copy link
Member

@pietroalbini pietroalbini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Left a few things that need to be fixed.

@ecstatic-morse
Copy link
Contributor Author

I made the requested changes.

Co-Authored-By: Pietro Albini <pietro@pietroalbini.org>
Copy link
Member

@pietroalbini pietroalbini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's merge this!

@pietroalbini pietroalbini merged commit b64a86f into rust-lang:master Jul 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants