mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 07:57:27 +03:00 
			
		
		
		
	Cache libimagequant
This commit is contained in:
		
							parent
							
								
									0b6c7ba49e
								
							
						
					
					
						commit
						97d24f14a5
					
				
							
								
								
									
										8
									
								
								.github/workflows/docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/docs.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -44,11 +44,19 @@ jobs: | ||||||
|     - name: Build system information |     - name: Build system information | ||||||
|       run: python3 .github/workflows/system-info.py |       run: python3 .github/workflows/system-info.py | ||||||
| 
 | 
 | ||||||
|  |     - name: Cache libimagequant | ||||||
|  |       uses: actions/cache@v4 | ||||||
|  |       id: cache-libimagequant | ||||||
|  |       with: | ||||||
|  |         path: ~/cache-libimagequant | ||||||
|  |         key: ${{ runner.os }}-libimagequant-${{ hashFiles('depends/install_imagequant.sh') }} | ||||||
|  | 
 | ||||||
|     - name: Install Linux dependencies |     - name: Install Linux dependencies | ||||||
|       run: | |       run: | | ||||||
|         .ci/install.sh |         .ci/install.sh | ||||||
|       env: |       env: | ||||||
|         GHA_PYTHON_VERSION: "3.x" |         GHA_PYTHON_VERSION: "3.x" | ||||||
|  |         GHA_LIBIMAGEQUANT_CACHE_HIT: ${{ steps.cache-libimagequant.outputs.cache-hit }} | ||||||
| 
 | 
 | ||||||
|     - name: Build |     - name: Build | ||||||
|       run: | |       run: | | ||||||
|  |  | ||||||
							
								
								
									
										9
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							|  | @ -75,12 +75,21 @@ jobs: | ||||||
|     - name: Build system information |     - name: Build system information | ||||||
|       run: python3 .github/workflows/system-info.py |       run: python3 .github/workflows/system-info.py | ||||||
| 
 | 
 | ||||||
|  |     - name: Cache libimagequant | ||||||
|  |       if: startsWith(matrix.os, 'ubuntu') | ||||||
|  |       uses: actions/cache@v4 | ||||||
|  |       id: cache-libimagequant | ||||||
|  |       with: | ||||||
|  |         path: ~/cache-libimagequant | ||||||
|  |         key: ${{ runner.os }}-libimagequant-${{ hashFiles('depends/install_imagequant.sh') }} | ||||||
|  | 
 | ||||||
|     - name: Install Linux dependencies |     - name: Install Linux dependencies | ||||||
|       if: startsWith(matrix.os, 'ubuntu') |       if: startsWith(matrix.os, 'ubuntu') | ||||||
|       run: | |       run: | | ||||||
|         .ci/install.sh |         .ci/install.sh | ||||||
|       env: |       env: | ||||||
|         GHA_PYTHON_VERSION: ${{ matrix.python-version }} |         GHA_PYTHON_VERSION: ${{ matrix.python-version }} | ||||||
|  |         GHA_LIBIMAGEQUANT_CACHE_HIT: ${{ steps.cache-libimagequant.outputs.cache-hit }} | ||||||
| 
 | 
 | ||||||
|     - name: Install macOS dependencies |     - name: Install macOS dependencies | ||||||
|       if: startsWith(matrix.os, 'macOS') |       if: startsWith(matrix.os, 'macOS') | ||||||
|  |  | ||||||
|  | @ -1,15 +1,37 @@ | ||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # install libimagequant | # install libimagequant | ||||||
| 
 | 
 | ||||||
| archive=libimagequant-4.2.2 | archive_name=libimagequant | ||||||
|  | archive_version=4.2.2 | ||||||
| 
 | 
 | ||||||
|  | archive=$archive_name-$archive_version | ||||||
|  | 
 | ||||||
|  | if [[ "$GHA_LIBIMAGEQUANT_CACHE_HIT" == "true" ]]; then | ||||||
|  | 
 | ||||||
|  |     # Copy cached files into place | ||||||
|  |     sudo cp ~/cache-$archive_name/libimagequant.so* /usr/lib/ | ||||||
|  |     sudo cp ~/cache-$archive_name/libimagequant.h /usr/include/ | ||||||
|  | 
 | ||||||
|  | else | ||||||
|  | 
 | ||||||
|  |     # Build from source | ||||||
|     ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/main/$archive.tar.gz |     ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/main/$archive.tar.gz | ||||||
| 
 | 
 | ||||||
|     pushd $archive/imagequant-sys |     pushd $archive/imagequant-sys | ||||||
| 
 | 
 | ||||||
| cargo install cargo-c |     time cargo install cargo-c | ||||||
| cargo cinstall --prefix=/usr --destdir=. |     time cargo cinstall --prefix=/usr --destdir=. | ||||||
|  | 
 | ||||||
|  |     # Copy into place | ||||||
|     sudo cp usr/lib/libimagequant.so* /usr/lib/ |     sudo cp usr/lib/libimagequant.so* /usr/lib/ | ||||||
|     sudo cp usr/include/libimagequant.h /usr/include/ |     sudo cp usr/include/libimagequant.h /usr/include/ | ||||||
| 
 | 
 | ||||||
|  |     # Copy to cache | ||||||
|  |     rm -rf ~/cache-$archive_name | ||||||
|  |     mkdir ~/cache-$archive_name | ||||||
|  |     cp usr/lib/libimagequant.so* ~/cache-$archive_name/ | ||||||
|  |     cp usr/include/libimagequant.h ~/cache-$archive_name/ | ||||||
|  | 
 | ||||||
|     popd |     popd | ||||||
|  | 
 | ||||||
|  | fi | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user