dask / distributed

A distributed task scheduler for Dask
https://distributed.dask.org
BSD 3-Clause "New" or "Revised" License
1.57k stars 718 forks source link

Automate GitHub Releases when new tags are pushed #8626

Closed jacobtomlinson closed 3 months ago

jacobtomlinson commented 5 months ago

In https://github.com/dask/dask/pull/11057 I added some GitHub Actions workflows to automatically create GitHub Releases when a new tag is pushed. Releases are just a page linked to a git tag with a title, some markdown text containing release notes and optional build artifacts for download.

We don't make use of the build artifact distribution in the Python community because we have PyPI and Conda Forge, but some users have expressed interest in having GitHub Releases as they show up in feeds, can be subscribed to, and generally make it easier to discover new releases in the GitHub ecosystem. See https://github.com/dask/dask/issues/10956.

In this PR I've added the same GitHub Actions here which will automatically create a GitHub Release when a new tag is pushed. The release notes will be populated with the titles of all the PRs that went into the release, and have a link to the main Dask changelog at the bottom.

My goal here is to give value to the users who want Releases, but without adding any burden to the maintainer making the release. So this is pretty much set and forget once merged.

I've also created a Release for 2024.4.2 here manually because the Action needs at least one existing release as a frame of reference to calculate the changelog. We can manually clean this up after the next release.

github-actions[bot] commented 5 months ago

Unit Test Results

_See test report for an extended history of previous test failures. This is useful for diagnosing flaky tests._

    29 files  +    2      29 suites  +2   10h 59m 20s :stopwatch: + 1h 3m 13s  4 060 tests  -     5   3 954 :white_check_mark: ±    0     97 :zzz:  -  12   9 :x: + 7  55 925 runs  +4 930  53 751 :white_check_mark: +5 027  2 162 :zzz:  - 107  12 :x: +10 

For more details on these failures, see this check.

Results for commit 11c01cad. ± Comparison against base commit 32de2451.

This pull request removes 20 and adds 15 tests. Note that renamed tests count towards both. ``` distributed.protocol.tests.test_arrow distributed.protocol.tests.test_collection distributed.protocol.tests.test_highlevelgraph distributed.protocol.tests.test_numpy distributed.protocol.tests.test_pandas distributed.shuffle.tests.test_graph distributed.shuffle.tests.test_merge distributed.shuffle.tests.test_merge_column_and_index distributed.shuffle.tests.test_metrics distributed.shuffle.tests.test_rechunk … ``` ``` distributed.diagnostics.tests.test_scheduler_plugin ‑ test_log_event_plugin_multiple_topics distributed.http.scheduler.tests.test_scheduler_http ‑ test_prometheus_collect_task_groups distributed.shuffle.tests.test_rechunk ‑ test_partial_rechunk_taskgroups distributed.shuffle.tests.test_shuffle ‑ test_error_receive[P2PConsistencyError] distributed.shuffle.tests.test_shuffle ‑ test_error_receive[ValueError] distributed.shuffle.tests.test_shuffle ‑ test_restarting_does_not_log_p2p_failed distributed.shuffle.tests.test_shuffle ‑ test_split_by_partition[False] distributed.shuffle.tests.test_shuffle ‑ test_split_by_partition[True] distributed.shuffle.tests.test_shuffle ‑ test_split_by_worker_empty distributed.shuffle.tests.test_shuffle ‑ test_split_by_worker_many_workers … ```
This pull request skips 1 test. ``` distributed.tests.test_nanny ‑ test_no_unnecessary_imports_on_worker[pandas] ```

:recycle: This comment has been updated with latest results.

hendrikmakait commented 3 months ago

@jacobtomlinson: Sorry for the late review, is this still up-to-date?

hendrikmakait commented 3 months ago

I suspect we need this as well? https://github.com/dask/dask/pull/11138

jacobtomlinson commented 3 months ago

Thanks @hendrikmakait. I've updated with the latest changes.