Skip to content
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

convert circleci workflows to github actions #2326

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

robandpdx
Copy link

Motivation and Context

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

I did my best to make it all work, but this project's build process is not quite within my area of expertise.

Notes

In the build_conda_binaries job, the use of the python common/delete_old_night_packages.py script was failing with a usage message. I didn't know how to fix that, so I left it commented out.

The nightly circleci worklfow becomes schedule trigger in github actions with a steps to set environment variables where necessary and if statements to toggle of/off jobs and steps as needed.

The version_conda_release circleci worklfow becomes push: tags trigger in github actions with a steps to set environment variables where necessary and if statements to toggle of/off jobs and steps as needed.

Errors

lab_build_habitat job fails running tests/test_baseline_agents.py and I don't understand why.

install_and_test_ubuntu job fails with the following error:

Platform::WindowlessEglApplication::tryCreateContext(): unable to find CUDA device 0 among 2 EGL devices in total
WindowlessContext: Unable to create windowless context

pre-commit job fails. I really don't understand how this job works at all.

clang_tidy job fails with many errors.

Errors
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AOAttributesManager.h:26:3: error: use '= default' to define a trivial default constructor [modernize-use-equals-default,-warnings-as-errors]
  AOAttributesManager()
  ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AbstractObjectAttributesManager.h:76:36: error: parameter 'assetAttributesMgr' is unused [misc-unused-parameters,-warnings-as-errors]
      AssetAttributesManager::cptr assetAttributesMgr) {
                                   ^~~~~~~~~~~~~~~~~~
                                    /*assetAttributesMgr*/
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:229:5: error: if with identical then and else branches [bugprone-branch-clone,-warnings-as-errors]
    if (isWireFrame) {
    ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:231:7: note: else branch starts here
    } else {
      ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:262:5: error: if with identical then and else branches [bugprone-branch-clone,-warnings-as-errors]
    if (isWireFrame) {
    ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:264:7: note: else branch starts here
    } else {
      ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:295:5: error: if with identical then and else branches [bugprone-branch-clone,-warnings-as-errors]
    if (isWireFrame) {
    ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:297:7: note: else branch starts here
    } else {
      ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:328:5: error: if with identical then and else branches [bugprone-branch-clone,-warnings-as-errors]
    if (isWireFrame) {
    ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:330:7: note: else branch starts here
    } else {
      ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:361:5: error: if with identical then and else branches [bugprone-branch-clone,-warnings-as-errors]
    if (isWireFrame) {
    ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/metadata/managers/AssetAttributesManager.h:363:7: note: else branch starts here
    } else {
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/physics/objectWrappers/ManagedPhysicsObjectBase.h:241:39: error: parameter 'angleInRad' is unused [misc-unused-parameters,-warnings-as-errors]
  void rotateXLocal(const Magnum::Rad angleInRad) {
                                      ^~~~~~~~~~
                                       /*angleInRad*/
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/physics/objectWrappers/ManagedPhysicsObjectBase.h:247:39: error: parameter 'angleInRad' is unused [misc-unused-parameters,-warnings-as-errors]
  void rotateYLocal(const Magnum::Rad angleInRad) {
                                      ^~~~~~~~~~
                                       /*angleInRad*/
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/physics/objectWrappers/ManagedPhysicsObjectBase.h:253:39: error: parameter 'angleInRad' is unused [misc-unused-parameters,-warnings-as-errors]
  void rotateZLocal(const Magnum::Rad angleInRad) {
                                      ^~~~~~~~~~
                                       /*angleInRad*/
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/scene/SceneManager.h:18:7: warning: constructor does not initialize these fields: sceneGraphs_ [cppcoreguidelines-pro-type-member-init]
class SceneManager {
      ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/scene/SceneNode.h:125:46: warning: narrowing conversion from 'uint32_t' (aka 'unsigned int') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
  virtual int getSemanticId() const { return semanticId_; }
                                             ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/scene/SceneNode.h:284:55: error: variable 'stack' is not initialized [cppcoreguidelines-init-variables,-warnings-as-errors]
  std::stack<std::reference_wrapper<const SceneNode>> stack;
                                                      ^
                                                            = 0
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/scene/SemanticScene.h:629:3: warning: constructor does not initialize these fields: numSrcVerts_ [cppcoreguidelines-pro-type-member-init]
  CCSemanticObject(uint32_t _colorInt, const std::set<uint32_t>& _vertSet)
  ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/scene/SemanticScene.h:629:66: error: parameter '_vertSet' is unused [misc-unused-parameters,-warnings-as-errors]
  CCSemanticObject(uint32_t _colorInt, const std::set<uint32_t>& _vertSet)
                                                                 ^~~~~~~~
                                                                  /*_vertSet*/
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sensor/Sensor.h:81:8: warning: constructor does not initialize these fields: shape [cppcoreguidelines-pro-type-member-init]
struct ObservationSpace {
       ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sensor/VisualSensor.h:110:22: error: method 'renderTarget' can be made const [readability-make-member-function-const,-warnings-as-errors]
  gfx::RenderTarget& renderTarget() {
                     ^
                                    const
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sim/ClassicReplayRenderer.h:28:5: warning: constructor does not initialize these fields: sensorMap_ [cppcoreguidelines-pro-type-member-init]
    explicit EnvironmentRecord(
    ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sim/ClassicReplayRenderer.h:30:13: error: parameter 'playerImplementation' is unused [misc-unused-parameters,-warnings-as-errors]
            playerImplementation)
            ^~~~~~~~~~~~~~~~~~~~
             /*playerImplementation*/
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sim/Simulator.h:46:7: warning: constructor does not initialize these fields: sceneID_, agents_, runtimePerfStatValues_ [cppcoreguidelines-pro-type-member-init]
class Simulator {
      ^
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sim/Simulator.h:114:22: error: method 'getActiveSemanticSceneGraph' can be made const [readability-make-member-function-const,-warnings-as-errors]
  scene::SceneGraph& getActiveSemanticSceneGraph() {
                     ^
                                                   const
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sim/Simulator.h:558:59: error: parameter 'pts' is unused [misc-unused-parameters,-warnings-as-errors]
                          const std::vector<Mn::Vector3>& pts,
                                                          ^~~
                                                           /*pts*/
/home/runner/work/habitat-sim/habitat-sim/habitat-sim/src/esp/sim/Simulator.h:559:58: error: parameter 'colorVec' is unused [misc-unused-parameters,-warnings-as-errors]
                          const std::vector<Mn::Color3>& colorVec,
                                                         ^~~~~~~~
                                                          /*colorVec*/

Error: Process completed with exit code 1.

https://fburl.com/workplace/f6mz6tmw

How Has This Been Tested

Here is a link to the latest workflow run in my fork.

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have completed my CLA (see CONTRIBUTING)
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Feb 23, 2024
@aclegg3
Copy link
Contributor

aclegg3 commented Feb 23, 2024

Hey @robandpdx, thanks for kicking off the migration. @jturner65 and I would be happy to help iterate here.

Perhaps a quick chat in the next week or two would be most efficient?

Note that our CI testing here is closely tied to our other repo: https://github.com/facebookresearch/habitat-lab so it makes sense to consider and unify both at the same time since much of the content overlaps.

@robandpdx
Copy link
Author

Note that our CI testing here is closely tied to our other repo: https://github.com/facebookresearch/habitat-lab so it makes sense to consider and unify both at the same time since much of the content overlaps.

@aclegg3 I'll work on habitat-lab next. Let's connect to discuss. Send invite to my username + @github.com. I'm on US east coast schedule for now.

@0mdc 0mdc self-requested a review February 27, 2024 21:23
python-version: '3.9.16'
- name: Conda Install OSX
run: |
curl -o ~/miniconda.sh -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Miniconda latest currently installs python 3.12 which breaks the osx build due to the removal of the deprecated pkgutil.ImpImporter class in 3.12. We should freeze our miniconda version to use python 3.10 . See this PR

Copy link
Author

@robandpdx robandpdx Apr 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jturner65 I'll see if we can use the conda-incubator/setup-miniconda action here. This will allow us better control of the python version installed.

Copy link
Author

@robandpdx robandpdx Apr 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robandpdx robandpdx force-pushed the convert-facebookresearch-habitat-sim-to-actions-20240212-220936 branch from bc56669 to 56381b9 Compare April 25, 2024 17:17
@robandpdx robandpdx force-pushed the convert-facebookresearch-habitat-sim-to-actions-20240212-220936 branch from 527b779 to e3f3c8e Compare April 25, 2024 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants