1. 04 7月, 2022 1 次提交
  2. 03 7月, 2022 1 次提交
  3. 01 7月, 2022 1 次提交
  4. 26 6月, 2022 1 次提交
  5. 18 6月, 2022 2 次提交
    • J
      Add tests for fixed bugs · fca6dbd9
      Joshua Nelson 提交于
      fca6dbd9
    • J
      Pass all paths to `Step::run` at once when using `ShouldRun::krate` · 0da0a219
      Joshua Nelson 提交于
      This was surprisingly complicated. The main changes are:
      1. Invert the order of iteration in `StepDescription::run`.
      
          Previously, it did something like:
          ```python
          for path in paths:
          for (step, should_run) in should_runs:
              if let Some(set) = should_run.pathset_for_path(path):
              step.run(builder, set)
          ```
      
          That worked ok for individual paths, but didn't allow passing more than one path at a time to `Step::run`
          (since `pathset_for_paths` only had one path available to it).
          Change it to instead look at the intersection of `paths` and `should_run.paths`:
      
          ```python
          for (step, should_run) in should_runs:
          if let Some(set) = should_run.pathset_for_paths(paths):
              step.run(builder, set)
          ```
      
      2. Change `pathset_for_path` to take multiple pathsets.
      
          The goal is to avoid `x test library/alloc` testing *all* library crates, instead of just alloc.
          The changes here are similarly subtle, to use the intersection between the paths rather than all
          paths in `should_run.paths`. I added a test for the behavior to try and make it more clear.
      
          Note that we use pathsets instead of just paths to allow for sets with multiple aliases (*cough* `all_krates` *cough*).
          See the documentation added in the next commit for more detail.
      
      3. Change `StepDescription::run` to explicitly handle 0 paths.
      
         Before this was implicitly handled by the `for` loop, which just didn't excute when there were no paths.
         Now it needs a check, to avoid trying to run all steps (this is a problem for steps that use `default_condition`).
      
      4. Change `RunDescription` to have a list of pathsets, rather than a single path.
      
      5. Remove paths as they're matched
      
         This allows checking at the end that no invalid paths are left over.
         Note that if two steps matched the same path, this will no longer run both;
         but that's a bug anyway.
      
      6. Handle suite paths separately from regular sets.
      
         Running multiple suite paths at once instead of in separate `make_run` invocations is both tricky and not particularly useful.
         The respective test Steps already handle this by introspecting the original paths.
      
         Avoid having to deal with it by moving suite handling into a seperate loop than `PathSet::Set` checks.
      0da0a219
  6. 10 6月, 2022 2 次提交
  7. 07 6月, 2022 2 次提交
  8. 03 6月, 2022 1 次提交
  9. 29 5月, 2022 1 次提交
  10. 27 5月, 2022 1 次提交
    • M
      Finish bumping stage0 · b454991a
      Mark Rousskov 提交于
      It looks like the last time had left some remaining cfg's -- which made me think
      that the stage0 bump was actually successful. This brings us to a released 1.62
      beta though.
      b454991a
  11. 26 5月, 2022 6 次提交
  12. 22 5月, 2022 1 次提交
  13. 14 5月, 2022 1 次提交
  14. 08 5月, 2022 1 次提交
  15. 06 5月, 2022 1 次提交
  16. 03 5月, 2022 3 次提交
  17. 02 5月, 2022 2 次提交
  18. 25 4月, 2022 1 次提交
    • J
      Move download-ci-llvm to rustbuild · 93c1a941
      Joshua Nelson 提交于
      This attempts to keep the logic as close to the original python as possible.
      `probably_large` has been removed, since it was always `True`, and UTF-8 paths are no longer supported when patching files for NixOS.
      I can readd UTF-8 support if desired.
      
      Note that this required making `llvm_link_shared` computed on-demand,
      since we don't know whether it will be static or dynamic until we download LLVM from CI.
      93c1a941
  19. 24 4月, 2022 1 次提交
  20. 20 4月, 2022 1 次提交
  21. 19 4月, 2022 1 次提交
  22. 18 4月, 2022 1 次提交
  23. 17 4月, 2022 2 次提交
    • A
      bootstrap: consolidate subcommand parsing and matching · 870cb8ef
      Allen Wild 提交于
      There's several places where the x.py command names are matched as
      strings, leading to some inconsistencies and opportunities for cleanup.
      
      * Add Format, Clean, and Setup variants to builder::Kind.
      * Use Kind to parse the x.py subcommand name (including aliases)
      * Match on the subcommand Kind rather than strings when handling
        options and help text.
      * Several subcommands don't display any paths when run with `-h -v` even
        though the help text indicates that they should. Fix this and refactor
        so that manually keeping matches in sync isn't necessary.
      
      Fixes #95937
      870cb8ef
    • J
      Require all paths passed to `ShouldRun::paths` to exist on disk · 0db70ca2
      Joshua Nelson 提交于
      This has two benefits:
      1. There is a clearer mental model of how bootstrap works. Steps correspond to paths on disk unless it's strictly impossible for them to do so (e.g. dist components).
      2. Bootstrap has better checks for internal consistency. This caught several issues:
        - `src/sanitizers` doesn't exist; I changed it to just be a `sanitizers` alias.
        - `src/tools/lld` doesn't exist; I removed it, since `lld` alone already works.
        - `src/llvm` doesn't exist; removed it since `llvm` and `src/llvm-project` both work.
        - `src/lldb_batchmode.py` doesn't exist, it was moved to `src/etc`.
        - `install` was still using `src/librustc` instead of `compiler/rustc`.
        - None of the tools in `dist` / `install` allowed using `src/tools/X` to build them. This might be intentional - I can change them to aliases if you like.
      0db70ca2
  24. 10 4月, 2022 1 次提交
  25. 30 3月, 2022 2 次提交
    • Y
      Spellchecking some comments · 7e8201ae
      Yuri Astrakhan 提交于
      This PR attempts to clean up some minor spelling mistakes in comments
      7e8201ae
    • J
      Fix `x test src/tools/error_index_generator --stage {0,1}` · 7470592d
      Joshua Nelson 提交于
      There were two fixes needed:
      1. Use `top_stage` instead of `top_stage - 1`. There was a long and torturous comment about trying to match rustdoc's version, but it works better without the hard-coding than with.
      2. Make sure that `ci-llvm/lib` is added to LD_LIBRARY_PATH. Previously the error index would be unable to load LLVM for stage0 builds.
      
      At some point we should probably have a discussion about how rustdoc stages should be numbered;
      confusion between 0/1/2 has come up several times in bootstrap now.
      
      Note that this is still broken when using `download-rustc = true` and `--stage 1`,
      but that's *really* a corner case and should affect almost no one. `--stage {0,2}`
      work fine with download-rustc.
      7470592d
  26. 27 3月, 2022 1 次提交
    • J
      [bootstrap] Don't print `Suite not skipped` unless `--verbose` is set · be8ce35c
      Joshua Nelson 提交于
      This was so verbose before that it made it hard to see what effect the flag actually had.
      
      Before:
      ```
      Set({test::src/tools/tidy}) not skipped for "bootstrap::test::Tidy" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Skipping Suite(test::src/test/ui) because it is excluded
      Suite(test::src/test/run-pass-valgrind) not skipped for "bootstrap::test::RunPassValgrind" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Skipping Suite(test::src/test/mir-opt) because it is excluded
      Suite(test::src/test/codegen) not skipped for "bootstrap::test::Codegen" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Suite(test::src/test/codegen-units) not skipped for "bootstrap::test::CodegenUnits" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Suite(test::src/test/assembly) not skipped for "bootstrap::test::Assembly" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Suite(test::src/test/incremental) not skipped for "bootstrap::test::Incremental" -- not in [src/test/ui, src/test/mir-opt/, src/test/debuginfo, src/test/ui-fulldeps]
      Skipping Suite(test::src/test/debuginfo) because it is excluded
      Skipping Suite(test::src/test/ui-fulldeps) because it is excluded
      ... about 100 more lines ...
      ```
      
      After:
      ```
      Skipping Suite(test::src/test/ui) because it is excluded
      Skipping Suite(test::src/test/mir-opt) because it is excluded
      Skipping Suite(test::src/test/debuginfo) because it is excluded
      Skipping Suite(test::src/test/ui-fulldeps) because it is excluded
      ```
      be8ce35c
  27. 16 3月, 2022 1 次提交