Switch to side-by-side view

--- a
+++ b/.github/workflows/python-app.yml
@@ -0,0 +1,126 @@
+# This workflow will install Python dependencies, run tests
+
+name: Python application
+
+on:
+  push:
+    branches: [ "main" , "dev"]
+    paths-ignore:
+      - "docs/**"
+      - "**/README.md"
+
+  pull_request:
+    branches: [ "main" , "dev"]
+    paths-ignore:
+      - "docs/**"
+      - "**/README.md"
+
+permissions:
+  contents: read
+  pull-requests: write
+
+jobs:
+  build:
+    env:
+      DISPLAY: :0
+
+    defaults:
+      run:
+        shell: bash -l {0}
+
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os:
+          - macos-latest
+          - ubuntu-latest
+          - windows-latest
+
+    steps:
+    - name: Set environment variable for macOS
+      if: ${{ runner.os == 'macOS' }}
+      run: echo "SYSTEM_VERSION_COMPAT=0" >> $GITHUB_ENV
+
+    - name: Checkout repository and submodules
+      uses: actions/checkout@v4
+      with:
+        submodules: recursive
+
+    - name: Set up Python 3.8
+      uses: actions/setup-python@v3
+      with:
+        python-version: "3.8"
+
+    - name: Prepare Linux
+      if: ${{ runner.os == 'Linux' }}
+      run: |
+        sudo apt-get update -y -qq
+        sudo apt-get install -y xvfb x11-xserver-utils
+        sudo /usr/bin/Xvfb $DISPLAY -screen 0 1280x1024x24 &
+
+    - name: Enable Conda (macOS)
+      if: ${{ runner.os == 'macOS' }}
+      uses: conda-incubator/setup-miniconda@v3
+      with:
+        auto-activate-base: false
+        python-version: "3.8"
+
+    - name: Enable Conda (window/ubuntu)
+      if: ${{ runner.os != 'macOS' }}
+      uses: conda-incubator/setup-miniconda@v3
+      with:
+        auto-activate-base: false
+
+    - name: Test Conda
+      run: |
+          conda info
+          CONDA_DEFAULT_ENV=test_myosuite
+          conda create --name $CONDA_DEFAULT_ENV python=3.8 -y
+          conda activate $CONDA_DEFAULT_ENV
+
+#     - name: Prepare MacOS
+#       if: ${{ runner.os == 'macOS' }}
+#       run: |
+#         brew install --cask xquartz
+#         brew install hdf5
+#         export CPATH="/opt/homebrew/include/"
+#         export HDF5_DIR=/opt/homebrew/
+#         pip3 install h5py --only-binary h5py
+
+    - name: Install dependencies
+      run: |
+        conda activate $CONDA_DEFAULT_ENV
+        python3 -m pip install --upgrade pip
+        pip3 install -e .
+
+    - name: Run MuJoCo Rendering test
+      if: ${{ runner.os == 'Linux' }}
+      run: python3 -m mujoco.render_test
+
+    - name: Test myoapi
+      run: |
+        conda activate $CONDA_DEFAULT_ENV
+        python3 -m myosuite.tests.test_myoapi
+
+    - name: Run Test environment
+      run: |
+        python3 -m myosuite.tests.test_myo
+
+    - name: Install ffmpeg
+      if: ${{ runner.os == 'Linux' }}
+      run: |
+        sudo apt-get install --no-install-recommends ffmpeg && pip3 install ffmpeg scikit-video
+
+    - name: Test rendering
+      if: ${{ runner.os == 'Linux' }}
+      run: python3 -m myosuite.utils.examine_env -e myoElbowPose1D6MRandom-v0 -r offscreen -n 1
+
+    - name: Run Test jupyter-notebooks tutorials
+      if: ${{ runner.os == 'Linux' }}
+      run: |
+        source myosuite/tests/test_tutorials.sh
+
+    - name: Run Test gym/gymnasium + stable-baselines3
+      if: ${{ runner.os == 'Linux' }}
+      run: |
+        source myosuite/tests/test_versions.sh