Skip to content

Commit

Permalink
Merge master.
Browse files Browse the repository at this point in the history
  • Loading branch information
mefyl committed Oct 3, 2024
2 parents 213eaa7 + 48abed7 commit 30846c0
Show file tree
Hide file tree
Showing 105 changed files with 2,030 additions and 1,446 deletions.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
75 changes: 43 additions & 32 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Main workflow
name: Builds, tests & co

on:
pull_request:
Expand All @@ -8,21 +8,23 @@ on:
- cron: 0 1 * * MON

jobs:
build:
build-and-test:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ocaml-compiler:
- 4.08.x
- 4.09.x
- 4.10.x
- 4.11.x
- 4.12.x
- 4.13.x
- 4.14.x
- 5.0.x
- "4.08"
- "4.09"
- "4.10"
- "4.11"
- "4.12"
- "4.13"
- "4.14"
- "5.0"
- "5.1"
- "5.2"
libev:
- true
- false
Expand All @@ -33,39 +35,39 @@ jobs:
*.opam
include:
- os: ubuntu-latest
ocaml-compiler: ocaml-variants.4.14.0+options,ocaml-option-flambda,ocaml-option-musl,ocaml-option-static
ocaml-compiler: ocaml-variants.5.2.0+options,ocaml-option-flambda,ocaml-option-musl,ocaml-option-static,ocaml-option-no-compression
libev: false
ppx: true
local-packages: |
*.opam
- os: macos-latest
ocaml-compiler: 4.14.x
ocaml-compiler: "5.2"
libev: true
ppx: true
local-packages: |
*.opam
- os: windows-latest
ocaml-compiler: 4.14.x
ocaml-compiler: "5.2"
libev: false
ppx: true
local-packages: |
*.opam
- os: ubuntu-latest
ocaml-compiler: 4.08.x
ocaml-compiler: "5.2"
libev: true
ppx: false
local-packages: |
*.opam
!lwt_ppx.opam
- os: macos-latest
ocaml-compiler: 4.08.x
ocaml-compiler: "5.2"
libev: true
ppx: false
local-packages: |
*.opam
!lwt_ppx.opam
- os: windows-latest
ocaml-compiler: 4.08.x
ocaml-compiler: "5.2"
libev: false
ppx: false
local-packages: |
Expand All @@ -75,38 +77,47 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Checkout tree
uses: actions/checkout@v4

- name: Hack Git CRLF for ocaml/setup-ocaml issue #529
if: ${{ startsWith(matrix.os, 'windows-') }}
run: |
& "C:\Program Files\Git\bin\git.exe" config --system core.autocrlf input
- name: Use OCaml ${{ matrix.ocaml-compiler }}
uses: ocaml/setup-ocaml@v2
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
opam-depext-flags: --with-test
opam-local-packages: ${{ matrix.local-packages }}

- run: opam depext conf-libev --install
- run: opam install conf-libev
if: ${{ matrix.libev == true }}

- run: opam install lwt_luv lwt_react lwt --deps-only --with-test
- run: opam install lwt_react lwt --deps-only --with-test

- run: opam install lwt_ppx --deps-only --with-test
- run: opam install lwt_ppx lwt_ppx_let --deps-only --with-test
if: ${{ matrix.ppx == true }}

- run: opam exec -- dune build --only-packages lwt_luv,lwt_react,lwt
- run: opam exec -- dune build --only-packages lwt_react,lwt

- run: opam exec -- dune build --only-packages lwt_ppx
if: ${{ matrix.ppx == true }}

- run: opam exec -- dune runtest --only-packages lwt_luv,lwt_react,lwt
- run: opam exec -- dune runtest --only-packages lwt_react,lwt

- run: opam exec -- dune runtest --only-packages lwt_ppx
if: ${{ matrix.ppx == true }}

- run: opam exec -- make ppx_let-test-deps ppx_let-test
- run: opam exec -- make ppx_let-test
if: ${{ matrix.ppx == true }}

lint-opam:
runs-on: ubuntu-latest

steps:
- name: Checkout tree
uses: actions/checkout@v4

- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: "5.2"
dune-cache: true

- uses: ocaml/setup-ocaml/lint-opam@v3
36 changes: 27 additions & 9 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,34 +1,52 @@
===== dev =====
===== 5.7.0 =====

====== Breaking API changes ======

* Lwt_result.catch now takes a function (unit -> 'a t) rather than a promise ('a t) (#965)
* Lwt_result.catch now takes a function (unit -> 'a t) rather than a promise ('a t). (#965)

* Remove the deprecated Lwt.result type (use Stdlib.result instead) (#968)
* Remove the deprecated Lwt.result type (use Stdlib.result instead). (#968)

* Remove the deprecated Lwt.make_value and Lwt.make_result functions (use Ok and Error instead) (#968)
* Remove the deprecated Lwt.make_value and Lwt.make_result functions (use Ok and Error instead). (#968)

* Remove the deprecated and unsafe waiter_of_wakener (keep the waiter around when you create the wakener instead) (#968)
* Remove the deprecated and unsafe waiter_of_wakener (keep the waiter around when you create the wakener instead). (#968)

* Remove the deprecated Lwt_stream.on_termination and Lwt_stream.on_terminate (bind to Lwt_stream.closed instead) (#968)
* Remove the deprecated Lwt_stream.on_termination and Lwt_stream.on_terminate (bind to Lwt_stream.closed instead). (#968)

* Remove the deprecated Lwt_stream.result type (use Stdlib.result instead) (#968)
* Remove the deprecated Lwt_stream.result type (use Stdlib.result instead). (#968)

* Remove the deprecated Lwt_stream.map_exn function (use wrap_exn instead) (#968)
* Remove the deprecated Lwt_stream.map_exn function (use wrap_exn instead). (#968)

====== Additions ======

* Lwt.reraise an exception raising function which preserves backtraces, recommended for use in Lwt.catch (#963)
* Lwt.Exception_filter for enabling/disabling system-exception catching. (#964)

* Lwt.reraise an exception raising function which preserves backtraces, recommended for use in Lwt.catch. (#963)

* Expose Lwt_io.delete_recursively for deleting a directory and its content recursively. (#984, Antonin Décimo)

* Lwt_preemptive.run_in_main_dont_wait to run a function in the main preemptive thread but without waiting for the result. (Kate Deplaix, #960)

* Lwt_unix.handle_signal and Lwt_engine.forwards_signal to allow other IO libraries (such as Eio) to share signal handlers. (Thomas Leonard, #993, #991)

====== Build ======

* Remove unused dependency in dune file. (#969, Kate Deplaix)

* Fix some compilation warnings for C stubs with OCaml 5. (#976, Antonin Décimo)

====== Fixes ======

* Use SA_ONSTACK on OCaml5 to avoid SIGSEGV. (Thomas Leonard, #993, #981)

* Fix race in worker loop. (Thomas Leonard, #993, #994)

* Fix marshall header size in Lwt_io.read_value. (Simmo Saan, #995)

====== Misc ======

* Resolve paused promises only once in main loop. This lets Lwt.pause behave identical to Lwt_unix.yield. (#917, Christopher Zimmermann, Favonia)


===== 5.6.1 =====

====== Fixes ======
Expand Down
12 changes: 12 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Code of Conduct

This project has adopted the [OCaml Code of Conduct](https://github.com/ocaml/code-of-conduct/blob/main/CODE_OF_CONDUCT.md).

# Enforcement

This project follows the OCaml Code of Conduct [enforcement policy](https://github.com/ocaml/code-of-conduct/blob/main/CODE_OF_CONDUCT.md#enforcement).

To report any violations, please contact Jérôme
Vouillon, Raphaël Proust, Vincent Balat, Hugo Heuzard and Gabriel
Radanne at <moderation [at] ocsigen [dot] org>
(or some of them individually).
5 changes: 0 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,6 @@ ppx_let-test :
dune build test/ppx_let/test.exe
dune exec test/ppx_let/test.exe

.PHONY : ppx_let-test-deps
ppx_let-test-deps :
opam install --yes --unset-root ppx_let

.PHONY: clean
clean :
dune clean
Expand All @@ -105,7 +101,6 @@ coverage :
rm -rf _build/default/test/ppx_expect
find _build -name '*.coverage' | xargs rm -f
BISECT_ENABLE=yes dune runtest --force
BISECT_ENABLE=yes dune build @runtest_libuv --force
bisect-ppx-report html $(EXPECTED_FILES)
bisect-ppx-report summary
@echo See _coverage/index.html
3 changes: 3 additions & 0 deletions docs/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
(documentation
(package lwt)
(mld_files :standard))
Loading

0 comments on commit 30846c0

Please sign in to comment.