Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: denoland/deno
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.38.2
Choose a base ref
...
head repository: denoland/deno
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.38.3
Choose a head ref

Commits on Nov 24, 2023

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    7496bd8 View commit details
  2. chore: update to Rust 1.74 (#21210)

    Update to Rust 1.74
    linbingquan authored and bartlomieju committed Nov 24, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    53951d7 View commit details
  3. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    f7a9f43 View commit details
  4. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    d39a7f4 View commit details
  5. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    04054cd View commit details
  6. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    9c39172 View commit details
  7. chore(cli): Fix rename test for XFS (#21215)

    Renaming a directory to a path where a non-empty directory already
    exists was asserted to always fail with `ENOTEMPTY`
    According to glibc manual the function may also fail with `EEXIST` on
    "some other systems". One such case is using XFS [^1].
    
    This commit handles the EEXIST case.
    
    [^1]:
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/xfs/xfs_inode.c?h=v4.18&id=94710cac0ef4ee177a63b5227664b38c95bbf703#n3082
    egfx-notifications authored and bartlomieju committed Nov 24, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    0223ff3 View commit details
  8. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    9bc489d View commit details
  9. chore: bump deno_core (#21242)

    mmastrac authored and bartlomieju committed Nov 24, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    a59801e View commit details
  10. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    6a9a09c View commit details
  11. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    e635d66 View commit details
  12. fix(ext/http): fix crash in dropped Deno.serve requests (#21252)

    Fixes #21250
    
    We were attempting to recycle dropped resource responses too early.
    mmastrac authored and bartlomieju committed Nov 24, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    45be896 View commit details
  13. chore(ext/http): bump version for re-release (#21254)

    Syncs the changes to main for a deno_http version bump we needed to do.
    `deno_http` v1.20 was released from the v1.38 branch.
    mmastrac authored and bartlomieju committed Nov 24, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    c671d75 View commit details
  14. chore: update wpt (#21255)

    crowlKats authored and bartlomieju committed Nov 24, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    d36c7a2 View commit details
  15. Copy the full SHA
    5a9833c View commit details
  16. chore: add aarch64-apple-darwin builds to ci (#21243)

    This is a prerequisite to automatic code signing.
    mmastrac authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    cbe6c48 View commit details
  17. docs: typo fixlet in worker type comment (#21268)

    Jérôme Benoit authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    f02c09b View commit details
  18. Copy the full SHA
    0693bf7 View commit details
  19. fix(ext/url): add deno_console dependency for bench (#21266)

    Should fix the benchmarks.
    
    Signed-off-by: Kenta Moriuchi <moriken@kimamass.com>
    petamoriken authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    b5e88c1 View commit details
  20. chore: update deno_doc to 0.73.3 (#21262)

    Removes some unnecessary dependencies.
    bartlomieju committed Nov 24, 2023
    Copy the full SHA
    1dd0196 View commit details
  21. fix(ext/node): handle closing process.stdin more than once (#21267)

    Fixes #21112
    
    Aligns more towards what Node.js does. Closing stdin more than once is a
    nop.
    littledivy authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    b81757c View commit details
  22. Copy the full SHA
    3b022f3 View commit details
  23. docs(cli/args/flags.rs): Update dead link for run example (#21277)

    The `deno run` example in the help output uses
    https://deno.land/std/examples/welcome.ts which no longer exists.
    
    Replacing with https://examples.deno.land/hello-world.ts
    
    Signed-off-by: citrusmunch <citrusmunch@users.noreply.github.com>
    citrusmunch authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    bd03606 View commit details
  24. Copy the full SHA
    f5075d8 View commit details
  25. chore(tools): pull dprint from npm instead of third_party (#21281)

    This will allow this format script to work on more architectures. Also,
    this upgrade fixes the issue with the unstable incremental cache that's
    currently on main.
    dsherret authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    3a7839f View commit details
  26. ci: attempt to make repl tests less flaky at startup on the CI (#21291)

    This is an attempt to fix this flakiness:
    
    ```
    ---- integration::repl::assign_underscore stdout ----
    deno_exe path /home/runner/work/deno/deno/target/release/deno
    command /home/runner/work/deno/deno/target/release/deno repl
    command cwd /tmp/deno-cli-testK3YASC
    ------ Start Full Text ------
    ""
    ------- End Full Text -------
    Next text: ""
    thread 'integration::repl::assign_underscore' panicked at test_util/src/pty.rs:41:11:
    Timed out.
    stack backtrace:
    ```
    dsherret authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    ce5d624 View commit details
  27. chore: update to std@0.207.0 (#21284)

    Closes #21002
    iuioiua authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    503f661 View commit details
  28. docs: update Deno.* deprecation notices (#21283)

    This PR updates the deprecation notices to point to the same replacement
    APIs that the Standard Library points to. I've also tweaked the notices
    to be a little more presentable/navigatable.
    
    In particular, a follow-up PR in std will be made that documents the use
    of `toArrayBuffer()`.
    
    Closes #21193
    Towards #20976
    iuioiua authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    55eda68 View commit details
  29. Copy the full SHA
    cffdbe9 View commit details
  30. Copy the full SHA
    e7d2648 View commit details
  31. Revert "chore: update to std@0.207.0 (#21284)" (#21295)

    This reverts commit 20aa079.
    
    `main` has been failing consistenly on `kv_undelivered_test` and
    `serve_test` after this upgrade.
    bartlomieju committed Nov 24, 2023
    Copy the full SHA
    f16d6e6 View commit details
  32. refactor: replace deferred() from std/async with `Promise.withRes…

    …olvers()` (#21234)
    
    Closes #21041
    
    ---------
    
    Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
    iuioiua authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    ff8739d View commit details
  33. Copy the full SHA
    ffa7cf5 View commit details
  34. fix(ext/node): fix node:stream.Writable (#21297)

    This change applies the same fix as
    nodejs/node#46818, and the original example
    given in #20456 works as expected.
    
    closes #20456
    kt3k authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    d0574f7 View commit details
  35. chore: add upgrade prompt integration test (#21273)

    1. Adds an upgrade prompt integration test.
    1. Adds a test for when the upgrade check takes a long time in the repl.
    dsherret authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    e2cd312 View commit details
  36. fix(ext/http): avoid lockup in graceful shutdown (#21253)

    Follow-up to #20822. cc @lrowe 
    
    The `httpServerExplicitResourceManagement` tests were randomly failing
    on CI because of a race.
    
    The `drain` waker was missing wakeup events if the listeners shut down
    after the last HTTP response finished. If we lost the race (rare), the
    server Rc would be dropped and we wouldn't poll it again.
    
    This replaces the drain waker system with a signalling Rc that always
    resolves when the refcount is about to become 1.
    
    Fix verified by running serve tests in a loop:
    
    ```
    for i in {0..100}; do cargo run --features=__http_tracing -- test
     -A --unstable '/Users/matt/Documents/github/deno/deno/cli/tests/unit/ser
    ve_test.ts' --filter httpServerExplicitResourceManagement; done;
    ```
    mmastrac authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    113c715 View commit details
  37. chore: fix upgrade_prompt test on main (#21314)

    Issue was main does canary builds, which broke this test because it
    didn't handle searching for a canary release. Tested by building as
    canary locally.
    dsherret authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    93194b1 View commit details
  38. chore: provide error message when a deno.json will be auto-discovered…

    … by the test suite (#21315)
    dsherret authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    86a3047 View commit details
  39. Copy the full SHA
    e3989c0 View commit details
  40. chore: start codesigning mac release builds (#21303)

    - Adds a codesigning step to all mac targets
    - Adds a new ci-full label to the build to force aarch64 builds on any
    PR
    mmastrac authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    9d30227 View commit details
  41. feat(unstable): tar up directory with deno.json (#21228)

    Co-authored-by: David Sherret <dsherret@gmail.com>
    Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
    Co-authored-by: Luca Casonato <hello@lcas.dev>
    4 people committed Nov 24, 2023
    Copy the full SHA
    870eb91 View commit details
  42. Copy the full SHA
    2129f12 View commit details
  43. fix(runtime): snapshot options op missing during snapshot (#21235)

    Porting #21233 to release branch
    
    Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
    2 people authored and bartlomieju committed Nov 24, 2023
    Copy the full SHA
    2a55f50 View commit details
  44. 1.38.3 (#21319)

    denobot authored Nov 24, 2023
    Copy the full SHA
    3193e93 View commit details
Showing with 4,892 additions and 3,087 deletions.
  1. +2 −2 .dprint.json
  2. +100 −24 .github/workflows/ci.generate.ts
  3. +104 −74 .github/workflows/ci.yml
  4. +65 −236 Cargo.lock
  5. +25 −25 Cargo.toml
  6. +16 −0 Releases.md
  7. +1 −1 bench_util/Cargo.toml
  8. +4 −3 cli/Cargo.toml
  9. +43 −4 cli/args/flags.rs
  10. +14 −2 cli/bench/http.rs
  11. +1 −1 cli/cache/mod.rs
  12. +1 −1 cli/deno_std.rs
  13. +16 −0 cli/entitlements.plist
  14. +100 −48 cli/file_fetcher.rs
  15. +1 −1 cli/http_util.rs
  16. +1 −1 cli/lsp/config.rs
  17. +28 −20 cli/lsp/language_server.rs
  18. +19 −2 cli/lsp/mod.rs
  19. +4 −2 cli/lsp/repl.rs
  20. +4 −0 cli/main.rs
  21. +1 −1 cli/napi/sym/Cargo.toml
  22. +57 −67 cli/tests/integration/cert_tests.rs
  23. +5 −8 cli/tests/integration/compile_tests.rs
  24. +2 −2 cli/tests/integration/eval_tests.rs
  25. +4 −9 cli/tests/integration/flags_tests.rs
  26. +14 −23 cli/tests/integration/fmt_tests.rs
  27. +2 −2 cli/tests/integration/info_tests.rs
  28. +68 −83 cli/tests/integration/inspector_tests.rs
  29. +4 −4 cli/tests/integration/install_tests.rs
  30. +2 −5 cli/tests/integration/js_unit_tests.rs
  31. +1 −3 cli/tests/integration/lsp_tests.rs
  32. +2 −5 cli/tests/integration/node_unit_tests.rs
  33. +15 −30 cli/tests/integration/npm_tests.rs
  34. +22 −5 cli/tests/integration/repl_tests.rs
  35. +151 −223 cli/tests/integration/run_tests.rs
  36. +65 −0 cli/tests/integration/upgrade_tests.rs
  37. +12 −22 cli/tests/integration/vendor_tests.rs
  38. +36 −68 cli/tests/integration/watcher_tests.rs
  39. +5 −1 cli/tests/testdata/run/eval_context_throw_dom_exception.js.out
  40. +3 −4 cli/tests/testdata/run/tls_connecttls.js
  41. +3 −4 cli/tests/testdata/run/tls_starttls.js
  42. +4 −5 cli/tests/testdata/run/websocket_server_idletimeout.ts
  43. +2 −4 cli/tests/testdata/run/websocket_server_multi_field_connection_header_test.ts
  44. +41 −42 cli/tests/testdata/run/websocket_test.ts
  45. +1 −1 cli/tests/testdata/run/webstorage/serialization.ts.out
  46. +1 −1 cli/tests/testdata/test/steps/invalid_usage.out
  47. +16 −18 cli/tests/testdata/test/steps/invalid_usage.ts
  48. +2 −4 cli/tests/testdata/test/steps/passing_steps.ts
  49. +11 −14 cli/tests/testdata/workers/bench_round_robin.ts
  50. +96 −89 cli/tests/testdata/workers/test.ts
  51. +2 −5 cli/tests/unit/dom_exception_test.ts
  52. +10 −11 cli/tests/unit/http_test.ts
  53. +40 −40 cli/tests/unit/kv_test.ts
  54. +18 −7 cli/tests/unit/rename_test.ts
  55. +498 −443 cli/tests/unit/serve_test.ts
  56. +1 −2 cli/tests/unit/test_util.ts
  57. +25 −24 cli/tests/unit/tls_test.ts
  58. +29 −0 cli/tests/unit/tty_color_test.ts
  59. +43 −49 cli/tests/unit/websocket_test.ts
  60. +10 −11 cli/tests/unit_node/_fs/_fs_read_test.ts
  61. +6 −7 cli/tests/unit_node/async_hooks_test.ts
  62. +74 −73 cli/tests/unit_node/child_process_test.ts
  63. +2 −3 cli/tests/unit_node/events_test.ts
  64. +11 −14 cli/tests/unit_node/http2_test.ts
  65. +81 −82 cli/tests/unit_node/http_test.ts
  66. +2 −3 cli/tests/unit_node/internal/_randomFill_test.ts
  67. +4 −5 cli/tests/unit_node/internal/scrypt_test.ts
  68. +22 −21 cli/tests/unit_node/net_test.ts
  69. +4 −3 cli/tests/unit_node/process_test.ts
  70. +36 −1 cli/tests/unit_node/stream_test.ts
  71. +3 −4 cli/tests/unit_node/tls_test.ts
  72. +4 −5 cli/tests/unit_node/zlib_test.ts
  73. +1 −0 cli/tools/mod.rs
  74. +513 −0 cli/tools/registry/mod.rs
  75. +85 −0 cli/tools/registry/tar.rs
  76. +17 −1 cli/tools/repl/session.rs
  77. +9 −1 cli/tools/test/mod.rs
  78. +322 −105 cli/tools/upgrade.rs
  79. +24 −37 cli/tsc/dts/lib.deno.ns.d.ts
  80. +1 −1 cli/tsc/dts/lib.webworker.d.ts
  81. +196 −0 cli/util/import_map.rs
  82. +1 −0 cli/util/mod.rs
  83. +33 −4 cli/worker.rs
  84. +18 −0 ext/broadcast_channel/01_broadcast_channel.js
  85. +1 −1 ext/broadcast_channel/Cargo.toml
  86. +9 −0 ext/cache/01_cache.js
  87. +1 −1 ext/cache/Cargo.toml
  88. +1 −1 ext/console/Cargo.toml
  89. +1 −1 ext/cron/Cargo.toml
  90. +28 −11 ext/crypto/00_crypto.js
  91. +1 −1 ext/crypto/Cargo.toml
  92. +9 −6 ext/fetch/20_headers.js
  93. +12 −0 ext/fetch/21_formdata.js
  94. +15 −12 ext/fetch/23_request.js
  95. +18 −15 ext/fetch/23_response.js
  96. +21 −0 ext/fetch/27_eventsource.js
  97. +1 −1 ext/fetch/Cargo.toml
  98. +1 −1 ext/ffi/Cargo.toml
  99. +1 −1 ext/fs/Cargo.toml
  100. +1 −1 ext/http/Cargo.toml
  101. +12 −4 ext/http/http_next.rs
  102. +97 −49 ext/http/service.rs
  103. +1 −1 ext/io/12_io.js
  104. +1 −1 ext/io/Cargo.toml
  105. +1 −1 ext/kv/Cargo.toml
  106. +1 −1 ext/napi/Cargo.toml
  107. +1 −1 ext/net/Cargo.toml
  108. +1 −1 ext/node/Cargo.toml
  109. +4 −2 ext/node/polyfills/_stream.mjs
  110. +1 −30 ext/node/polyfills/_util/async.ts
  111. +5 −6 ext/node/polyfills/http.ts
  112. +12 −13 ext/node/polyfills/http2.ts
  113. +6 −7 ext/node/polyfills/internal/child_process.ts
  114. +4 −21 ext/node/polyfills/testing.ts
  115. +1 −1 ext/tls/Cargo.toml
  116. +22 −14 ext/url/00_url.js
  117. +20 −13 ext/url/01_urlpattern.js
  118. +2 −1 ext/url/Cargo.toml
  119. +1 −0 ext/url/benches/url_ops.rs
  120. +14 −11 ext/web/01_dom_exception.js
  121. +114 −75 ext/web/02_event.js
  122. +31 −0 ext/web/03_abort_signal.js
  123. +154 −85 ext/web/06_streams.js
  124. +66 −0 ext/web/08_text_encoding.js
  125. +25 −19 ext/web/09_file.js
  126. +18 −0 ext/web/10_filereader.js
  127. +28 −26 ext/web/12_location.js
  128. +27 −4 ext/web/13_message_port.js
  129. +37 −0 ext/web/14_compression.js
  130. +59 −48 ext/web/15_performance.js
  131. +2 −2 ext/web/Cargo.toml
  132. +1 −1 ext/webidl/Cargo.toml
  133. +21 −11 ext/websocket/01_websocket.js
  134. +14 −6 ext/websocket/02_websocketstream.js
  135. +1 −1 ext/websocket/Cargo.toml
  136. +6 −3 ext/webstorage/01_webstorage.js
  137. +1 −1 ext/webstorage/Cargo.toml
  138. +2 −1 runtime/Cargo.toml
  139. +23 −0 runtime/build.rs
  140. +5 −2 runtime/colors.rs
  141. +2 −2 runtime/js/10_permissions.js
  142. +19 −0 runtime/js/11_workers.js
  143. +29 −4 runtime/js/98_global_scope.js
  144. +1 −1 runtime/ops/bootstrap.rs
  145. +10 −3 runtime/web_worker.rs
  146. +10 −21 runtime/worker.rs
  147. +1 −1 rust-toolchain.toml
  148. +3 −21 test_ffi/tests/test.js
  149. +367 −165 test_util/src/builders.rs
  150. +2 −1 test_util/src/fs.rs
  151. +48 −137 test_util/src/lib.rs
  152. +18 −22 test_util/src/lsp.rs
  153. +43 −11 test_util/src/pty.rs
  154. +1 −1 test_util/wpt
  155. +10 −4 tools/format.js
  156. +19 −9 tools/util.js
  157. +4 −12 tools/wpt/expectation.json
4 changes: 2 additions & 2 deletions .dprint.json
Original file line number Diff line number Diff line change
@@ -55,10 +55,10 @@
"ext/websocket/autobahn/reports"
],
"plugins": [
"https://plugins.dprint.dev/typescript-0.88.3.wasm",
"https://plugins.dprint.dev/typescript-0.88.4.wasm",
"https://plugins.dprint.dev/json-0.19.0.wasm",
"https://plugins.dprint.dev/markdown-0.16.2.wasm",
"https://plugins.dprint.dev/toml-0.5.4.wasm",
"https://plugins.dprint.dev/exec-0.4.3.json@42343548b8022c99b1d750be6b894fe6b6c7ee25f72ae9f9082226dd2e515072"
"https://plugins.dprint.dev/exec-0.4.4.json@c207bf9b9a4ee1f0ecb75c594f774924baf62e8e53a2ce9d873816a408cecbf7"
]
}
124 changes: 100 additions & 24 deletions .github/workflows/ci.generate.ts
Original file line number Diff line number Diff line change
@@ -5,20 +5,24 @@ import * as yaml from "https://deno.land/std@0.173.0/encoding/yaml.ts";
// Bump this number when you want to purge the cache.
// Note: the tools/release/01_bump_crate_versions.ts script will update this version
// automatically via regex, so ensure that this line maintains this format.
const cacheVersion = 59;
const cacheVersion = 60;

const Runners = (() => {
const ubuntuRunner = "ubuntu-22.04";
const ubuntuXlRunner = "ubuntu-22.04-xl";
const windowsRunner = "windows-2022";
const windowsXlRunner = "windows-2022-xl";
const ubuntuRunner = "ubuntu-22.04";
const ubuntuXlRunner = "ubuntu-22.04-xl";
const windowsRunner = "windows-2022";
const windowsXlRunner = "windows-2022-xl";
const macosX86Runner = "macos-12";
// https://github.blog/2023-10-02-introducing-the-new-apple-silicon-powered-m1-macos-larger-runner-for-github-actions/
const macosArmRunner = "macos-13-xlarge";

const Runners = (() => {
return {
ubuntuXl:
`\${{ github.repository == 'denoland/deno' && '${ubuntuXlRunner}' || '${ubuntuRunner}' }}`,
ubuntu: ubuntuRunner,
linux: ubuntuRunner,
macos: "macos-12",
macos: macosX86Runner,
macosArm: macosArmRunner,
windows: windowsRunner,
windowsXl:
`\${{ github.repository == 'denoland/deno' && '${windowsXlRunner}' || '${windowsRunner}' }}`,
@@ -199,7 +203,7 @@ function skipJobsIfPrAndMarkedSkip(
return steps.map((s) =>
withCondition(
s,
"!(github.event_name == 'pull_request' && matrix.skip_pr)",
"!(matrix.skip)",
)
);
}
@@ -235,6 +239,7 @@ function removeSurroundingExpression(text: string) {

function handleMatrixItems(items: {
skip_pr?: string | true;
skip?: string;
os: string;
profile?: string;
job?: string;
@@ -246,27 +251,44 @@ function handleMatrixItems(items: {
return "ubuntu-x86_64";
} else if (os.includes("windows")) {
return "windows-x86_64";
} else if (os.includes("macos")) {
} else if (os == macosX86Runner) {
return "macos-x86_64";
} else if (os == macosArmRunner) {
return "macos-aarch64";
} else {
throw new Error(`Display name not found: ${os}`);
}
}

return items.map((item) => {
// use a free "ubuntu" runner on jobs that are skipped on pull requests
// use a free "ubuntu" runner on jobs that are skipped

// skip_pr is shorthand for skip = github.event_name == 'pull_request'.
if (item.skip_pr != null) {
let text = "${{ github.event_name == 'pull_request' && ";
if (typeof item.skip_pr === "string") {
text += removeSurroundingExpression(item.skip_pr.toString()) + " && ";
if (item.skip_pr === true) {
item.skip = "${{ github.event_name == 'pull_request' }}";
} else if (typeof item.skip_pr === "string") {
item.skip = "${{ github.event_name == 'pull_request' && " +
removeSurroundingExpression(item.skip_pr.toString()) + " }}";
}
delete item.skip_pr;
}

if (typeof item.skip === "string") {
let text =
"${{ (!contains(github.event.pull_request.labels.*.name, 'ci-full') && (";
text += removeSurroundingExpression(item.skip.toString()) + ")) && ";
text += `'${Runners.ubuntu}' || ${
removeSurroundingExpression(item.os)
} }}`;

// deno-lint-ignore no-explicit-any
(item as any).runner = text;
item.skip =
"${{ !contains(github.event.pull_request.labels.*.name, 'ci-full') && (" +
removeSurroundingExpression(item.skip.toString()) + ") }}";
}

return {
...item,
os_display_name: getOsDisplayName(item.os),
@@ -343,6 +365,13 @@ const ci = {
job: "test",
profile: "release",
skip_pr: true,
}, {
os: Runners.macosArm,
job: "test",
profile: "release",
// TODO(mmastrac): We don't want to run this M1 runner on every main commit because of the expense.
skip:
"${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/main' }}",
}, {
os: Runners.windows,
job: "test",
@@ -497,6 +526,22 @@ const ci = {
if: "matrix.use_sysroot",
...sysRootStep,
},
{
name: "Install aarch64 lld",
run: [
"./tools/install_prebuilt.js ld64.lld",
].join("\n"),
if: `matrix.os == '${macosArmRunner}'`,
},
{
name: "Install rust-codesign",
run: [
"./tools/install_prebuilt.js rcodesign",
"echo $GITHUB_WORKSPACE/third_party/prebuilt/mac >> $GITHUB_PATH",
].join("\n"),
if:
`(matrix.os == '${macosArmRunner}' || matrix.os == '${macosX86Runner}')`,
},
{
name: "Log versions",
run: [
@@ -601,9 +646,7 @@ const ci = {
if: [
"(matrix.job == 'test' || matrix.job == 'bench') &&",
"matrix.profile == 'release' && (matrix.use_sysroot ||",
"(github.repository == 'denoland/deno' &&",
"(github.ref == 'refs/heads/main' ||",
"startsWith(github.ref, 'refs/tags/'))))",
"github.repository == 'denoland/deno')",
].join("\n"),
run: [
// output fs space before and after building
@@ -642,28 +685,60 @@ const ci = {
].join("\n"),
},
{
name: "Pre-release (mac)",
name: "Pre-release (mac intel)",
if: [
"startsWith(matrix.os, 'macOS') &&",
`matrix.os == '${macosX86Runner}' &&`,
"matrix.job == 'test' &&",
"matrix.profile == 'release' &&",
"github.repository == 'denoland/deno' &&",
"(github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/'))",
"github.repository == 'denoland/deno'",
].join("\n"),
env: {
"APPLE_CODESIGN_KEY": "${{ secrets.APPLE_CODESIGN_KEY }}",
"APPLE_CODESIGN_PASSWORD": "${{ secrets.APPLE_CODESIGN_PASSWORD }}",
},
run: [
'echo "Key is $(echo $APPLE_CODESIGN_KEY | base64 -d | wc -c) bytes"',
"rcodesign sign target/release/deno " +
"--code-signature-flags=runtime " +
'--p12-password="$APPLE_CODESIGN_PASSWORD" ' +
"--p12-file=<(echo $APPLE_CODESIGN_KEY | base64 -d) " +
"--entitlements-xml-file=cli/entitlements.plist",
"cd target/release",
"zip -r deno-x86_64-apple-darwin.zip deno",
]
.join("\n"),
},
{
name: "Pre-release (mac aarch64)",
if: [
`matrix.os == '${macosArmRunner}' &&`,
"matrix.job == 'test' &&",
"matrix.profile == 'release' &&",
"github.repository == 'denoland/deno'",
].join("\n"),
env: {
"APPLE_CODESIGN_KEY": "${{ secrets.APPLE_CODESIGN_KEY }}",
"APPLE_CODESIGN_PASSWORD": "${{ secrets.APPLE_CODESIGN_PASSWORD }}",
},
run: [
'echo "Key is $(echo $APPLE_CODESIGN_KEY | base64 -d | wc -c) bytes"',
"rcodesign sign target/release/deno " +
"--code-signature-flags=runtime " +
'--p12-password="$APPLE_CODESIGN_PASSWORD" ' +
"--p12-file=<(echo $APPLE_CODESIGN_KEY | base64 -d) " +
"--entitlements-xml-file=cli/entitlements.plist",
"cd target/release",
"zip -r deno-aarch64-apple-darwin.zip deno",
]
.join("\n"),
},
{
name: "Pre-release (windows)",
if: [
"startsWith(matrix.os, 'windows') &&",
"matrix.job == 'test' &&",
"matrix.profile == 'release' &&",
"github.repository == 'denoland/deno' &&",
"(github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/'))",
"github.repository == 'denoland/deno'",
].join("\n"),
shell: "pwsh",
run:
@@ -718,7 +793,7 @@ const ci = {
name: "Test debug (fast)",
if: [
"matrix.job == 'test' && matrix.profile == 'debug' &&",
"!startsWith(matrix.os, 'ubuntu')",
"(startsWith(github.ref, 'refs/tags/') || !startsWith(matrix.os, 'ubuntu'))",
].join("\n"),
run: [
// Run unit then integration tests. Skip doc tests here
@@ -734,7 +809,7 @@ const ci = {
"matrix.job == 'test' && matrix.profile == 'release' &&",
"(matrix.use_sysroot || (",
"github.repository == 'denoland/deno' &&",
"github.ref == 'refs/heads/main' && !startsWith(github.ref, 'refs/tags/')))",
"!startsWith(github.ref, 'refs/tags/')))",
].join("\n"),
run: "cargo test --release --locked",
},
@@ -939,6 +1014,7 @@ const ci = {
"target/release/deno-x86_64-pc-windows-msvc.zip",
"target/release/deno-x86_64-unknown-linux-gnu.zip",
"target/release/deno-x86_64-apple-darwin.zip",
"target/release/deno-aarch64-apple-darwin.zip",
"target/release/deno_src.tar.gz",
"target/release/lib.deno.d.ts",
].join("\n"),
Loading