diff options
| author | bors <bors@rust-lang.org> | 2020-03-24 15:49:27 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-03-24 15:49:27 +0000 |
| commit | 2dcf54f564c6d8bbf48960fb9aaec88a0e2e062a (patch) | |
| tree | f24523de72b2322c3f2f6c8433d982f8cd5bd1b9 /src/bootstrap/test.rs | |
| parent | 374ab25585f0a817fe7bd6986737f12347b12d0b (diff) | |
| parent | 45910e74fde9849feaa34ce851f317bc3c21f14f (diff) | |
| download | rust-2dcf54f564c6d8bbf48960fb9aaec88a0e2e062a.tar.gz rust-2dcf54f564c6d8bbf48960fb9aaec88a0e2e062a.zip | |
Auto merge of #70190 - pietroalbini:gha, r=Mark-Simulacrum
Add GitHub Actions configuration This PR adds the GitHub Actions configuration to the rust-lang/rust repository. The configuration will be run in parallel with Azure Pipelines until the evaluation finishes: the infrastructure team will then decide whether to switch. Since GitHub Actions doesn't currently have any way to include pieces of configuration, this also adds the `src/tools/expand-yaml-anchors` tool, which serves as a sort of templating system. Otherwise the configuration is a mostly straight port from the Azure Pipelines configuration (thanks to all the PRs opened in the past). There are still a few small things I need to fix before we can land this, but it's mostly complete and ready for an initial review. r? @Mark-Simulacrum
Diffstat (limited to 'src/bootstrap/test.rs')
| -rw-r--r-- | src/bootstrap/test.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index b52fbe4666e..5b946b05735 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -750,6 +750,35 @@ impl Step for Tidy { } } +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +pub struct ExpandYamlAnchors; + +impl Step for ExpandYamlAnchors { + type Output = (); + const ONLY_HOSTS: bool = true; + + /// Ensure the `generate-ci-config` tool was run locally. + /// + /// The tool in `src/tools` reads the CI definition in `src/ci/builders.yml` and generates the + /// appropriate configuration for all our CI providers. This step ensures the tool was called + /// by the user before committing CI changes. + fn run(self, builder: &Builder<'_>) { + builder.info("Ensuring the YAML anchors in the GitHub Actions config were expanded"); + try_run( + builder, + &mut builder.tool_cmd(Tool::ExpandYamlAnchors).arg("check").arg(&builder.src), + ); + } + + fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { + run.path("src/tools/expand-yaml-anchors") + } + + fn make_run(run: RunConfig<'_>) { + run.builder.ensure(ExpandYamlAnchors); + } +} + fn testdir(builder: &Builder<'_>, host: Interned<String>) -> PathBuf { builder.out.join(host).join("test") } |
