From a6858cda296b532db3fd7bcfc4f960f9b2fdf30a Mon Sep 17 00:00:00 2001 From: mlampe Date: Fri, 11 Nov 2022 02:58:23 +0100 Subject: [PATCH] [build] Make linux binary truly standalone using `conda` (#5423) Authored by: mlampe --- .github/workflows/build.yml | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 46a775b4d..49b9411fd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,26 +50,43 @@ jobs: build_unix: needs: prepare - runs-on: ubuntu-18.04 # Standalone executable should be built on minimum supported OS + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.10' + - uses: conda-incubator/setup-miniconda@v2 + with: + miniforge-variant: Mambaforge + use-mamba: true + channels: conda-forge + auto-update-conda: true + activate-environment: '' + auto-activate-base: false - name: Install Requirements run: | - sudo apt-get -y install zip pandoc man - python -m pip install --upgrade pip setuptools wheel twine - python -m pip install Pyinstaller -r requirements.txt + sudo apt-get -y install zip pandoc man sed + python -m pip install -U pip setuptools wheel twine + python -m pip install -U Pyinstaller -r requirements.txt + reqs=$(mktemp) + echo -e 'python=3.10.*\npyinstaller' >$reqs + sed 's/^brotli.*/brotli-python/' >$reqs + mamba create -n build --file $reqs - name: Prepare run: | python devscripts/update-version.py ${{ needs.prepare.outputs.version_suffix }} python devscripts/make_lazy_extractors.py - - name: Build Unix executables + - name: Build Unix platform-independent binary run: | make all tar + - name: Build Unix standalone binary + shell: bash -l {0} + run: | + unset LD_LIBRARY_PATH # Harmful; set by setup-python + conda activate build python pyinst.py --onedir (cd ./dist/yt-dlp_linux && zip -r ../yt-dlp_linux.zip .) python pyinst.py