mirror of
https://github.com/jeertmans/manim-slides.git
synced 2025-09-19 12:44:11 +08:00
chore(version): fixing all CI tests (#76)
* fix(ci): add Ubuntu dep and change pip install * fix(ci): typo * fix(ci): add missing deps for Ubuntu * fix(ci): typo in pkg name * fix(ci): trying to install manimpango * fix(ci): append bin to path on MacOS * fix(ci): install Python setup tool * try(ci): trying some stuff * fix(ci): remove useless pkgs * fix(ci): check manimpango and remove pyopengl * try(ci): try fix * try(ci): cleaner workflow * fix(ci): missing dollar * try(ci): minimal platform * try(ci): test * fix(ci): reset offscreen option * fix(ci): add opengl dep * fix(ci): xvfb for pyglet * fix(ci): correctly set env var * try(ci): set DISPLAY env var at the beginning * test(ci): switch minimal to offscreen * test(ci): remove QT debug env var * try(ci): fixing manimgl issue * Revert "try(ci): fixing manimgl issue" This reverts commit f76c05897013bd804810c7153953bde4c8715af7. * try(ci): manimgl to manim-render * try(ci): verbose * fix(ci): update linux deps * fix(ci): typo * fix(ci): typo in deps * fix(ci): typo * fix(ci): test other deps * test(ci): install manimpango * try(ci): test * test(ci): print help * test(ci): reset verbose mode * fix(ci): typo * chore(setup): use poetry * chore(setup): cache installs * fix(ci): swap order * fix(ci): poetry install * chore(setup): add manim/manimgl to dev-deps * try(ci): some test * try(ci): import two maybe conflicting packages * fix(ci): typo in cmd * fix(ci): only check if manimgl * fix(ci): remove useless check
This commit is contained in:
104
.github/workflows/test_examples.yml
vendored
104
.github/workflows/test_examples.yml
vendored
@ -2,6 +2,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- '**.py'
|
- '**.py'
|
||||||
|
- '.github/workflows/test_examples.yml'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
name: Test Examples
|
name: Test Examples
|
||||||
@ -9,6 +10,8 @@ name: Test Examples
|
|||||||
env:
|
env:
|
||||||
QT_QPA_PLATFORM: offscreen
|
QT_QPA_PLATFORM: offscreen
|
||||||
MANIM_SLIDES_VERBOSITY: debug
|
MANIM_SLIDES_VERBOSITY: debug
|
||||||
|
PYTHONFAULTHANDLER: 1
|
||||||
|
DISPLAY: ":99"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-examples:
|
build-examples:
|
||||||
@ -24,9 +27,6 @@ jobs:
|
|||||||
# Your graphics drivers do not support OpenGL 2.0.
|
# Your graphics drivers do not support OpenGL 2.0.
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
manim: manimgl
|
manim: manimgl
|
||||||
# manimgl seems to have problems with Python 3.11
|
|
||||||
- manim: manimgl
|
|
||||||
pyversion: '3.11'
|
|
||||||
# We only test Python 3.11 on Windows and MacOS
|
# We only test Python 3.11 on Windows and MacOS
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
pyversion: '3.8'
|
pyversion: '3.8'
|
||||||
@ -46,64 +46,72 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Poetry
|
||||||
|
run: pipx install poetry
|
||||||
- name: Install Python
|
- name: Install Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.pyversion }}
|
python-version: ${{ matrix.pyversion }}
|
||||||
- name: Append to Path on MacOS and Ubuntu
|
cache: 'poetry'
|
||||||
if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest'
|
|
||||||
|
# Path related stuff
|
||||||
|
- name: Append to Path on MacOS
|
||||||
|
if: matrix.os == 'macos-latest'
|
||||||
|
run: |
|
||||||
|
echo "${HOME}/.local/bin" >> $GITHUB_PATH
|
||||||
|
echo "/Users/runner/Library/Python/${{ matrix.pyversion }}/bin" >> $GITHUB_PATH
|
||||||
|
- name: Append to Path on Ubuntu
|
||||||
|
if: matrix.os == 'ubuntu-latest'
|
||||||
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH
|
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH
|
||||||
- name: Append to Path on Windows
|
- name: Append to Path on Windows
|
||||||
if: matrix.os == 'windows-latest'
|
if: matrix.os == 'windows-latest'
|
||||||
run: echo "${HOME}/.local/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
run: echo "${HOME}/.local/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
||||||
- name: Install MacOS dependencies (manim only)
|
|
||||||
|
# OS depedencies
|
||||||
|
- name: Install manim dependencies on MacOs
|
||||||
if: matrix.os == 'macos-latest' && matrix.manim == 'manim'
|
if: matrix.os == 'macos-latest' && matrix.manim == 'manim'
|
||||||
run: brew install py3cairo
|
run: brew install ffmpeg py3cairo
|
||||||
- name: Install MacOS dependencies
|
- name: Install manimgl dependencies on MacOS
|
||||||
if: matrix.os == 'macos-latest'
|
if: matrix.os == 'macos-latest' && matrix.manim == 'manimgl'
|
||||||
run: brew install ffmpeg
|
run: brew install ffmpeg
|
||||||
- name: Install Ubuntu dependencies
|
- name: Install manim dependencies on Ubuntu
|
||||||
if: matrix.os == 'ubuntu-latest'
|
if: matrix.os == 'ubuntu-latest' && matrix.manim == 'manim'
|
||||||
run: sudo apt install libcairo2-dev libpango1.0-dev ffmpeg freeglut3-dev xvfb
|
run: |
|
||||||
|
sudo apt-get install libcairo2-dev libpango1.0-dev ffmpeg freeglut3-dev
|
||||||
|
- name: Install manimgl dependencies on Ubuntu
|
||||||
|
if: matrix.os == 'ubuntu-latest' && matrix.manim == 'manimgl'
|
||||||
|
run: |
|
||||||
|
sudo apt-get install libpango1.0-dev ffmpeg freeglut3-dev
|
||||||
|
- name: Install xvfb on Ubuntu
|
||||||
|
if: matrix.os == 'ubuntu-latest' && matrix.manim == 'manimgl'
|
||||||
|
run: |
|
||||||
|
sudo apt-get install xvfb
|
||||||
|
nohup Xvfb $DISPLAY &
|
||||||
- name: Install Windows dependencies
|
- name: Install Windows dependencies
|
||||||
if: matrix.os == 'windows-latest'
|
if: matrix.os == 'windows-latest'
|
||||||
run: choco install ffmpeg
|
run: choco install ffmpeg
|
||||||
- name: Install manim on MacOs
|
|
||||||
if: matrix.manim == 'manim' && matrix.os == 'macos-latest'
|
# Install Manim Slides
|
||||||
run: pip3 install --user manim
|
- name: Install Manim Slides
|
||||||
- name: Install manim on Ubuntu and Windows
|
run: |
|
||||||
if: matrix.manim == 'manim' && (matrix.os == 'ubuntu-latest' || matrix.os == 'windows-latest')
|
poetry config experimental.new-installer false
|
||||||
run: python -m pip install --user manim
|
poetry install
|
||||||
- name: Install manimgl on MacOs
|
|
||||||
if: matrix.manim == 'manimgl' && matrix.os == 'macos-latest'
|
# Render slides
|
||||||
run: pip3 install --user manimgl
|
- name: Render slides
|
||||||
- name: Install manimgl on Ubuntu and Windows
|
|
||||||
if: matrix.manim == 'manimgl' && matrix.os != 'macos-latest'
|
|
||||||
run: python -m pip install --user manimgl
|
|
||||||
- name: Install manim-slides on MacOS
|
|
||||||
if: matrix.os == 'macos-latest'
|
|
||||||
run: pip3 install --user .
|
|
||||||
- name: Install manim-slides on Ubuntu
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
run: xvfb-run -a -s "-screen 0 1400x900x24" python -m pip install --user .
|
|
||||||
- name: Install manim-slides on Windows
|
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
run: pip3 install -e .
|
|
||||||
- name: Build slides with manim
|
|
||||||
if: matrix.manim == 'manim'
|
if: matrix.manim == 'manim'
|
||||||
run: python -m manim -ql example.py Example ThreeDExample ConvertExample
|
run: poetry run manim -ql example.py Example ThreeDExample
|
||||||
- name: Build slides with manimgl on Ubuntu
|
- name: Render slides
|
||||||
if: matrix.manim == 'manimgl' && matrix.os == 'ubuntu-latest'
|
if: matrix.manim == 'manimgl'
|
||||||
run: xvfb-run -a -s "-screen 0 1400x900x24" manim-render -l example.py Example ThreeDExample
|
run: poetry run -v manimgl -l example.py Example ThreeDExample
|
||||||
- name: Build slides with manimgl on MacOS or Windows
|
|
||||||
if: matrix.manim == 'manimgl' && (matrix.os == 'macos-latest' || matrix.os == 'windows-latest')
|
# Play slides
|
||||||
run: manimgl -l example.py Example ThreeDExample
|
- name: Test slides
|
||||||
- name: Test slides on Ubuntu
|
run: poetry run manim-slides Example ThreeDExample --skip-all
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
run: xvfb-run -a -s "-screen 0 1400x900x24" manim-slides Example ThreeDExample --skip-all
|
# Test slides to html
|
||||||
- name: Test slides on MacOS or Windows
|
|
||||||
if: matrix.os == 'macos-latest' || matrix.os == 'windows-latest'
|
|
||||||
run: manim-slides Example ThreeDExample --skip-all
|
|
||||||
- name: Test convert on Ubuntu
|
- name: Test convert on Ubuntu
|
||||||
if: matrix.os == 'ubuntu-latest' && matrix.manim == 'manim'
|
if: matrix.os == 'ubuntu-latest' && matrix.manim == 'manim'
|
||||||
run: manim-slides convert --to=html ConvertExample index.html
|
run: |
|
||||||
|
poetry run manim -ql example.py ConvertExample
|
||||||
|
poetry run manim-slides convert --to=html ConvertExample index.html
|
||||||
|
1975
poetry.lock
generated
Normal file
1975
poetry.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,17 +1,15 @@
|
|||||||
[build-system]
|
[tool.poetry]
|
||||||
requires = ["setuptools", "setuptools-scm"]
|
|
||||||
build-backend = "setuptools.build_meta"
|
|
||||||
|
|
||||||
[project]
|
|
||||||
name = "manim-slides"
|
name = "manim-slides"
|
||||||
description = "Tool for live presentations using manim"
|
description = "Tool for live presentations using manim"
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "Jérome Eertmans", email = "jeertmans@icloud.com" }
|
"Jérome Eertmans <jeertmans@icloud.com>"
|
||||||
]
|
]
|
||||||
version = "4.7.0"
|
version = "4.7.0"
|
||||||
license = {file = "LICENSE.md"}
|
license = "GPL-3.0-only"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.8"
|
homepage = "https://github.com/jeertmans/manim-slides"
|
||||||
|
documentation = "https://eertmans.be/manim-slides"
|
||||||
|
repository = "https://github.com/jeertmans/manim-slides"
|
||||||
|
|
||||||
keywords = ["manim", "slides", "plugin", "manimgl"]
|
keywords = ["manim", "slides", "plugin", "manimgl"]
|
||||||
|
|
||||||
@ -28,24 +26,31 @@ classifiers = [
|
|||||||
"Topic :: Scientific/Engineering",
|
"Topic :: Scientific/Engineering",
|
||||||
]
|
]
|
||||||
|
|
||||||
dependencies = [
|
exclude = ["docs/","static/"]
|
||||||
"click>=8.0",
|
packages = [
|
||||||
"click-default-group>=1.2",
|
{ include = "manim_slides" },
|
||||||
"numpy>=1.19.3",
|
|
||||||
"opencv-python>=4.6",
|
|
||||||
"pydantic>=1.9.1",
|
|
||||||
"pyside6>=6",
|
|
||||||
"requests>=2.26.0",
|
|
||||||
"tqdm>=4.62.3",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.setuptools]
|
|
||||||
packages = ["manim_slides"]
|
|
||||||
|
|
||||||
[project.urls]
|
[tool.poetry.dependencies]
|
||||||
homepage = "https://github.com/jeertmans/manim-slides"
|
python = ">=3.8,<3.12"
|
||||||
documentation = "https://eertmans.be/manim-slides"
|
click = ">=8.0"
|
||||||
repository = "https://github.com/jeertmans/manim-slides"
|
click-default-group = ">=1.2"
|
||||||
|
numpy = ">=1.19"
|
||||||
|
opencv-python = ">=4.6"
|
||||||
|
pydantic = ">=1.9"
|
||||||
|
pyside6 = ">=6"
|
||||||
|
requests = ">=2.26"
|
||||||
|
tqdm = ">=4.62"
|
||||||
|
|
||||||
[project.scripts]
|
[tool.poetry.dev-dependencies]
|
||||||
|
manim = "^0.17.0"
|
||||||
|
manimgl = "^1.6.1"
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["setuptools","poetry-core>=1.0.0"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
||||||
|
|
||||||
|
[tool.poetry.plugins]
|
||||||
|
[tool.poetry.plugins."console_scripts"]
|
||||||
manim-slides = "manim_slides.__main__:cli"
|
manim-slides = "manim_slides.__main__:cli"
|
||||||
|
Reference in New Issue
Block a user