|
|
|
@ -114,6 +114,49 @@ jobs:
|
|
|
|
|
git -C taps/ push
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build_linux_arm:
|
|
|
|
|
permissions:
|
|
|
|
|
packages: write # for Creating cache
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
needs: prepare
|
|
|
|
|
strategy:
|
|
|
|
|
matrix:
|
|
|
|
|
architecture:
|
|
|
|
|
- armv7
|
|
|
|
|
- aarch64
|
|
|
|
|
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
|
with:
|
|
|
|
|
path: ./repo
|
|
|
|
|
- name: Virtualized Install, Prepare & Build
|
|
|
|
|
uses: yt-dlp/run-on-arch-action@v2
|
|
|
|
|
with:
|
|
|
|
|
githubToken: ${{ github.token }} # To cache image
|
|
|
|
|
arch: ${{ matrix.architecture }}
|
|
|
|
|
distro: ubuntu18.04 # Standalone executable should be built on minimum supported OS
|
|
|
|
|
dockerRunArgs: --volume "${PWD}/repo:/repo"
|
|
|
|
|
install: | # Installing Python 3.10 from the Deadsnakes repo raises errors
|
|
|
|
|
apt update
|
|
|
|
|
apt -y install zlib1g-dev python3.8 python3.8-dev python3.8-distutils python3-pip
|
|
|
|
|
python3.8 -m pip install -U pip setuptools wheel
|
|
|
|
|
# Cannot access requirements.txt from the repo directory at this stage
|
|
|
|
|
python3.8 -m pip install -U Pyinstaller mutagen pycryptodomex websockets brotli certifi
|
|
|
|
|
|
|
|
|
|
run: |
|
|
|
|
|
cd repo
|
|
|
|
|
python3.8 -m pip install -U Pyinstaller -r requirements.txt # Cached version may be out of date
|
|
|
|
|
python3.8 devscripts/update-version.py ${{ needs.prepare.outputs.version_suffix }}
|
|
|
|
|
python3.8 devscripts/make_lazy_extractors.py
|
|
|
|
|
python3.8 pyinst.py
|
|
|
|
|
|
|
|
|
|
- name: Upload artifacts
|
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
path: | # run-on-arch-action designates armv7l as armv7
|
|
|
|
|
repo/dist/yt-dlp_linux_${{ (matrix.architecture == 'armv7' && 'armv7l') || matrix.architecture }}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build_macos:
|
|
|
|
|
runs-on: macos-11
|
|
|
|
|
needs: prepare
|
|
|
|
@ -194,8 +237,8 @@ jobs:
|
|
|
|
|
python-version: '3.8'
|
|
|
|
|
- name: Install Requirements
|
|
|
|
|
run: | # Custom pyinstaller built with https://github.com/yt-dlp/pyinstaller-builds
|
|
|
|
|
python -m pip install --upgrade pip setuptools wheel py2exe
|
|
|
|
|
pip install "https://yt-dlp.github.io/Pyinstaller-Builds/x86_64/pyinstaller-5.3-py3-none-any.whl" -r requirements.txt
|
|
|
|
|
python -m pip install -U pip setuptools wheel py2exe
|
|
|
|
|
pip install -U "https://yt-dlp.github.io/Pyinstaller-Builds/x86_64/pyinstaller-5.3-py3-none-any.whl" -r requirements.txt
|
|
|
|
|
|
|
|
|
|
- name: Prepare
|
|
|
|
|
run: |
|
|
|
|
@ -230,8 +273,8 @@ jobs:
|
|
|
|
|
architecture: 'x86'
|
|
|
|
|
- name: Install Requirements
|
|
|
|
|
run: |
|
|
|
|
|
python -m pip install --upgrade pip setuptools wheel
|
|
|
|
|
pip install "https://yt-dlp.github.io/Pyinstaller-Builds/i686/pyinstaller-5.3-py3-none-any.whl" -r requirements.txt
|
|
|
|
|
python -m pip install -U pip setuptools wheel
|
|
|
|
|
pip install -U "https://yt-dlp.github.io/Pyinstaller-Builds/i686/pyinstaller-5.3-py3-none-any.whl" -r requirements.txt
|
|
|
|
|
|
|
|
|
|
- name: Prepare
|
|
|
|
|
run: |
|
|
|
|
@ -252,7 +295,7 @@ jobs:
|
|
|
|
|
permissions:
|
|
|
|
|
contents: write # for action-gh-release
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
needs: [prepare, build_unix, build_windows, build_windows32, build_macos, build_macos_legacy]
|
|
|
|
|
needs: [prepare, build_unix, build_linux_arm, build_windows, build_windows32, build_macos, build_macos_legacy]
|
|
|
|
|
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
@ -279,6 +322,8 @@ jobs:
|
|
|
|
|
sha256sum artifact/yt-dlp_macos | awk '{print $1 " yt-dlp_macos"}' >> SHA2-256SUMS
|
|
|
|
|
sha256sum artifact/yt-dlp_macos.zip | awk '{print $1 " yt-dlp_macos.zip"}' >> SHA2-256SUMS
|
|
|
|
|
sha256sum artifact/yt-dlp_macos_legacy | awk '{print $1 " yt-dlp_macos_legacy"}' >> SHA2-256SUMS
|
|
|
|
|
sha256sum artifact/yt-dlp_linux_armv7l | awk '{print $1 " yt-dlp_linux_armv7l"}' >> SHA2-256SUMS
|
|
|
|
|
sha256sum artifact/yt-dlp_linux_aarch64 | awk '{print $1 " yt-dlp_linux_aarch64"}' >> SHA2-256SUMS
|
|
|
|
|
sha256sum artifact/dist/yt-dlp_linux | awk '{print $1 " yt-dlp_linux"}' >> SHA2-256SUMS
|
|
|
|
|
sha256sum artifact/dist/yt-dlp_linux.zip | awk '{print $1 " yt-dlp_linux.zip"}' >> SHA2-256SUMS
|
|
|
|
|
sha512sum artifact/yt-dlp | awk '{print $1 " yt-dlp"}' >> SHA2-512SUMS
|
|
|
|
@ -290,6 +335,8 @@ jobs:
|
|
|
|
|
sha512sum artifact/yt-dlp_macos | awk '{print $1 " yt-dlp_macos"}' >> SHA2-512SUMS
|
|
|
|
|
sha512sum artifact/yt-dlp_macos.zip | awk '{print $1 " yt-dlp_macos.zip"}' >> SHA2-512SUMS
|
|
|
|
|
sha512sum artifact/yt-dlp_macos_legacy | awk '{print $1 " yt-dlp_macos_legacy"}' >> SHA2-512SUMS
|
|
|
|
|
sha512sum artifact/yt-dlp_linux_armv7l | awk '{print $1 " yt-dlp_linux_armv7l"}' >> SHA2-512SUMS
|
|
|
|
|
sha512sum artifact/yt-dlp_linux_aarch64 | awk '{print $1 " yt-dlp_linux_aarch64"}' >> SHA2-512SUMS
|
|
|
|
|
sha512sum artifact/dist/yt-dlp_linux | awk '{print $1 " yt-dlp_linux"}' >> SHA2-512SUMS
|
|
|
|
|
sha512sum artifact/dist/yt-dlp_linux.zip | awk '{print $1 " yt-dlp_linux.zip"}' >> SHA2-512SUMS
|
|
|
|
|
|
|
|
|
@ -322,6 +369,8 @@ jobs:
|
|
|
|
|
artifact/yt-dlp_macos
|
|
|
|
|
artifact/yt-dlp_macos.zip
|
|
|
|
|
artifact/yt-dlp_macos_legacy
|
|
|
|
|
artifact/yt-dlp_linux_armv7l
|
|
|
|
|
artifact/yt-dlp_linux_aarch64
|
|
|
|
|
artifact/dist/yt-dlp_linux
|
|
|
|
|
artifact/dist/yt-dlp_linux.zip
|
|
|
|
|
_update_spec
|
|
|
|
|