mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[workflows/ci.yml] Build 3.12 with pyenv
This commit is contained in:
		
							
								
								
									
										40
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -124,7 +124,7 @@ jobs: | ||||
|     #-------- Python 3 ----- | ||||
|     - name: Set up supported Python ${{ matrix.python-version }} | ||||
|       id: setup-python | ||||
|       if: ${{ matrix.python-impl == 'cpython' && matrix.python-version != '2.6' && matrix.python-version != '2.7'}} | ||||
|       if: ${{ matrix.python-impl == 'cpython' && matrix.python-version != '2.6' && matrix.python-version != '2.7' && matrix.python-version != '3.12'}} | ||||
|       # wrap broken actions/setup-python@v4 | ||||
|       uses: ytdl-org/setup-python@v1 | ||||
|       with: | ||||
| @@ -162,6 +162,42 @@ jobs: | ||||
|             'import sys' \ | ||||
|             'print(sys.path)' \ | ||||
|             | ${expected} - | ||||
|     #-------- Python 3.12 - | ||||
|     - name: Set up Python 3.12 environment | ||||
|       if: ${{ matrix.python-version == '3.12' }} | ||||
|       shell: bash | ||||
|       run: | | ||||
|         PYENV_ROOT=$HOME/.local/share/pyenv | ||||
|         echo "PYENV_ROOT=${PYENV_ROOT}" >> "$GITHUB_ENV" | ||||
|     - name: Cache Python 3.12 | ||||
|       id: cache312 | ||||
|       if: ${{ matrix.python-version == '3.12' }} | ||||
|       uses: actions/cache@v3 | ||||
|       with: | ||||
|         key: python-3.12 | ||||
|         path: | | ||||
|           ${{ env.PYENV_ROOT }} | ||||
|     - name: Build and set up Python 3.12 | ||||
|       if: ${{ matrix.python-version == '3.12' && ! steps.cache312.outputs.cache-hit }} | ||||
|       # dl and build locally | ||||
|       shell: bash | ||||
|       run: | | ||||
|         # Install build environment | ||||
|         sudo apt-get install -y build-essential llvm libssl-dev tk-dev  \ | ||||
|                       libncursesw5-dev libreadline-dev libsqlite3-dev   \ | ||||
|                       libffi-dev xz-utils zlib1g-dev libbz2-dev liblzma-dev | ||||
|         # Download PyEnv from its GitHub repository. | ||||
|         export PYENV_ROOT=${{ env.PYENV_ROOT }} | ||||
|         export PATH=$PYENV_ROOT/bin:$PATH | ||||
|         git clone "https://github.com/pyenv/pyenv.git" "$PYENV_ROOT" | ||||
|         pyenv install 3.12.0b4 | ||||
|     - name: Locate Python 3.12 | ||||
|       if: ${{ matrix.python-version == '3.12' }} | ||||
|       shell: bash | ||||
|       run: | | ||||
|         PYTHONHOME="${{ env.PYENV_ROOT }}/versions/3.12.0b4" | ||||
|         echo "PYTHONHOME=$PYTHONHOME" >> "$GITHUB_ENV" | ||||
|         echo "PATH=${PYTHONHOME}/bin:$PATH" >> "$GITHUB_ENV" | ||||
|     #-------- Python 2.7 -- | ||||
|     - name: Set up Python 2.7 | ||||
|       if: ${{ matrix.python-version == '2.7' }} | ||||
| @@ -325,7 +361,7 @@ jobs: | ||||
|         done | ||||
|     #-------- nose -------- | ||||
|     - name: Install nose for Python ${{ matrix.python-version }} | ||||
|       if: ${{ (matrix.python-version != '3.2' && steps.setup-python.outputs.python-path) || matrix.python-version == '2.7' }} | ||||
|       if: ${{ (matrix.python-version != '3.2' && steps.setup-python.outputs.python-path) || matrix.python-version == '2.7' || matrix.python-version == '3.12' }} | ||||
|       shell: bash | ||||
|       run: | | ||||
|         echo "$PATH" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user