-
Notifications
You must be signed in to change notification settings - Fork 63
Build wheels on test-infra machines #160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
scotts
merged 70 commits into
meta-pytorch:main
from
NicolasHug:wheel_build_on_test_infra
Aug 7, 2024
Merged
Changes from all commits
Commits
Show all changes
70 commits
Select commit
Hold shift + click to select a range
fca4a76
Added new wheel file.
ahmadsharif1 c228184
.
ahmadsharif1 d283eec
.
ahmadsharif1 8696a4a
.
ahmadsharif1 0b8d802
.
ahmadsharif1 96e9cd7
.
ahmadsharif1 b51813c
.
ahmadsharif1 aea47d2
.
ahmadsharif1 a70226e
.
ahmadsharif1 62977aa
.
ahmadsharif1 60c2f48
.
ahmadsharif1 74eada7
.
ahmadsharif1 9633dc6
.
ahmadsharif1 cb9d1a7
.
ahmadsharif1 3a0947c
.
ahmadsharif1 dd7a769
.
ahmadsharif1 623ed35
.
ahmadsharif1 9bb4181
Install ffmpeg in post build script
NicolasHug 6b619e3
disable xpu, rocm and cuda
NicolasHug 327d8a1
Add relocation script
NicolasHug bde5e86
moved to wheel/
NicolasHug e8231d6
debug
NicolasHug 188b097
disable relocate
NicolasHug 43c76c2
just install from normal conda
NicolasHug 1ec79f8
install 4.4.2
NicolasHug a99b5e1
.
NicolasHug 6171513
.
NicolasHug e27ff9a
use yum
NicolasHug cab67f3
try more stuff
NicolasHug 6f606aa
nosudo
NicolasHug 63d6790
fake smoke test
NicolasHug 728e892
cleanup
NicolasHug aea589f
try to run auditwheel?
NicolasHug 6d1e795
Add lots of exclude
NicolasHug 0bc9bb0
tree -> find
NicolasHug b60d6ec
cp wheelhouse
NicolasHug 89be61e
ugh
NicolasHug a2a56a5
lint
NicolasHug 0f110e4
.
NicolasHug ad97d46
Cleanup matrix
NicolasHug 888d28f
fix
NicolasHug 08ce172
.
NicolasHug 26d486e
Update current dev version to 0.0.2.dev
NicolasHug 3f6988f
Merge branch '002' into wheel_build_on_test_infra
NicolasHug 5f1a206
.
NicolasHug 0ecb50c
temporary disable cpp and docs job
NicolasHug d00fe32
Fix name?
NicolasHug bd2b7e4
Fallback to v3??
NicolasHug c2a327a
Fix wheel path
NicolasHug 540ee89
rename wheel
NicolasHug 699e414
debuv
NicolasHug 0e7db2d
Use old ubuntu???
NicolasHug 51f7b76
change permissions
NicolasHug e0e2cf8
again
NicolasHug 5fa1258
wtfff
NicolasHug ed37906
uhghusrghusrgh
NicolasHug 8935a41
sigh
NicolasHug 1334809
activate env??
NicolasHug f2a8fa0
.
NicolasHug 7687d6a
.
NicolasHug 5520f1f
.
NicolasHug 286a089
.
NicolasHug dcb3cba
.
NicolasHug 6782c0a
.
NicolasHug 794104a
.
NicolasHug ddd32b1
Add sanity checks
NicolasHug 7dbc1ec
cleanup
NicolasHug 5504491
rename file
NicolasHug dfcd305
last cleanup
NicolasHug ecc0bdc
Merge branch 'main' of github.com:pytorch/torchcodec into wheel_build…
NicolasHug File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/bin/bash | ||
|
||
export BUILD_AGAINST_ALL_FFMPEG_FROM_S3=1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# This is a fake smoke test that runs on the test-infra instances after we build | ||
# a wheel. We cannot run a real smoke test over there, because the machines are | ||
# too old to even install a proper ffmpeg version - and without ffmpeg, | ||
# importing torchcodec just fails. It's OK, we run our *entire* test suite on | ||
# those wheels anyway (on other machines). | ||
|
||
print("Success") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#!/bin/bash | ||
|
||
source .github/scripts/helpers.sh | ||
|
||
wheel_path=$(pwd)/$(find dist -type f -name "*.whl") | ||
echo "Wheel content:" | ||
unzip -l $wheel_path | ||
|
||
for ffmpeg_major_version in 4 5 6 7; do | ||
assert_in_wheel $wheel_path torchcodec/libtorchcodec${ffmpeg_major_version}.so | ||
done | ||
assert_not_in_wheel $wheel_path libtorchcodec.so | ||
|
||
for ffmpeg_so in libavcodec.so libavfilter.so libavformat.so libavutil.so libavdevice.so ; do | ||
assert_not_in_wheel $wheel_path $ffmpeg_so | ||
done | ||
|
||
assert_not_in_wheel $wheel_path "^test" | ||
assert_not_in_wheel $wheel_path "^doc" | ||
assert_not_in_wheel $wheel_path "^benchmarks" | ||
assert_not_in_wheel $wheel_path "^packaging" | ||
|
||
# See invoked python script below for details about this check. | ||
extracted_wheel_dir=$(mktemp -d) | ||
unzip -q $wheel_path -d $extracted_wheel_dir | ||
symbols_matches=$(find $extracted_wheel_dir | grep ".so$" | xargs objdump --syms | grep GLIBCXX_3.4.) | ||
python .github/scripts/check_glibcxx.py "$symbols_matches" | ||
|
||
echo "ls dist" | ||
ls dist | ||
|
||
old="linux_x86_64" | ||
new="manylinux_2_17_x86_64.manylinux2014_x86_64" | ||
echo "Replacing ${old} with ${new} in wheel name" | ||
mv dist/*${old}*.whl $(echo dist/*${old}*.whl | sed "s/${old}/${new}/") | ||
|
||
echo "ls dist" | ||
ls dist |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We move from 3.8-3.12 to just 3.9.
test-infra
doesn't support it.test-infra
will only generate job on 3.9 on PRs. Generating job for all python versions can be done by labeling the PR withciflow/binaries/all
(I will eventually document this). What we should be doing here is letting thisinstall-and-test
job rely on the exact same python versions that were generated by thegenerate-matrix
job. I haven't found a way to do that yet, but this should be doable, possibly requirement extensions totest-infra
.For now though, this is OK. We will still be able to checks all necessary python version when we push a new release.