manim/.github/manimdependency.json
Ricky Chon 69e3286620
CI: Caching ffmpeg, tinytex dependencies and poetry venv (#1257)
* Fix typos

* Comment out cache steps to test for timings

* Revert "Comment out cache steps to test for timings"

This reverts commit 34d765bc06.

* Change pip cache to poetry cache

* Add steps for brew update and getting cache dir

* Add step to cache brew

* Cache only ffmpeg to remain under 5GB limit

* No need to get brew cache dir separately

* Add uniqueness to each brew cache version

* Move poetry caching above OS installations

* Trigger cache hit

* Update brew cache path

* Try caching installed packages in Cellar

* Trigger cache hit

* Update brew cache path

* Set conditional for macOS depedency install

* Separate brew and tlmgr dependencies

* Move necessary commands to tlmgr step

* Move basictex upgrade and installation outside of dependent install

* Upgrade all brew packages

* Update cache date variable to include day

This enables the cache to reset once a day and install any new updates

* Try caching brew downloads now

* Upgrade only basictex now

* Upgrade only basictex now

* Rename step names

* Attempt caching of all usr/ files

* Increment brew cache key test number

* Setup cache date to weekly

* Rollback to poetry-cache

* Setup cache variables

* Fix typo

* Increment cache test number

* Cache brew Cellar, opt, texlive

* Trigger cache hit

* Texlive dir didn't work

* Trigger cache hit

* Link cached packages

* Only link packages not available by default

* Unlink and install cairo

* Separate commands so they can run in isolation

* Reinstall and link cairo

* Increment cache test number

* Install ffmpeg outside of brew and cache it

* Combine brew update steps

* Update curl command

* Add create-dirs flag to curl

* Add helpful messages for ffmpeg install

* Move tlmgr commands above ffmpeg

* Move ffmpeg contents to new dir after extraction

* Update ffmpeg path

* Make dir for ffmpeg

* Add parents flag to mkdir

* Add ffprobe and ffserver

* Update ffprobe download link

* Make ffmpeg files executable

* Download ffmpeg from different link and build it

* Move ffmpeg files before building

* Make dir before moving files

* Create new step for moving and updating ffmpeg files

* Move path commands to path step

* Install ffmpeg quietly

* Update brew quietly, move ffmpeg files after unzip

* Configure and make ffmpeg

* Install and cache ffmpeg via GH action

* Trigger cache hit to test ffmpeg action

* Remove ffmpeg install from Linux as action handles it

* Remove ffmpeg install from Windows as action handles it

* Trigger cache hit

* Add script for installing pango to archive

* Update pango file extension

* Add rm command to script

* Install pango via brew for now

* Test archived cache method

* Comment out cache action to use custom cache

* Revert "Comment out cache action to use custom cache"

This reverts commit 0ec6f14ee5.

* Revert "Test archived cache method"

This reverts commit 2b85b93050.

* Remove pango install script, get back to it later

* Remove ffmpeg url from windows dependency

* Update .github/workflows/ci.yml

Co-authored-by: Naveen M K <naveen@syrusdark.website>

* Update poetry cache key

* Add comment description for brew cache

* Openssl and readline provided by macOS by default

* Update .github/workflows/ci.yml

Co-authored-by: Naveen M K <naveen@syrusdark.website>

* Update .github/workflows/ci.yml

Co-authored-by: Naveen M K <naveen@syrusdark.website>

* Use python location for cache key to update with each python patch

* Trigger pip cache

* Check cache size of python location

An attempt to speed up wheel installations for poetry and dependencies.

* Handle pip and python cache separately

* Fix typo

* Trigger python cache

* Remove Pango from Windows dependencies

It probably doesn't need it.

* Remove Pango version variable from Windows deps

* Remove pango from windows manim deps json

* Add python version to step names

* No need to cache brew for now

* Setup python cache only for linux and macos

Seems to be frozen for windows

* pkg-config comes with macOS as default

* Setup cache for poetry venv

* Trigger poetry cache

* Trigger poetry cache

* Trigger caches

* Trigger caches

* Setup macOS tinytex cache

* Curl in silent mode

* Revert "Curl in silent mode"

This reverts commit e81d1ff51a.

* Extract silently

* Extract to tinytex dir

* Cache extracted files and not compressed

* Fix path typo

* Try to get tlmgr to work

* Install tinytex and cairo separately

* Add tinytex to github path

* Trigger macOS cache hit

* Separate win and macOS dependencies

* Install each tinytex package in loop

* Increment macOS cache test number

* Fix typo

* Try to fix bash errors

* Move 'completed' message at end of run

* Update macOS cache path

* Update /home/rickyc0626 to /home/rickyc0626/manim-community

* Return PATH to normal after tinytex install

* Increment macOS cache test number

* Trigger cache hit

* Update macOS cache key to prod

* Convert JSON indentation to spaces

* Trigger cache save

* Trigger cache hit

* Update macOS tinytex link

* Trigger cache hit

* Poetry venv is created by default

* Move macos tinytex dependencies to manimdependency.json

* Update .github/manimdependency.json

Co-authored-by: Naveen M K <naveen@syrusdark.website>

* Remove ls from macOS install

* Install tinytex to  then extract to cache

* Remove pip cache as poetry venv will hold dependencies

* Test poetry venv cache for pip files

* Trigger cache hit

* Remove test poetry cache key

Co-authored-by: Naveen M K <naveen@syrusdark.website>
Co-authored-by: Jason Villanueva <a@jsonvillanueva.com>
2021-04-16 01:07:37 +05:30

42 lines
885 B
JSON

{
"windows": {
"tinytex": [
"standalone",
"preview",
"doublestroke",
"ms",
"everysel",
"setspace",
"rsfs",
"relsize",
"ragged2e",
"fundus-calligra",
"microtype",
"wasysym",
"physics",
"dvisvgm",
"jknapltx",
"wasy",
"cm-super",
"babel-english",
"gnu-freefont",
"mathastext",
"cbfonts-fd"
]
},
"macos": {
"tinytex": [
"standalone",
"preview",
"doublestroke",
"relsize",
"fundus-calligra",
"wasysym",
"physics",
"dvisvgm",
"rsfs",
"wasy",
"cm-super"
]
}
}