Add workflow / recipe to generate Dask/distributed pre-releases#5636
Conversation
jakirkham
left a comment
There was a problem hiding this comment.
Looks good Charles! 😄
Had a few comments below.
Also have we tested this locally?
| export DASK_VERSION=`conda search --override-channels -c dask/label/dev dask-core | tail -n 1 | awk '{print $2}'` | ||
| export DASK_BUILD=`conda search --override-channels -c dask/label/dev dask-core | tail -n 1 | awk '{print $3}'` |
There was a problem hiding this comment.
Wonder if we can use bash arrays to compute this once and extract each piece from that result
There was a problem hiding this comment.
Perhaps something like this would work
| export DASK_VERSION=`conda search --override-channels -c dask/label/dev dask-core | tail -n 1 | awk '{print $2}'` | |
| export DASK_BUILD=`conda search --override-channels -c dask/label/dev dask-core | tail -n 1 | awk '{print $3}'` | |
| export DASK_INFO=( $(conda search --override-channels -c dask/label/dev dask-core | tail -n 1 | tr " " "\n") ) | |
| export DASK_VERSION="${DASK_INFO[1]}" | |
| export DASK_BUILD="${DASK_INFO[2]}" |
There was a problem hiding this comment.
Thanks @jakirkham 😄 was playing around with this myself, think we can get away with removing the tr command
There was a problem hiding this comment.
Was thinking we should be able to avoid tr, but wasn't seeing how to do that on my Mac. Maybe Linux is better behaved 😄
| && github.ref == 'refs/heads/main' | ||
| && github.repository == 'dask/distributed' | ||
| env: | ||
| ANACONDA_API_TOKEN: ${{ secrets.DASK_CONDA_TOKEN }} |
There was a problem hiding this comment.
Just a note, we already set this up in issue ( dask/dask#8504 ). So it should now just work here
Co-authored-by: jakirkham <jakirkham@gmail.com>
charlesbluca
left a comment
There was a problem hiding this comment.
I did test locally to ensure the packages built properly, will run another build and report the resulting packages (including the results of conda convert); that actually reminded me of a relevant question:
| cd build && conda convert linux-64/*.tar.bz2 -p osx-64 \ | ||
| -p osx-arm64 \ | ||
| -p linux-ppc64le \ | ||
| -p linux-aarch64 \ | ||
| -p win-64 |
There was a problem hiding this comment.
Should we include this in the testing that runs on PRs?
…uted into distributed-nightly
|
Ran the commands locally, we end up getting the following packages in $ find -type f -name "*.tar.bz2"
./win-64/distributed-2021.12.0a220112-py310_g3abe94e4_28.tar.bz2
./linux-ppc64le/distributed-2021.12.0a220112-py310_g3abe94e4_28.tar.bz2
./osx-64/distributed-2021.12.0a220112-py310_g3abe94e4_28.tar.bz2
./noarch/dask-2021.12.0a220112-py310_g3abe94e4_28.tar.bz2
./osx-arm64/distributed-2021.12.0a220112-py310_g3abe94e4_28.tar.bz2
./linux-aarch64/distributed-2021.12.0a220112-py310_g3abe94e4_28.tar.bz2
./linux-64/distributed-2021.12.0a220112-py310_g3abe94e4_28.tar.bz2Anything we're missing? EDIT: I notice that we're not building Distributed for 3.7-3.9 - this is unexpected to me, as I would think that specifying architecture in the build would be enough to build packages for these other versions; is there something else we need to specify here? EDIT 2: Completely forgot that we need a build config to control the python versions we build 😅 |
|
Looks like we should be building all the required packages now: $ find -type f -name "*.tar.bz2"
./win-64/distributed-2021.12.0a220112-py310_g1d4bd481_31.tar.bz2
./win-64/distributed-2021.12.0a220112-py39_g1d4bd481_31.tar.bz2
./win-64/distributed-2021.12.0a220112-py37_g1d4bd481_31.tar.bz2
./win-64/distributed-2021.12.0a220112-py38_g1d4bd481_31.tar.bz2
./linux-ppc64le/distributed-2021.12.0a220112-py310_g1d4bd481_31.tar.bz2
./linux-ppc64le/distributed-2021.12.0a220112-py39_g1d4bd481_31.tar.bz2
./linux-ppc64le/distributed-2021.12.0a220112-py37_g1d4bd481_31.tar.bz2
./linux-ppc64le/distributed-2021.12.0a220112-py38_g1d4bd481_31.tar.bz2
./osx-64/distributed-2021.12.0a220112-py310_g1d4bd481_31.tar.bz2
./osx-64/distributed-2021.12.0a220112-py39_g1d4bd481_31.tar.bz2
./osx-64/distributed-2021.12.0a220112-py37_g1d4bd481_31.tar.bz2
./osx-64/distributed-2021.12.0a220112-py38_g1d4bd481_31.tar.bz2
./noarch/dask-2021.12.0a220112-py310_g1d4bd481_31.tar.bz2
./osx-arm64/distributed-2021.12.0a220112-py310_g1d4bd481_31.tar.bz2
./osx-arm64/distributed-2021.12.0a220112-py39_g1d4bd481_31.tar.bz2
./osx-arm64/distributed-2021.12.0a220112-py37_g1d4bd481_31.tar.bz2
./osx-arm64/distributed-2021.12.0a220112-py38_g1d4bd481_31.tar.bz2
./linux-aarch64/distributed-2021.12.0a220112-py310_g1d4bd481_31.tar.bz2
./linux-aarch64/distributed-2021.12.0a220112-py39_g1d4bd481_31.tar.bz2
./linux-aarch64/distributed-2021.12.0a220112-py37_g1d4bd481_31.tar.bz2
./linux-aarch64/distributed-2021.12.0a220112-py38_g1d4bd481_31.tar.bz2
./linux-64/distributed-2021.12.0a220112-py310_g1d4bd481_31.tar.bz2
./linux-64/distributed-2021.12.0a220112-py39_g1d4bd481_31.tar.bz2
./linux-64/distributed-2021.12.0a220112-py37_g1d4bd481_31.tar.bz2
./linux-64/distributed-2021.12.0a220112-py38_g1d4bd481_31.tar.bz2 |
|
@jrbourbeau would you be able to take a look at this? JFYI not needed before the release |
|
Friendly nudge @jrbourbeau 🙂 |
|
@dask/maintenance could someone please review? 🙂 |
|
Thanks Julia! 😄 |
|
Looks like the upload itself is failing: https://github.com/dask/distributed/runs/5012056353?check_suite_focus=true Is EDIT: Just checked and it looks like it isn't - maybe we should opt to make |
|
Looks like we have another issue uploading |
|
Yeah it looks like I'll do this now and play around with uploading locally to see if there's a better solution |
|
JFYI this was done in PR ( #5741 ) and appears to be working. Thanks Charles for the hard work here! 😄 |
…#5636) As part of dask/community#76 and following up on dask/dask#8469, this PR adds: - Conda recipes in `continuous_integration` to build `distributed` and `dask` pre-release packages from the Git repo - A GHA workflow to build the pre-release packages as a check for PRs, and to upload these packages to the Dask channel under the `dev` label for pushes to `main`
As part of dask/community#76 and following up on dask/dask#8469, this PR adds:
Conda recipes in
continuous_integrationto builddistributedanddaskpre-release packages from the Git repoA GHA workflow to build the pre-release packages as a check for PRs, and to upload these packages to the Dask channel under the
devlabel for pushes tomainCloses #xxxx
Tests added / passed
Passes
pre-commit run --all-files