facebookresearch / habitat-sim

A flexible, high-performance 3D simulator for Embodied AI research.
https://aihabitat.org/
MIT License
2.48k stars 406 forks source link

convert circleci workflows to github actions #2326

Open robandpdx opened 5 months ago

robandpdx commented 5 months ago

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> 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& _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& _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& 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& 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

Checklist

aclegg3 commented 5 months ago

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 commented 4 months ago

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.