facebookresearch / pytorch3d

PyTorch3D is FAIR's library of reusable components for deep learning with 3D data
https://pytorch3d.org/
Other
8.85k stars 1.32k forks source link

convert circleci workflows to github actions #1779

Open robandpdx opened 7 months ago

robandpdx commented 7 months ago

This pull request converts the CircleCI workflows to GitHub actions workflows.

Notes

GPU runners are needed with the label 4-core-ubuntu-gpu-t4.

Two repo secrets are needed for docker hub authentication:

DOCKERHUB_USERNAME
DOCKERHUB_TOKEN

Most of the jobs run via a matrix consisting of python_version, pytorch_version, and cu_version. There are many exclude entries to limit combinations to only those that are run the circleci. As is, if one job in the matrix fails, the remaining jobs will be cancelled. This is probably desireable given these jobs run on expensive GPU runners. This behavior can be changed to allow jobs to complete regardless of some job failures. See handling failures for more information.

The binary_linux_conda_cuda in circleci pulls a docker image, then starts that docker image and runs tests inside of it. I didn't really see the point of this, so I chose to just simply run the tests inside the docker image.

Errors

I did my best to make all the jobs work, but lacking knowledge specific to this project makes it nearly impossible for me to get everything working. Someone with better knowledge of this project will need to address these error.

The following jobs fail with errors:

binary_linux_conda (3.8, 1.12.0, 113)
binary_linux_conda (3.8, 1.12.0, 116)
binary_linux_conda (3.8, 1.12.1, 113)
binary_linux_conda (3.8, 1.12.1, 116)
binary_linux_conda (3.8, 1.13.0, 116)
binary_linux_conda (3.8, 1.13.0, 117)
binary_linux_conda (3.8, 1.13.1, 116)
binary_linux_conda (3.8, 1.13.1, 117)
binary_linux_conda (3.8, 2.0.0, 117)
binary_linux_conda (3.8, 2.0.0, 118)
binary_linux_conda (3.8, 2.0.1, 117)
binary_linux_conda (3.8, 2.0.1, 118)
binary_linux_conda (3.9, 1.12.0, 113)
binary_linux_conda (3.9, 1.12.0, 116)
binary_linux_conda (3.9, 1.12.1, 113)
binary_linux_conda (3.9, 1.12.1, 116)
binary_linux_conda (3.9, 1.13.0, 116)
binary_linux_conda (3.9, 1.13.0, 117)
binary_linux_conda (3.9, 1.13.1, 116)
binary_linux_conda (3.9, 1.13.1, 117)
binary_linux_conda (3.9, 2.0.0, 117)
binary_linux_conda (3.9, 2.0.0, 118)
binary_linux_conda (3.9, 2.0.1, 117)
binary_linux_conda (3.9, 2.0.1, 118)
binary_linux_conda (3.10, 1.12.0, 113)
binary_linux_conda (3.10, 1.12.0, 116)
binary_linux_conda (3.10, 1.12.1, 113)
binary_linux_conda (3.10, 1.12.1, 116)
binary_linux_conda (3.10, 1.13.0, 116)
binary_linux_conda (3.10, 1.13.0, 117)
binary_linux_conda (3.10, 1.13.1, 116)
binary_linux_conda (3.10, 1.13.1, 117)
binary_linux_conda (3.10, 2.0.0, 117)
binary_linux_conda (3.10, 2.0.0, 118)
binary_linux_conda (3.10, 2.0.1, 117)
binary_linux_conda (3.10, 2.0.1, 118)

binary_linux_conda_cuda This job exceeds the 6 hour job execution time limit. See usage limits for more details. ``` Error: The operation was canceled. ```

Here is the latest workflow run in my fork.


https://fburl.com/workplace/f6mz6tmw