about summary refs log tree commit diff
path: root/src/ci/docker/host-x86_64/mingw-check
AgeCommit message (Collapse)AuthorLines
2025-05-30split `mingw-check` into twoonur-ozkan-236/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30use stage 1 for std on CIonur-ozkan-4/+4
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-28Remove checks that are run with `tidy`Guillaume Gomez-3/+0
2025-04-07enable in-tree std on some runnersonur-ozkan-0/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-02Demote i686-pc-windows-gnu to Tier 2Noratrieb-1/+1
In accordance with RFC 3771. I also added a stub doc page for the target and renamed the windows-gnullvm page for consistency.
2025-03-21Disable CI mode when checking default bootstrap profilesJakub Beránek-1/+2
2025-03-14Remove `RUN_CHECK_WITH_PARALLEL_QUERIES`Jakub Beránek-2/+0
It is useless after the removal of the parallel compiler configuration.
2025-01-27rustdoc: add nobuild typescript checking to our JSMichael Howell-2/+3
By nobuild, I mean that the type annotations are all in comments, not in the "native" typescript syntax. This is a bit uglier, but it lets you rapid-prototype without tsc, works with all the native browser debugging tools, and keeps Node out of Rust's bootstrap chain. This pull request mostly just adds ts-ignore annotations and type declarations. To actually take good advantage of typescript, we'll want to "burn down" this pile of unsafe code until we eventually have a version with almost none of these. This PR also adds tsc to the mingw-check Dockerfile, so that it can't fall out of date like the Closure annotations did. https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/typescript
2024-11-25Run the license-metadata check in CI.Jonathan Pallant-0/+1
This will tell you if license-metadata.json is out of date.
2024-11-13define all the clippy lints we check in CI in a stepPietro Albini-3/+1
2024-10-28split clippy task for library and compiler, so different lints can be enabledklensy-1/+2
2024-10-11move dummy commit logic into x86_64-gnu-llvm-18onur-ozkan-12/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-10-08fix `ci_rustc_if_unchanged_logic` testonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-10-08make an explicit change on compiler then run bootstrap testonur-ozkan-1/+14
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-07-22Rollup merge of #127923 - ferrocene:use-reuse-tool-4.0, r=pietroalbiniTrevor Gross-57/+81
Use reuse tool 4.0 This change upgrades us to reuse-tool 4.0.3, which has a new TOML format configuration instead of the old `.reuse/dep5` Debian-style file. * Updated requirements file to install reuse-4.0.3 * Ran `reuse convert-dep5` to switch to new file format * Switched over to `override` so the `REUSE.toml` file takes precedence over whatever random Copyright strings `reuse` finds in the source tree. Should fix https://github.com/rust-lang/rust/issues/127361
2024-07-22Regenerated hashes using python3.10Jonathan Pallant-1/+1
) brew install python@3.10 ) python3.10 -m venv /tmp/myenv ) source /tmp/myenv/bin/activate ) pip install pip-tools ) /tmp/myenv/bin/pip-compile --allow-unsafe --generate-hashes reuse-requirements.in
2024-07-18create `check-default-config-profiles.sh` for `mingw-check`onur-ozkan-2/+14
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-07-18remove `debug-logging` default from tools profileonur-ozkan-1/+1
`debug-logging` conflicts with `download-rustc` option, and doesn't really make sense to enable it for a profile that is used for tool development. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-07-18check default config profiles on CIonur-ozkan-0/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-07-18Upgrade to reuse 4.0.3Jonathan Pallant-58/+82
) Updated requirements file ) Ran `reuse convert-dep5` to switch to new file format
2024-06-07Other EcmaScript version bumpSunshine-2/+2
2024-04-29Remove the `expand-yaml-anchors` toolJakub Beránek-5/+4
2024-04-21Rollup merge of #124069 - onur-ozkan:run-clippy-on-bootstrap, r=albertlarsan68Guillaume Gomez-0/+1
enable clippy for bootstrap on CI PRs (in `mingw-check` image) Let's keep the bootstrap codebase cleaner.
2024-04-18CI: add script for installing NodeJS and update it to v20Jakub Beránek-2/+4
2024-04-17enable clippy for bootstrap on CI PRsonur-ozkan-0/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-04-16update `mingw-check` clippy invocationonur-ozkan-1/+1
Previously this command was linting compiler and library together. As we no longer run clippy on the entire tree unless it's explicitly requested, we need to update this command by adding `library` path. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-04-02Rollup merge of #122614 - notriddle:notriddle/search-desc, r=GuillaumeGomezGuillaume Gomez-1/+1
rustdoc-search: shard the search result descriptions ## Preview This makes no visual changes to rustdoc search. It's a pure perf improvement. <details><summary>old</summary> Preview: <http://notriddle.com/rustdoc-html-demo-10/doc/std/index.html?search=vec> WebPageTest Comparison with before branch on a sort of worst case (searching `vec`, winds up downloading most of the shards anyway): <https://www.webpagetest.org/video/compare.php?tests=240317_AiDc61_2EM,240317_AiDcM0_2EN> Waterfall diagram: ![image](https://github.com/rust-lang/rust/assets/1593513/39548f0c-7ad6-411b-abf8-f6668ff4da18) </details> Preview: <http://notriddle.com/rustdoc-html-demo-10/doc2/std/index.html?search=vec> WebPageTest Comparison with before branch on a sort of worst case (searching `vec`, winds up downloading most of the shards anyway): <https://www.webpagetest.org/video/compare.php?tests=240322_BiDcCH_13R,240322_AiDcJY_104> ![image](https://github.com/rust-lang/rust/assets/1593513/4be1f9ff-c3ff-4b96-8f5b-b264df2e662d) ## Description r? `@GuillaumeGomez` The descriptions are, on almost all crates[^1], the majority of the size of the search index, even though they aren't really used for searching. This makes it relatively easy to separate them into their own files. Additionally, this PR pulls out information about whether there's a description into a bitmap. This allows us to sort, truncate, *then* download. This PR also bumps us to ES8. Out of the browsers we support, all of them support async functions according to caniuse. https://caniuse.com/async-functions [^1]: <https://microsoft.github.io/windows-docs-rs/>, a crate with 44MiB of pure names and no descriptions for them, is an outlier and should not be counted. But this PR should improve it, by replacing a long line of empty strings with a compressed bitmap with a single Run section. Just not very much. ## Detailed sizes ```console $ cat test.sh set -ex cp ../search-index*.js search-index.js awk 'FNR==NR {a++;next} FNR<a-3' search-index.js{,} | awk 'NR>1 {gsub(/\],\\$/,""); gsub(/^\["[^"]+",/,""); print} {next}' | sed -E "s:\\\\':':g" > search-index.json jq -c '.t' search-index.json > t.json jq -c '.n' search-index.json > n.json jq -c '.q' search-index.json > q.json jq -c '.D' search-index.json > D.json jq -c '.e' search-index.json > e.json jq -c '.i' search-index.json > i.json jq -c '.f' search-index.json > f.json jq -c '.c' search-index.json > c.json jq -c '.p' search-index.json > p.json jq -c '.a' search-index.json > a.json du -hs t.json n.json q.json D.json e.json i.json f.json c.json p.json a.json $ bash test.sh + cp ../search-index1.78.0.js search-index.js + awk 'FNR==NR {a++;next} FNR<a-3' search-index.js search-index.js + awk 'NR>1 {gsub(/\],\\$/,""); gsub(/^\["[^"]+",/,""); print} {next}' + sed -E 's:\\'\'':'\'':g' + jq -c .t search-index.json + jq -c .n search-index.json + jq -c .q search-index.json + jq -c .D search-index.json + jq -c .e search-index.json + jq -c .i search-index.json + jq -c .f search-index.json + jq -c .c search-index.json + jq -c .p search-index.json + jq -c .a search-index.json + du -hs t.json n.json q.json D.json e.json i.json f.json c.json p.json a.json 64K t.json 800K n.json 8.0K q.json 4.0K D.json 16K e.json 192K i.json 544K f.json 4.0K c.json 36K p.json 20K a.json ``` These are, roughly, the size of each section in the standard library (this tool actually excludes libtest, for parsing-json-with-awk reasons, but libtest is tiny so it's probably not important). t = item type, like "struct", "free fn", or "type alias". Since one byte is used for every item, this implies that there are approximately 64 thousand items in the standard library. n = name, and that's now the largest section of the search index with the descriptions removed from it q = parent *module* path, stored parallel to the items within D = the size of each description shard, stored as vlq hex numbers e = empty description bit flags, stored as a roaring bitmap i = parent *type* index as a link into `p`, stored as decimal json numbers; used only for associated types; might want to switch to vlq hex, since that's shorter, but that would be a separate pr f = function signature, stored as lists of lists that index into `p` c = deprecation flag, stored as a roaring bitmap p = parent *type*, stored separately and linked into from `i` and `f` a = alias, as [[key, value]] pairs ## Search performance http://notriddle.com/rustdoc-html-demo-11/perf-shard/index.html For example, in stm32f4: <table><thead><tr><th>before<th>after</tr></thead> <tbody><tr><td> ``` Testing T -> U ... in_args = 0, returned = 0, others = 200 wall time = 617 Testing T, U ... in_args = 0, returned = 0, others = 200 wall time = 198 Testing T -> T ... in_args = 0, returned = 0, others = 200 wall time = 282 Testing crc32 ... in_args = 0, returned = 0, others = 0 wall time = 426 Testing spi::pac ... in_args = 0, returned = 0, others = 0 wall time = 673 ``` </td><td> ``` Testing T -> U ... in_args = 0, returned = 0, others = 200 wall time = 716 Testing T, U ... in_args = 0, returned = 0, others = 200 wall time = 207 Testing T -> T ... in_args = 0, returned = 0, others = 200 wall time = 289 Testing crc32 ... in_args = 0, returned = 0, others = 0 wall time = 418 Testing spi::pac ... in_args = 0, returned = 0, others = 0 wall time = 687 ``` </td></tr><tr><td> ``` user: 005.345 s sys: 002.955 s wall: 006.899 s child_RSS_high: 583664 KiB group_mem_high: 557876 KiB ``` </td><td> ``` user: 004.652 s sys: 000.565 s wall: 003.865 s child_RSS_high: 538696 KiB group_mem_high: 511724 KiB ``` </td></tr> </table> This perf tester is janky and unscientific enough that the apparent differences might just be noise. If it's not an order of magnitude, it's probably not real. ## Future possibilities * Currently, results are not shown until the descriptions are downloaded. Theoretically, the description-less results could be shown. But actually doing that, and making sure it works properly, would require extra work (we have to be careful to avoid layout jumps). * More than just descriptions can be sharded this way. But we have to be careful to make sure the size wins are worth the round trips. Ideally, data that’s needed only for display should be sharded while data needed for search isn’t. * [Full text search](https://internals.rust-lang.org/t/full-text-search-for-rustdoc-and-doc-rs/20427) also needs this kind of infrastructure. A good implementation might store a compressed bloom filter in the search index, then download the full keyword in shards. But, we have to be careful not just of the amount readers have to download, but also of the amount that [publishers](https://gist.github.com/notriddle/c289e77f3ed469d1c0238d1d135d49e1) have to store.
2024-03-16rustdoc-search: shard the search result descriptionsMichael Howell-1/+1
The descriptions are, on almost all crates[^1], the majority of the size of the search index, even though they aren't really used for searching. This makes it relatively easy to separate them into their own files. This commit also bumps us to ES8. Out of the browsers we support, all of them support async functions according to caniuse. https://caniuse.com/async-functions [^1]: <https://microsoft.github.io/windows-docs-rs/>, a crate with 44MiB of pure names and no descriptions for them, is an outlier and should not be counted.
2024-03-14Add comments explaining tier 1 PR checksChris Denton-1/+3
2024-03-14Check all tier 1 targets in PR CIChris Denton-0/+2
2024-02-11Gate PR CI on clippy correctness lintsJakub Beránek-5/+1
2023-12-16test `x clippy --stage 0` in ciJoshua Nelson-0/+6
2023-11-27Update reuse command to include submodules.Jonathan Pallant (Ferrous Systems)-1/+1
2023-06-12Publish docs as github artifacts during CITrevor Gross-0/+3
This PR saves library docs as github artifacts so they can be easily viewed for review. Discussed in <https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Building.20docs.20for.20PR.20CI>
2023-04-17Spelling src/ciJosh Soref-1/+1
* architecture * configures * preparation * toolstate * unknown Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-03-12Add rustdoc-gui eslint check into CIGuillaume Gomez-1/+2
2023-03-11Add rustdoc-js eslint check into CIGuillaume Gomez-1/+2
2023-02-25check is default to all targets nowyukang-2/+2
2023-02-24enable validate-mir-opts in mingw-checkyukang-1/+3
2023-01-29Rollup merge of #96763 - Abdur-rahmaanJ:patch-1, r=Mark-SimulacrumMatthias Krüger-6/+0
Fix maintainer validation message State clearly why maintainer verification is not activating, ruling out the user thinking they misconfigured something.
2023-01-22fix maintainer validation messageAbdur-Rahmaan Janhangeer-6/+0
fix remove token check for maintainers fix: rm validate_maintainers function
2023-01-16ci: upgrade mingw-check to ubuntu:22.04Josh Stone-141/+70
2023-01-10Check compiler docs in PR CIAlbert Larsan-0/+1
2022-12-22Run `tidy` in its own job in PR CIDeadbeef-1/+0
This duplicates mingw-check into two jobs where one job runs `tidy` only while the other job does not. The tidy job will not cancel other jobs on failure.
2022-12-18Auto merge of #105714 - jyn514:tidy-first, r=Mark-Simulacrumbors-1/+1
Run `x test tidy` sooner in mingw-check It takes less time to run than the other tests and is more likely to fail. `expand-yaml-anchors` is still run first to make sure the CI files are internally consistent. Note that changing to `--stage 0` doesn't actually do anything since bootstrap tools are always built with the bootstrap compiler, this just makes it less confusing. cc https://github.com/rust-lang/rust/pull/105058/commits/83bab41b5b2d4752d187dd91b05c88ac74cf3783
2022-12-16Test documentation of hidden items in stdChris Denton-1/+1
2022-12-14Run `x test tidy` sooner in mingw-checkJoshua Nelson-1/+1
It takes less time to run than the other tests and is more likely to fail. `expand-yaml-anchors` is still run first to make sure the CI files are internally consistent.
2022-12-02reduce docker image sizes by cleaning cache/squashing stepsklensy-4/+4
2022-09-04Test internal documentationChris Denton-1/+2
2022-07-18check REUSE compliance in CIPietro Albini-0/+176