Skip to content

Commit 08da65f

Browse files
committed
Merge branch 'master' into update_changelog
2 parents 17a4ede + 282cf3c commit 08da65f

File tree

152 files changed

+9974
-2447
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+9974
-2447
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: " [BUG-General] "
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
<!-- A clear and concise description of what the bug is. -->
12+
13+
**To Reproduce**
14+
<!-- Provide the problematic code in the code block below -->
15+
<details><summary>Problematic Code</summary>
16+
17+
```py
18+
Paste your code here.
19+
```
20+
21+
</details>
22+
23+
**Expected behavior**
24+
<!-- A clear and concise description of what you expected to happen. -->
25+
26+
**Output Media Files**
27+
<!-- Paste in the files manim produced on rendering the code above. Note that GitHub doesn't allow posting videos, so you may need to convert it to a GIF or use the `-i` rendering option. -->
28+
29+
<details><summary>Images/GIFs</summary>
30+
31+
<!-- PASTE MEDIA HERE -->
32+
33+
</details>
34+
35+
**Logs**
36+
<details><summary>Terminal output (Screenshots acceptable)</summary>
37+
38+
```
39+
PASTE HERE OR REMOVE IF PROVIDING SCREENSHOT
40+
```
41+
42+
<!-- Paste screenshot here -->
43+
44+
</details>
45+
46+
**System Specifications**
47+
48+
<details><summary>System Details</summary>
49+
50+
- OS (with version, e.g Windows 10 v2004 or macOS 10.15 (Catalina)):
51+
- RAM:
52+
- Python version (`python/py/python3 --version`):
53+
- Installed modules (provide output from `pip list`):
54+
```
55+
PASTE HERE
56+
```
57+
58+
</details>
59+
60+
<details>
61+
<summary>Latex details</summary>
62+
63+
+ Distribution (e.g. TeX Live 2020):
64+
65+
<!-- output of `tlmgr list --only-installed` for TeX Live or a screenshot of the Packkages page for MikTeX -->
66+
+ Installed packages:
67+
</details>
68+
69+
<details><summary>FFMPEG</summary>
70+
Output of `ffmpeg -version`:
71+
72+
```
73+
PASTE HERE
74+
```
75+
</details>
76+
77+
**Additional context**
78+
Add any other context about the problem here.

.github/manimdependency.json

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
11
{
2-
"windows": {
3-
"sox": "sox-14.4.2-win32",
4-
"ffmpeg": "ffmpeg-4.3.1-win64-static"
5-
}
6-
}
2+
"windows": {
3+
"ffmpeg": "https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-4.3.1-2020-09-21-full_build.zip",
4+
"pango": "v0.1.0",
5+
"tinytex": [
6+
"standalone",
7+
"preview",
8+
"doublestroke",
9+
"ms",
10+
"setspace",
11+
"rsfs",
12+
"relsize",
13+
"ragged2e",
14+
"fundus-calligra",
15+
"microtype",
16+
"wasysym",
17+
"physics",
18+
"dvisvgm",
19+
"jknapltx",
20+
"wasy",
21+
"cm-super",
22+
"babel-english"
23+
]
24+
}
25+
}

.github/workflows/ci.yml

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
name: CI
22
on:
33
push:
4-
branches:
5-
- master
4+
branches:
5+
- master
66
pull_request:
7-
branches:
8-
- master
7+
branches:
8+
- master
99

1010
jobs:
1111
test:
1212
runs-on: ${{ matrix.os }}
1313
env:
14-
POETRY_VIRTUALENVS_CREATE: false
14+
POETRY_VIRTUALENVS_CREATE: false
1515
strategy:
1616
fail-fast: false
1717
matrix:
1818
os: [ubuntu-latest, macos-latest, windows-latest]
19-
python: [3.6,3.7, 3.8]
19+
python: [3.6, 3.7, 3.8]
2020

2121
steps:
2222
- name: Checkout the repository
@@ -36,8 +36,8 @@ jobs:
3636
shell: bash
3737
id: pip-cache-and-time
3838
run: |
39-
echo "::set-output name=dir::$(pip cache dir)"
40-
echo "::set-output name=date::$(/bin/date -u "+%m%Y")"
39+
echo "::set-output name=dir::$(pip cache dir)"
40+
echo "::set-output name=date::$(/bin/date -u "+%m%Y")"
4141
4242
- name: pip cache
4343
uses: actions/cache@v2
@@ -56,10 +56,14 @@ jobs:
5656
- name: Install system dependencies (MacOS)
5757
if: runner.os == 'macOS'
5858
run: |
59-
brew install openssl readline ffmpeg sox pyenv pyenv-virtualenv
59+
brew install openssl readline ffmpeg pyenv pyenv-virtualenv
6060
brew cask install basictex
6161
eval "$(/usr/libexec/path_helper -s)"
6262
sudo tlmgr update --self
63+
brew install pkg-config
64+
brew install libffi
65+
brew install pango
66+
brew install glib
6367
sudo tlmgr install standalone preview doublestroke relsize fundus-calligra wasysym physics dvisvgm.x86_64-darwin dvisvgm rsfs wasy cm-super
6468
echo "::add-path::$HOME/.poetry/bin"
6569
echo "::set-env name=PATH::$PATH"
@@ -69,37 +73,40 @@ jobs:
6973
if: runner.os == 'Windows'
7074
uses: actions/cache@v2
7175
with:
72-
path: ${{ github.workspace }}\ManimCache
73-
key: ${{ runner.os }}-dependencies-ffmpeg-sox-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.pip-cache-and-time.outputs.date }}
76+
path: ${{ github.workspace }}\ManimCache
77+
key: ${{ runner.os }}-dependencies-ffmpeg-tinytex-${{ hashFiles('.github/manimdependency.json') }}-${{ steps.pip-cache-and-time.outputs.date }}
7478

7579
- name: Download system dependencies (Windows)
7680
if: runner.os == 'Windows' && steps.cache-windows.outputs.cache-hit != 'true'
7781
run: |
78-
$soxVersion = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['sox'])"
79-
$soxVersionNumber = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['sox'].split('-')[1])"
80-
$ffmpegVersion = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['ffmpeg'])"
81-
$ffmpegVersionNumber = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['ffmpeg'].split('-')[1])"
82+
$ffmpegUrl = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['ffmpeg'])"
83+
$pangoVersion = python -c "import json;print(json.load(open('.github/manimdependency.json'))['windows']['pango'])"
84+
$tinyTexPackages = $(python -c "import json;print(' '.join(json.load(open('.github/manimdependency.json'))['windows']['tinytex']))") -Split ' '
8285
$OriPath = $env:PATH
8386
echo "Install Tinytex"
8487
Invoke-WebRequest "https://ci.appveyor.com/api/projects/yihui/tinytex/artifacts/TinyTeX.zip?job=image:%20Visual%20Studio%202019" -O "$($env:TMP)\TinyTex.zip"
8588
Expand-Archive -LiteralPath "$($env:TMP)\TinyTex.zip" -DestinationPath "$($PWD)\ManimCache\LatexWindows"
8689
$env:Path = "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\win32;$($env:PATH)"
87-
tlmgr install standalone preview doublestroke ms setspace rsfs relsize ragged2e fundus-calligra microtype wasysym physics dvisvgm jknapltx wasy cm-super babel-english
90+
tlmgr update --self
91+
foreach ($c in $tinyTexPackages){
92+
$c=$c.Trim()
93+
tlmgr install $c
94+
}
8895
$env:PATH=$OriPath
89-
echo "Completed Latex Install Sox"
90-
Invoke-WebRequest "https://downloads.sourceforge.net/project/sox/sox/$($soxVersionNumber)/$($soxVersion).zip" -UserAgent "wget" -O "$($env:TMP)\SoX.zip"
91-
7z x "$($env:TMP)\SoX.zip" -o"$($PWD)\ManimCache"
92-
Move-Item "ManimCache\sox-*" "ManimCache\SoX"
93-
Invoke-WebRequest "https://ffmpeg.zeranoe.com/builds/win64/static/$($ffmpegVersion).zip" -O "$($env:TMP)\$($ffmpegVersion).zip"
94-
7z x "$($env:TMP)\$($ffmpegVersion).zip" -o"$($PWD)\ManimCache"
96+
echo "Completed Latex"
97+
Invoke-WebRequest "$ffmpegUrl" -O "$($env:TMP)\ffmpeg.zip"
98+
7z x "$($env:TMP)\ffmpeg.zip" -o"$($PWD)\ManimCache"
9599
Move-Item "ManimCache\ffmpeg-*" "ManimCache\FFmpeg"
100+
Invoke-WebRequest "https://github.com/ManimCommunity/pango-windows-binaries/releases/download/$($pangoVersion)/pango-windows-binaires-x64.zip" -O "$($env:TMP)\Pango.zip"
101+
mkdir "$($PWD)\ManimCache\Pango"
102+
7z x "$($env:TMP)\Pango.zip" -o"$($PWD)\ManimCache\Pango"
96103
97104
- name: Add Windows dependecies to path
98105
if: runner.os == 'Windows'
99106
run: |
100107
$env:Path += ";" + "$($PWD)\ManimCache\FFmpeg\bin"
101108
$env:Path += ";" + "$($PWD)\ManimCache\LatexWindows\TinyTeX\bin\win32"
102-
$env:Path += ";" + "$($PWD)\ManimCache\SoX"
109+
$env:Path += ";" + "$($PWD)\ManimCache\Pango\pango"
103110
$env:Path = "$env:USERPROFILE\.poetry\bin;$($env:PATH)"
104111
echo "::set-env name=Path::$env:Path"
105112

.github/workflows/python-publish.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,28 @@
1-
name: Upload Python Package
1+
name: Publish Release
22

33
on:
44
release:
5-
types:
6-
- created
5+
types: [released]
6+
77
jobs:
8-
build:
8+
release:
99
runs-on: ubuntu-latest
1010
steps:
1111
- uses: actions/checkout@v2
12-
#TODO: Set an API key from PyPI `PYPI_API_KEY` in secrets tab.
13-
- name: Build and publish to pypi
14-
uses: JRubics/poetry-publish@v1
12+
13+
- name: Set up Python 3.8
14+
uses: actions/setup-python@v2
1515
with:
16-
pypi_token: ${{ secrets.PYPI_API_KEY }}
16+
python-version: 3.8
17+
18+
- name: Install dependencies
19+
run: python -m pip install --upgrade poetry
20+
21+
# TODO: Set PYPI_API_TOKEN to api token from pip in secrets
22+
- name: Configure pypi credentials
23+
env:
24+
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
25+
run: poetry config http-basic.pypi __token__ "$PYPI_API_TOKEN"
26+
27+
- name: Publish release to pypi
28+
run: poetry publish --build

0 commit comments

Comments
 (0)