Commit graph

446 commits

Author SHA1 Message Date
denobot 2c97831fec
1.40.5 (#22423)
Bumped versions for 1.40.5

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-15 10:52:42 +05:30
Asher Gomez 78ab022073 chore: move test_util/std to tests/util/std (#22402)
Note: tests are not the only part of the codebase that uses `std`. Other
parts, like `tools/`, do too. So, it could be argued that this is a
little misleading. Either way, I'm doing this as discussed with
@mmastrac.
2024-02-15 10:32:21 +05:30
Divy Srivastava c0760e381f feat: denort binary for deno compile (#22205)
This introduces the `denort` binary - a slim version of deno without
tooling. The binary is used as the default for `deno compile`.

Improves `deno compile` final size by ~2.5x (141 MB -> 61 MB) on Linux
x86_64.
2024-02-15 10:32:21 +05:30
Matt Mastracci 83074caed0 refactor: split integration tests from CLI (part 1) (#22308)
This PR separates integration tests from CLI tests into a new project
named `cli_tests`. This is a prerequisite for an integration test runner
that can work with either the CLI binary in the current project, or one
that is built ahead of time.

## Background

Rust does not have the concept of artifact dependencies yet
(https://github.com/rust-lang/cargo/issues/9096). Because of this, the
only way we can ensure a binary is built before running associated tests
is by hanging tests off the crate with the binary itself.

Unfortunately this means that to run those tests, you _must_ build the
binary and in the case of the deno executable that might be a 10 minute
wait in release mode.

## Implementation

To allow for tests to run with and without the requirement that the
binary is up-to-date, we split the integration tests into a project of
their own. As these tests would not require the binary to build itself
before being run as-is, we add a stub integration `[[test]]` target in
the `cli` project that invokes these tests using `cargo test`.

The stub test runner we add has `harness = false` so that we can get
access to a `main` function. This `main` function's sole job is to
`execvp` the command `cargo test -p deno_cli`, effectively "calling"
another cargo target.

This ensures that the deno executable is always correctly rebuilt before
running the stub test runner from `cli`, and gets us closer to be able
to run the entire integration test suite on arbitrary deno executables
(and therefore split the build into multiple phases).

The new `cli_tests` project lives within `cli` to avoid a large PR. In
later PRs, the test data will be split from the `cli` project. As there
are a few thousand files, it'll be better to do this as a completely
separate PR to avoid noise.
2024-02-15 10:32:20 +05:30
Matt Mastracci bb8114f49b chore: fix nightly bench (#22362)
This has been broken for a while, but I think `setup-deno` is all that
it needs.
2024-02-15 10:32:20 +05:30
Matt Mastracci 64b5c5f228 chore: Repair arm64-linux (#22352) 2024-02-15 10:32:20 +05:30
Matt Mastracci 75f2a9a7dc chore: bump action versions (#22354)
These should be our last node v16 actions.
2024-02-15 10:32:20 +05:30
Matt Mastracci ebecc26f0d chore: temporarily disable ARM64 (#22350)
While we figure out the build breakage.
2024-02-15 10:32:20 +05:30
Divy Srivastava 49214d309f
fix: ci workflow permissions (#22346) 2024-02-08 16:35:01 +05:30
denobot 32fa58564e
1.40.4 (#22344)
Bumped versions for 1.40.4

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-08 15:48:32 +05:30
Matt Mastracci 15d3e59a8f chore: remove wget from amd64 linux sysroot (#22336)
We don't need to wget `libdl` because we can just copy the one from
within the sysroot, saving two network accesses.

This allows amd64 to use the same build strategy as arm64.
2024-02-08 14:56:46 +05:30
Matt Mastracci cb0ea28322 chore: Update PR template (#22340)
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-08 14:56:46 +05:30
Matt Mastracci e48bfcabdb chore: Update PR template (#22339)
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
2024-02-08 14:56:46 +05:30
Matt Mastracci f6e70712e4 feat: use sysroot for ARM64 (#22329)
Follow-up from #22298: Use a sysroot to build ARM64 so we work all the
way back to Xenial.

We generate a sysroot ahead-of-time in the
https://github.com/denoland/deno_sysroot_build project and use that to
bootstrap a sysroot here.
2024-02-08 14:56:46 +05:30
Matt Mastracci 230db54f74 feat: ARM64 builds (#22298)
This implements officially blessed and tested deno binaries for ARM64. 

Thanks to @LukeChannings for his tireless work in maintaining the
deno-arm64 [1] repo, without which this project would have been far more
complicated. For those of you requiring support for older GLIBC
versions, that repo may still be required for the near future.

Limitations: 

- This initial build is built on Ubuntu 22 using the stock GLIBC, which
will limit the utility of these binaries in certain use-cases (eg: early
versions of Ubuntu). We will attempt to support earlier versions of
ARM64 GLIBC in a later revision.
- Like the stock Linux x64 build, this is not a static build and
requires GLIBC. Running on Alpine will require installation of GLIBC.
 
Fixes #1846, #4862 

[1] https://github.com/LukeChannings/deno-arm64
2024-02-08 14:56:46 +05:30
Asher Gomez ea7d36ba41 chore: upgrade CI workflows to use Node 20 (#22304)
No longer uses Node 16, which is deprecated.
2024-02-08 14:56:46 +05:30
denobot 887fd59486
1.40.3 (#22217)
Bumped versions for 1.40.3

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-01 11:57:58 +05:30
Luca Casonato e0447cd273 ci: upload canary latest to correct path (#22210)
Also don't always upload cache - this was a bug I introduced in the CI
refactor.
2024-02-01 11:19:56 +05:30
Luca Casonato 093ad9bac8 ci: fix canary uploads for unix (#22206) 2024-02-01 11:19:56 +05:30
Luca Casonato a924f69f07 ci: run macos aarch64 builds on PRs and main (#22201)
We run these on the free machines now.

Also cleans up some of our os and arch conditional step handling by
introducing a new `matrix.os` and `matrix.arch`.
2024-02-01 11:19:56 +05:30
Luca Casonato 9fabdb739a fix: canary for arm64 macos (#22187)
This doesn't actually trigger the arm64 build job nightly yet. I'll do
that in a follow up.
2024-02-01 11:19:56 +05:30
denobot 9a55a72cf1
1.40.2 (#22131)
Bumped versions for 1.40.2

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-26 17:36:20 +01:00
denobot b003ecec64
1.40.1 (#22103)
Bumped versions for 1.40.1

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-25 16:22:10 +01:00
denobot 9e575a2862
1.40.0 (#22096)
Bumped versions for 1.40.0

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-01-25 03:48:50 +01:00
denobot 248fb9c946
chore: forward v1.39.4 release commit to main (#21933)
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-01-13 20:32:50 -05:00
Bartek Iwańczuk 288774c5ed
chore: forward v1.39.3 to main (#21915)
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-01-12 19:13:18 +00:00
Marvin Hagemeister 1bafde9cd0
chore: fix issue template discord link (#21885)
<!--
Before submitting a PR, please read https://deno.com/manual/contributing

1. Give the PR a descriptive title.

  Examples of good title:
    - fix(std/http): Fix race condition in server
    - docs(console): Update docstrings
    - feat(doc): Handle nested reexports

  Examples of bad title:
    - fix #7123
    - update docs
    - fix bugs

2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
   all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->
Fixes https://github.com/denoland/deno/issues/21880
2024-01-10 12:43:45 +01:00
Bartek Iwańczuk 69959aa01f
fix: update deno_lint and swc (#21718)
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-01-09 23:20:52 +00:00
Bartek Iwańczuk aadcd64065
chore: forward v1.39.2 release commit to main (#21793) 2024-01-04 23:52:17 +00:00
Bartek Iwańczuk 42e2e318ab
chore: update SECURITY.md (#21766) 2024-01-02 17:53:01 -05:00
林炳权 96b581bdd2
chore: update to Rust 1.75 (#21731) 2024-01-01 23:22:48 +01:00
David Sherret 7e72f3af61
chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
Bartek Iwańczuk 760af934d9
chore: forward v1.39.1 commit to main (#21667) (#21671)
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2023-12-21 18:43:52 +00:00
denobot 04ba8df711
1.39.0 (#21560)
Bumped versions for 1.39.0

Please ensure:
- [x] Target branch is correct (`vX.XX` if a patch release, `main` if
minor)
- [x] Crate versions are bumped correctly
- [x] deno_std version is incremented in the code (see
`cli/deno_std.rs`)
- [x] Releases.md is updated correctly (think relevancy and remove
reverts)

To make edits to this PR:
```shell
git fetch upstream release_1_39.0 && git checkout -b release_1_39.0 upstream/release_1_39.0
```

cc @mmastrac

---------

Co-authored-by: mmastrac <mmastrac@users.noreply.github.com>
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-12-13 13:24:13 -07:00
Leo Kettmeir 3724d44d59
chore: bump rust to 1.74.1 (#21499) 2023-12-07 22:10:32 +01:00
Bartek Iwańczuk bd7a6bb016
chore: forward v1.38.5 release commit to main (#21472)
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2023-12-06 00:53:16 +00:00
Bartek Iwańczuk b69001bb49
chore: forward v1.38.4 release commit to main (#21400)
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2023-11-30 23:06:54 +01:00
David Sherret be4cd5eebf
chore: small changes to issue templates (#21372) 2023-11-28 09:57:21 -05:00
David Sherret 45fe3ccccf
chore: fix issue templates (#21367) 2023-11-28 02:09:58 +00:00
Birk Skyum bee1187093
chore: issue templates (#20850)
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2023-11-28 01:14:05 +00:00
denobot 2941dd7da8
chore: forward v1.38.3 release commit to main (#21320) 2023-11-24 07:09:15 +01:00
Matt Mastracci 778e4c9710
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
2023-11-23 15:30:26 -07:00
Matt Mastracci 93c4c1a2c1
chore: add aarch64-apple-darwin builds to ci (#21243)
This is a prerequisite to automatic code signing.
2023-11-19 16:11:20 -07:00
denobot 21e6a76519
chore: forward v1.38.2 release commit to main (#21236)
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-11-17 17:57:25 +09:00
denobot 1ece7dfd90
chore: forward v1.38.1 release commit to main (#21144)
This is the release commit being forwarded back to main for 1.38.1

Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2023-11-10 18:51:34 +05:30
denobot 41877a0b37
1.38.0 (#21051)
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-11-02 01:01:47 +00:00
David Sherret bc53b588d0
ci: remove "Test examples debug" (#20966)
It's too slow.
2023-10-24 22:12:25 +00:00
denobot 5da1bd802c
chore: forward v1.37.2 release commit to main (#20897)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-10-13 03:12:06 +00:00
林炳权 7a01799f49
chore: update to Rust 1.73 (#20781) 2023-10-05 14:49:09 -04:00
denobot 3b78981ffe
chore: forward v1.37.1 release commit to main (#20706)
This is the release commit being forwarded back to main for 1.37.1

Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2023-09-27 09:13:48 +00:00