mirror of
https://ghproxy.com/https://github.com/yoshiko2/Movie_Data_Capture.git
synced 2025-04-13 00:18:46 +00:00
101 lines
3.3 KiB
YAML
101 lines
3.3 KiB
YAML
name: PyInstaller
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
matrix:
|
|
os: [windows-latest, macos-latest, ubuntu-latest]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Install UPX
|
|
uses: crazy-max/ghaction-upx@v2
|
|
if: matrix.os == 'windows-latest' || matrix.os == 'ubuntu-latest'
|
|
with:
|
|
install-only: true
|
|
|
|
- name: UPX version
|
|
if: matrix.os == 'windows-latest' || matrix.os == 'ubuntu-latest'
|
|
run: upx --version
|
|
|
|
- name: Setup Python 3.10
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.10'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r requirements.txt
|
|
pip install face_recognition --no-deps
|
|
pip install pyinstaller
|
|
|
|
- name: Test number_perser.get_number
|
|
run: |
|
|
python number_parser.py -v
|
|
|
|
- name: Build with PyInstaller for macos/ubuntu
|
|
if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest'
|
|
run: |
|
|
pyinstaller \
|
|
--onefile Movie_Data_Capture.py \
|
|
--python-option u \
|
|
--hidden-import "ImageProcessing.cnn" \
|
|
--add-data "$(python -c 'import cloudscraper as _; print(_.__path__[0])' | tail -n 1):cloudscraper" \
|
|
--add-data "$(python -c 'import opencc as _; print(_.__path__[0])' | tail -n 1):opencc" \
|
|
--add-data "$(python -c 'import face_recognition_models as _; print(_.__path__[0])' | tail -n 1):face_recognition_models" \
|
|
--add-data "Img:Img" \
|
|
--add-data "scrapinglib:scrapinglib" \
|
|
--add-data "config.ini:." \
|
|
|
|
- name: Build with PyInstaller for windows
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
pyinstaller `
|
|
--onefile Movie_Data_Capture.py `
|
|
--python-option u `
|
|
--hidden-import "ImageProcessing.cnn" `
|
|
--add-data "$(python -c 'import cloudscraper as _; print(_.__path__[0])' | tail -n 1);cloudscraper" `
|
|
--add-data "$(python -c 'import opencc as _; print(_.__path__[0])' | tail -n 1);opencc" `
|
|
--add-data "$(python -c 'import face_recognition_models as _; print(_.__path__[0])' | tail -n 1);face_recognition_models" `
|
|
--add-data "Img;Img" `
|
|
--add-data "scrapinglib;scrapinglib" `
|
|
--add-data "config.ini;." `
|
|
|
|
- name: Copy config.ini
|
|
run: |
|
|
cp config.ini dist/
|
|
|
|
- name: Set VERSION variable for macos/ubuntu
|
|
if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest'
|
|
run: |
|
|
echo "VERSION=$(python Movie_Data_Capture.py --version)" >> $GITHUB_ENV
|
|
|
|
- name: Set VERSION variable for windows
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
echo "VERSION=$(python Movie_Data_Capture.py --version)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
|
|
|
- name: Upload build artifact
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: MDC-${{ env.VERSION }}-${{ runner.os }}-amd64
|
|
path: dist
|
|
|
|
- name: Run test (Ubuntu & MacOS)
|
|
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
|
|
run: |
|
|
cd dist
|
|
./Movie_Data_Capture
|