Skip to content

Commit f13f0ec

Browse files
Merge pull request #712 from denoland/main
Create a new pull request by comparing changes across two branches
2 parents 989a498 + 8bdcbec commit f13f0ec

File tree

1,019 files changed

+54290
-44703
lines changed

Some content is hidden

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

1,019 files changed

+54290
-44703
lines changed

.github/workflows/ci.generate.ts

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { stringify } from "jsr:@std/yaml@^0.221/stringify";
55
// Bump this number when you want to purge the cache.
66
// Note: the tools/release/01_bump_crate_versions.ts script will update this version
77
// automatically via regex, so ensure that this line maintains this format.
8-
const cacheVersion = 32;
8+
const cacheVersion = 39;
99

1010
const ubuntuX86Runner = "ubuntu-24.04";
1111
const ubuntuX86XlRunner = "ubuntu-24.04-xl";
@@ -14,7 +14,7 @@ const windowsX86Runner = "windows-2022";
1414
const windowsX86XlRunner = "windows-2022-xl";
1515
const macosX86Runner = "macos-13";
1616
const macosArmRunner = "macos-14";
17-
const selfHostedMacosArmRunner = "self-hosted";
17+
const selfHostedMacosArmRunner = "ghcr.io/cirruslabs/macos-runner:sonoma";
1818

1919
const Runners = {
2020
linuxX86: {
@@ -41,8 +41,14 @@ const Runners = {
4141
macosArm: {
4242
os: "macos",
4343
arch: "aarch64",
44+
runner: macosArmRunner,
45+
},
46+
macosArmSelfHosted: {
47+
os: "macos",
48+
arch: "aarch64",
49+
// Actually use self-hosted runner only in denoland/deno on `main` branch and for tags (release) builds.
4450
runner:
45-
`\${{ github.repository == 'denoland/deno' && startsWith(github.ref, 'refs/tags/') && '${selfHostedMacosArmRunner}' || '${macosArmRunner}' }}`,
51+
`\${{ github.repository == 'denoland/deno' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')) && '${selfHostedMacosArmRunner}' || '${macosArmRunner}' }}`,
4652
},
4753
windowsX86: {
4854
os: "windows",
@@ -124,9 +130,7 @@ cat /sysroot/.env
124130
# to build because the object formats are not compatible.
125131
echo "
126132
CARGO_PROFILE_BENCH_INCREMENTAL=false
127-
CARGO_PROFILE_BENCH_LTO=false
128133
CARGO_PROFILE_RELEASE_INCREMENTAL=false
129-
CARGO_PROFILE_RELEASE_LTO=false
130134
RUSTFLAGS<<__1
131135
-C linker-plugin-lto=true
132136
-C linker=clang-${llvmVersion}
@@ -150,7 +154,7 @@ RUSTDOCFLAGS<<__1
150154
$RUSTFLAGS
151155
__1
152156
CC=/usr/bin/clang-${llvmVersion}
153-
CFLAGS=-flto=thin $CFLAGS
157+
CFLAGS=$CFLAGS
154158
" > $GITHUB_ENV`,
155159
};
156160

@@ -384,7 +388,7 @@ const ci = {
384388
job: "test",
385389
profile: "debug",
386390
}, {
387-
...Runners.macosArm,
391+
...Runners.macosArmSelfHosted,
388392
job: "test",
389393
profile: "release",
390394
skip_pr: true,
@@ -486,7 +490,7 @@ const ci = {
486490
},
487491
{
488492
name: "Cache Cargo home",
489-
uses: "actions/cache@v4",
493+
uses: "cirruslabs/cache@v4",
490494
with: {
491495
// See https://doc.rust-lang.org/cargo/guide/cargo-home.html#caching-the-cargo-home-in-ci
492496
// Note that with the new sparse registry format, we no longer have to cache a `.git` dir
@@ -648,6 +652,14 @@ const ci = {
648652
"cache-path": "./target",
649653
},
650654
},
655+
{
656+
name: "Set up playwright cache",
657+
uses: "actions/cache@v4",
658+
with: {
659+
path: "./.ms-playwright",
660+
key: "playwright-${{ runner.os }}-${{ runner.arch }}",
661+
},
662+
},
651663
{
652664
name: "test_format.js",
653665
if: "matrix.job == 'lint' && matrix.os == 'linux'",
@@ -1093,6 +1105,26 @@ const ci = {
10931105
},
10941106
]),
10951107
},
1108+
wasm: {
1109+
name: "build wasm32",
1110+
needs: ["pre_build"],
1111+
if: "${{ needs.pre_build.outputs.skip_build != 'true' }}",
1112+
"runs-on": ubuntuX86Runner,
1113+
"timeout-minutes": 30,
1114+
steps: skipJobsIfPrAndMarkedSkip([
1115+
...cloneRepoStep,
1116+
installRustStep,
1117+
{
1118+
name: "Install wasm target",
1119+
run: "rustup target add wasm32-unknown-unknown",
1120+
},
1121+
{
1122+
name: "Cargo build",
1123+
// we want this crate to be wasm compatible
1124+
run: "cargo build --target wasm32-unknown-unknown -p deno_resolver",
1125+
},
1126+
]),
1127+
},
10961128
"publish-canary": {
10971129
name: "publish canary",
10981130
"runs-on": ubuntuX86Runner,

.github/workflows/ci.yml

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ jobs:
6868
skip: '${{ !contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'') }}'
6969
- os: macos
7070
arch: aarch64
71-
runner: '${{ github.repository == ''denoland/deno'' && startsWith(github.ref, ''refs/tags/'') && ''self-hosted'' || ''macos-14'' }}'
71+
runner: macos-14
7272
job: test
7373
profile: debug
7474
- os: macos
7575
arch: aarch64
76-
runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'')) && ''ubuntu-24.04'' || github.repository == ''denoland/deno'' && startsWith(github.ref, ''refs/tags/'') && ''self-hosted'' || ''macos-14'' }}'
76+
runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'')) && ''ubuntu-24.04'' || github.repository == ''denoland/deno'' && (github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ''ghcr.io/cirruslabs/macos-runner:sonoma'' || ''macos-14'' }}'
7777
job: test
7878
profile: release
7979
skip: '${{ !contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'') }}'
@@ -175,7 +175,7 @@ jobs:
175175
tar --exclude=".git*" --exclude=target --exclude=third_party/prebuilt \
176176
-czvf target/release/deno_src.tar.gz -C .. deno
177177
- name: Cache Cargo home
178-
uses: actions/cache@v4
178+
uses: cirruslabs/cache@v4
179179
with:
180180
path: |-
181181
~/.cargo/.crates.toml
@@ -184,8 +184,8 @@ jobs:
184184
~/.cargo/registry/index
185185
~/.cargo/registry/cache
186186
~/.cargo/git/db
187-
key: '32-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-${{ hashFiles(''Cargo.lock'') }}'
188-
restore-keys: '32-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-'
187+
key: '39-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-${{ hashFiles(''Cargo.lock'') }}'
188+
restore-keys: '39-cargo-home-${{ matrix.os }}-${{ matrix.arch }}-'
189189
if: '!(matrix.skip)'
190190
- uses: dsherret/rust-toolchain-file@v1
191191
if: '!(matrix.skip)'
@@ -307,9 +307,7 @@ jobs:
307307
# to build because the object formats are not compatible.
308308
echo "
309309
CARGO_PROFILE_BENCH_INCREMENTAL=false
310-
CARGO_PROFILE_BENCH_LTO=false
311310
CARGO_PROFILE_RELEASE_INCREMENTAL=false
312-
CARGO_PROFILE_RELEASE_LTO=false
313311
RUSTFLAGS<<__1
314312
-C linker-plugin-lto=true
315313
-C linker=clang-19
@@ -333,7 +331,7 @@ jobs:
333331
$RUSTFLAGS
334332
__1
335333
CC=/usr/bin/clang-19
336-
CFLAGS=-flto=thin $CFLAGS
334+
CFLAGS=$CFLAGS
337335
" > $GITHUB_ENV
338336
- name: Remove macOS cURL --ipv4 flag
339337
run: |-
@@ -379,12 +377,18 @@ jobs:
379377
!./target/*/*.zip
380378
!./target/*/*.tar.gz
381379
key: never_saved
382-
restore-keys: '32-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-'
380+
restore-keys: '39-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-'
383381
- name: Apply and update mtime cache
384382
if: '!(matrix.skip) && (!startsWith(github.ref, ''refs/tags/''))'
385383
uses: ./.github/mtime_cache
386384
with:
387385
cache-path: ./target
386+
- name: Set up playwright cache
387+
uses: actions/cache@v4
388+
with:
389+
path: ./.ms-playwright
390+
key: 'playwright-${{ runner.os }}-${{ runner.arch }}'
391+
if: '!(matrix.skip)'
388392
- name: test_format.js
389393
if: '!(matrix.skip) && (matrix.job == ''lint'' && matrix.os == ''linux'')'
390394
run: deno run --allow-write --allow-read --allow-run --allow-net ./tools/format.js --check
@@ -689,7 +693,34 @@ jobs:
689693
!./target/*/gn_root
690694
!./target/*/*.zip
691695
!./target/*/*.tar.gz
692-
key: '32-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}'
696+
key: '39-cargo-target-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.profile }}-${{ matrix.job }}-${{ github.sha }}'
697+
wasm:
698+
name: build wasm32
699+
needs:
700+
- pre_build
701+
if: '${{ needs.pre_build.outputs.skip_build != ''true'' }}'
702+
runs-on: ubuntu-24.04
703+
timeout-minutes: 30
704+
steps:
705+
- name: Configure git
706+
run: |-
707+
git config --global core.symlinks true
708+
git config --global fetch.parallel 32
709+
if: '!(matrix.skip)'
710+
- name: Clone repository
711+
uses: actions/checkout@v4
712+
with:
713+
fetch-depth: 5
714+
submodules: false
715+
if: '!(matrix.skip)'
716+
- uses: dsherret/rust-toolchain-file@v1
717+
if: '!(matrix.skip)'
718+
- name: Install wasm target
719+
run: rustup target add wasm32-unknown-unknown
720+
if: '!(matrix.skip)'
721+
- name: Cargo build
722+
run: cargo build --target wasm32-unknown-unknown -p deno_resolver
723+
if: '!(matrix.skip)'
693724
publish-canary:
694725
name: publish canary
695726
runs-on: ubuntu-24.04

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,7 @@ junit.xml
3535

3636
# Jupyter files
3737
.ipynb_checkpoints/
38-
Untitled*.ipynb
38+
Untitled*.ipynb
39+
40+
# playwright browser binary cache
41+
/.ms-playwright

0 commit comments

Comments
 (0)