Skip to content

Commit b78ca32

Browse files
authored
Merge branch 'rust-lang:master' into tidy-features-dump
2 parents fbf9653 + bcd0683 commit b78ca32

File tree

7,865 files changed

+542865
-94377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

7,865 files changed

+542865
-94377
lines changed

.github/pull_request_template.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ tracking issue or there are none, feel free to ignore this.
77
This PR will get automatically assigned to a reviewer. In case you would like
88
a specific user to review your work, you can assign it to them by using
99
10-
r\? <reviewer name> (with the `\` removed)
10+
r? <reviewer name>
1111
-->
1212
<!-- homu-ignore:end -->

.github/renovate.json5

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
// Let Renovatebot keep an opened issue that tracks our dependencies
4+
"dependencyDashboard": true,
5+
// Disable "normal" package updates
6+
"enabledManagers": [],
7+
// Update lockfiles once per week
8+
"lockFileMaintenance": {
9+
"enabled": true,
10+
"schedule": [
11+
"before 5am on Tuesday"
12+
]
13+
}
14+
}

.github/workflows/ci.yml

+11-10
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# and also on pushes to special branches (auto, try).
33
#
44
# The actual definition of the executed jobs is calculated by a Python
5-
# script located at src/ci/github-actions/calculate-job-matrix.py, which
5+
# script located at src/ci/github-actions/ci.py, which
66
# uses job definition data from src/ci/github-actions/jobs.yml.
77
# You should primarily modify the `jobs.yml` file if you want to modify
88
# what jobs are executed in CI.
@@ -46,7 +46,7 @@ jobs:
4646
# If you want to modify CI jobs, take a look at src/ci/github-actions/jobs.yml.
4747
calculate_matrix:
4848
name: Calculate job matrix
49-
runs-on: ubuntu-latest
49+
runs-on: ubuntu-24.04
5050
outputs:
5151
jobs: ${{ steps.jobs.outputs.jobs }}
5252
run_type: ${{ steps.jobs.outputs.run_type }}
@@ -56,18 +56,18 @@ jobs:
5656
- name: Calculate the CI job matrix
5757
env:
5858
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
59-
run: python3 src/ci/github-actions/calculate-job-matrix.py >> $GITHUB_OUTPUT
59+
run: python3 src/ci/github-actions/ci.py calculate-job-matrix >> $GITHUB_OUTPUT
6060
id: jobs
6161
job:
62-
name: ${{ matrix.name }}
62+
name: ${{ matrix.full_name }}
6363
needs: [ calculate_matrix ]
6464
runs-on: "${{ matrix.os }}"
6565
defaults:
6666
run:
6767
shell: ${{ contains(matrix.os, 'windows') && 'msys2 {0}' || 'bash' }}
68-
timeout-minutes: 240
68+
timeout-minutes: 360
6969
env:
70-
CI_JOB_NAME: ${{ matrix.image }}
70+
CI_JOB_NAME: ${{ matrix.name }}
7171
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
7272
# commit of PR sha or commit sha. `GITHUB_SHA` is not accurate for PRs.
7373
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
@@ -233,16 +233,17 @@ jobs:
233233
env:
234234
DATADOG_SITE: datadoghq.com
235235
DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
236-
DD_GITHUB_JOB_NAME: ${{ matrix.name }}
236+
DD_GITHUB_JOB_NAME: ${{ matrix.full_name }}
237237
run: |
238-
npm install -g @datadog/datadog-ci@^2.x.x
239-
python3 src/ci/scripts/upload-build-metrics.py build/cpu-usage.csv
238+
cd src/ci
239+
npm ci
240+
python3 scripts/upload-build-metrics.py ../../build/cpu-usage.csv
240241
241242
# This job isused to tell bors the final status of the build, as there is no practical way to detect
242243
# when a workflow is successful listening to webhooks only in our current bors implementation (homu).
243244
outcome:
244245
name: bors build finished
245-
runs-on: ubuntu-latest
246+
runs-on: ubuntu-24.04
246247
needs: [ calculate_matrix, job ]
247248
# !cancelled() executes the job regardless of whether the previous jobs passed or failed
248249
if: ${{ !cancelled() && contains(fromJSON('["auto", "try"]'), needs.calculate_matrix.outputs.run_type) }}

.github/workflows/dependencies.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
not-waiting-on-bors:
2828
if: github.repository_owner == 'rust-lang'
2929
name: skip if S-waiting-on-bors
30-
runs-on: ubuntu-latest
30+
runs-on: ubuntu-24.04
3131
steps:
3232
- env:
3333
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -47,7 +47,7 @@ jobs:
4747
if: github.repository_owner == 'rust-lang'
4848
name: update dependencies
4949
needs: not-waiting-on-bors
50-
runs-on: ubuntu-latest
50+
runs-on: ubuntu-24.04
5151
steps:
5252
- name: checkout the source code
5353
uses: actions/checkout@v4
@@ -94,7 +94,7 @@ jobs:
9494
if: github.repository_owner == 'rust-lang'
9595
name: amend PR
9696
needs: update
97-
runs-on: ubuntu-latest
97+
runs-on: ubuntu-24.04
9898
permissions:
9999
contents: write
100100
pull-requests: write

.github/workflows/ghcr.yml

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Mirror DockerHub images used by the Rust project to ghcr.io.
2+
# Images are available at https://github.com/orgs/rust-lang/packages.
3+
#
4+
# In some CI jobs, we pull images from ghcr.io instead of Docker Hub because
5+
# Docker Hub has a rate limit, while ghcr.io doesn't.
6+
# Those images are pushed to ghcr.io by this job.
7+
#
8+
# Note that authenticating to DockerHub or other registries isn't possible
9+
# for PR jobs, because forks can't access secrets.
10+
# That's why we use ghcr.io: it has no rate limit and it doesn't require authentication.
11+
12+
name: GHCR
13+
14+
on:
15+
workflow_dispatch:
16+
schedule:
17+
# Run daily at midnight UTC
18+
- cron: '0 0 * * *'
19+
20+
jobs:
21+
mirror:
22+
name: DockerHub mirror
23+
runs-on: ubuntu-24.04
24+
if: github.repository == 'rust-lang/rust'
25+
permissions:
26+
# Needed to write to the ghcr.io registry
27+
packages: write
28+
steps:
29+
- uses: actions/checkout@v4
30+
with:
31+
persist-credentials: false
32+
33+
- name: Log in to registry
34+
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
35+
36+
# Download crane in the current directory.
37+
# We use crane because it copies the docker image for all the architectures available in
38+
# DockerHub for the image.
39+
# Learn more about crane at
40+
# https://github.com/google/go-containerregistry/blob/main/cmd/crane/README.md
41+
- name: Download crane
42+
run: |
43+
curl -sL "https://github.com/google/go-containerregistry/releases/download/${VERSION}/go-containerregistry_${OS}_${ARCH}.tar.gz" | tar -xzf -
44+
env:
45+
VERSION: v0.20.2
46+
OS: Linux
47+
ARCH: x86_64
48+
49+
- name: Mirror DockerHub
50+
run: |
51+
# DockerHub image we want to mirror
52+
image="ubuntu:22.04"
53+
54+
# Mirror image from DockerHub to ghcr.io
55+
./crane copy \
56+
docker.io/${image} \
57+
ghcr.io/${{ github.repository_owner }}/${image}

.gitignore

+5-6
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ no_llvm_build
4646
/inst/
4747
/llvm/
4848
/mingw-build/
49-
build/
50-
!/compiler/rustc_mir_build/src/build/
49+
/build
5150
/build-rust-analyzer/
5251
/dist/
5352
/unicode-downloads
@@ -89,12 +88,12 @@ package.json
8988
tests/rustdoc-gui/src/**.lock
9089

9190
## direnv
92-
.envrc
93-
.direnv/
91+
/.envrc
92+
/.direnv/
9493

9594
## nix
96-
flake.nix
95+
/flake.nix
9796
flake.lock
98-
default.nix
97+
/default.nix
9998

10099
# Before adding new lines, see the comment at the top.

.gitmodules

+1-5
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,14 @@
2222
path = library/stdarch
2323
url = https://github.com/rust-lang/stdarch.git
2424
shallow = true
25-
[submodule "src/doc/rustc-dev-guide"]
26-
path = src/doc/rustc-dev-guide
27-
url = https://github.com/rust-lang/rustc-dev-guide.git
28-
shallow = true
2925
[submodule "src/doc/edition-guide"]
3026
path = src/doc/edition-guide
3127
url = https://github.com/rust-lang/edition-guide.git
3228
shallow = true
3329
[submodule "src/llvm-project"]
3430
path = src/llvm-project
3531
url = https://github.com/rust-lang/llvm-project.git
36-
branch = rustc/19.1-2024-09-17
32+
branch = rustc/19.1-2024-12-03
3733
shallow = true
3834
[submodule "src/doc/embedded-book"]
3935
path = src/doc/embedded-book

0 commit comments

Comments
 (0)