diff --git a/.github/workflows/publish-pypi.yml b/.github/workflows/publish-pypi.yml new file mode 100644 index 000000000..74a8064b6 --- /dev/null +++ b/.github/workflows/publish-pypi.yml @@ -0,0 +1,38 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Upload Python Package + +on: + release: + types: [published] + +jobs: + pypi-publish: + name: Upload release to PyPI + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/p/omnigibson + permissions: + id-token: write # IMPORTANT: this permission is mandatory for trusted publishing + contents: read + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build package + run: python setup.py sdist + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@v1.10.2 diff --git a/.gitignore b/.gitignore index 49737def0..67383ad6a 100644 --- a/.gitignore +++ b/.gitignore @@ -72,6 +72,7 @@ gibson/assets notebook build dist +omnigibson.egg-info # Directories used for QC pipeline omnigibson/utils/data_utils/mesh_decimation/collision diff --git a/README.md b/README.md index 73338c51a..ac321eefa 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ ------- ### Latest Updates +- [10/01/24] **v1.1.0**: Major improvements, stability fixes, pip installation, and much more! [[release notes]](https://github.com/StanfordVL/OmniGibson/releases/tag/v1.1.0) + - [03/17/24] **v1.0.0**: First full release with 1,004 pre-sampled tasks, all 50 scenes, and many new objects! [[release notes]](https://github.com/StanfordVL/OmniGibson/releases/tag/v1.0.0) - [08/04/23] **v0.2.0**: More assets! 600 pre-sampled tasks, 7 new scenes, and many new objects 📈 [[release notes]](https://github.com/StanfordVL/OmniGibson/releases/tag/v0.2.0) diff --git a/docker/prod.Dockerfile b/docker/prod.Dockerfile index 5c087194e..debbf9d63 100644 --- a/docker/prod.Dockerfile +++ b/docker/prod.Dockerfile @@ -1,4 +1,4 @@ -FROM nvcr.io/nvidia/isaac-sim:4.0.0 +FROM nvcr.io/nvidia/isaac-sim:4.1.0 # Set up all the prerequisites. RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ diff --git a/docs/assets/robots/A1.png b/docs/assets/robots/A1.png new file mode 100644 index 000000000..856daa0cb Binary files /dev/null and b/docs/assets/robots/A1.png differ diff --git a/docs/assets/robots/R1.png b/docs/assets/robots/R1.png new file mode 100644 index 000000000..8733d8836 Binary files /dev/null and b/docs/assets/robots/R1.png differ diff --git a/docs/assets/robots/Stretch.png b/docs/assets/robots/Stretch.png new file mode 100644 index 000000000..79553b17c Binary files /dev/null and b/docs/assets/robots/Stretch.png differ diff --git a/docs/assets/robots/robot_family.png b/docs/assets/robots/robot_family.png index 68fa1e3e1..eb1197299 100644 Binary files a/docs/assets/robots/robot_family.png and b/docs/assets/robots/robot_family.png differ diff --git a/docs/miscellaneous/contact.md b/docs/miscellaneous/contact.md index b6ac6e39b..ea024a444 100644 --- a/docs/miscellaneous/contact.md +++ b/docs/miscellaneous/contact.md @@ -1,3 +1,7 @@ +--- +icon: material/email +--- + # **Contact** If you have any questions, comments, or concerns, please feel free to reach out to us by joining our Discord server: diff --git a/docs/miscellaneous/contributing.md b/docs/miscellaneous/contributing.md index 0303b279b..50a679c74 100644 --- a/docs/miscellaneous/contributing.md +++ b/docs/miscellaneous/contributing.md @@ -1,3 +1,7 @@ +--- +icon: material/arm-flex +--- + # **Contribution Guidelines** We sincerely welcome contributions of any form to OmniGibson, as our aim is to make it a more robust and useful resource for the community. We have always held the belief that a collective effort from the community is essential to tailor BEHAVIOR/OmniGibson to meet diverse needs and unlock its full potential. @@ -48,4 +52,18 @@ The BEHAVIOR suite has continuous integration running via Github Actions in cont * Docs builds are run on the behavior-website repo along with the rest of the website. * When GitHub releases are created, a source distribution will be packed and shipped on PyPI by a hosted runner -For more information about the workflows and runners, please reach out on our Discord channel. \ No newline at end of file +For more information about the workflows and runners, please reach out on our Discord channel. + +## **Release Process** +At the time of each release, we follow the below process: + +1. Update the version of OmniGibson in the pyproject.toml and __init__.py files. +2. Add a release note on the README.md file +3. Push to `og-develop` +4. Wait for all tests to finish, confirm they are passing, confirm docs build on behavior-website +5. Push `og-develop` to `main` +6. Click on create release on GitHub, tag the version starting with the letter `v` +7. Create release notes. You can use the automated release notes but edit to include the important info. +8. Create the release. +9. Wait for docker and PyPI releases to finish, confirm success +10. Announce on Discord, user channels. \ No newline at end of file diff --git a/docs/miscellaneous/faq.md b/docs/miscellaneous/faq.md index 3cdee453a..54de22e6e 100644 --- a/docs/miscellaneous/faq.md +++ b/docs/miscellaneous/faq.md @@ -1,3 +1,7 @@ +--- +icon: material/file-question +--- + # **Frequently Asked Questions** ## **What is the relationship between BEHAVIOR-1K and OmniGibson?** diff --git a/docs/miscellaneous/known_issues.md b/docs/miscellaneous/known_issues.md index d1b75b9a7..81c36fc6f 100644 --- a/docs/miscellaneous/known_issues.md +++ b/docs/miscellaneous/known_issues.md @@ -1,3 +1,7 @@ +--- +icon: octicons/question-16 +--- + # **Known Issues & Troubleshooting** ## 🤔 **Known Issues** diff --git a/docs/modules/robots.md b/docs/modules/robots.md index f075609f6..2306d8352 100644 --- a/docs/modules/robots.md +++ b/docs/modules/robots.md @@ -80,7 +80,7 @@ Controllers and sensors can be accessed directly via the `controllers` and `sens ## Types -**`OmniGibson`** currently supports 9 robots, consisting of 4 mobile robots, 2 manipulation robots, 2 mobile manipulation robots, and 1 anthropomorphic "robot" (a bimanual agent proxy used for VR teleoperation). Below, we provide a brief overview of each model: +**`OmniGibson`** currently supports 12 robots, consisting of 4 mobile robots, 3 manipulation robots, 4 mobile manipulation robots, and 1 anthropomorphic "robot" (a bimanual agent proxy used for VR teleoperation). Below, we provide a brief overview of each model: ### Mobile Robots These are navigation-only robots (an instance of [`LocomotionRobot`](../reference/robots/locomotion_robot.md)) that solely consist of a base that can move. @@ -170,6 +170,19 @@ These are manipulation-only robots (an instance of [`ManipulationRobot`](../refe +