Skip to content

Build Tool

Build Tool #130

Workflow file for this run

name: "Build Tool"
permissions:
contents: write
discussions: write
on:
push:
paths:
- "bin/setting.ini"
pull_request:
workflow_dispatch:
jobs:
build:
needs: [build-win,build-linux]
runs-on: windows-latest
strategy:
matrix:
python-version: ["3.8.10"]
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
- name: Get Version
id: tool_version
run: |
set ver $(cat bin\setting.ini | findstr version).Split()[2]
echo $ver
echo "::set-output name=version::$ver"
- name: Get last commit SHA
run: echo "::set-output name=sha::$(git rev-parse HEAD)"
- name: Get last commit message
id: commit_message
run: echo "::set-output name=message::$(git log -1 --pretty=%B ${{ steps.get_sha.outputs.sha }})"
- name: Rename Tool
run: |
cd MIO-KITCHEN-win
Remove-Item .git -Recurse
ls
Compress-Archive -Path ./* -DestinationPath ../MIO-KITCHEN-win.zip
cd ..
cd MIO-KITCHEN-linux
ls
Compress-Archive -Path ./* -DestinationPath ../MIO-KITCHEN-linux.zip
cd ..
move MIO-KITCHEN-win.zip MIO-KITCHEN-${{ steps.tool_version.outputs.version }}-win.zip
move MIO-KITCHEN-linux.zip MIO-KITCHEN-${{ steps.tool_version.outputs.version }}-linux.zip
- name: Upload release
uses: ncipollo/release-action@v1
with:
allowUpdates: true
omitBodyDuringUpdate: true
removeArtifacts: true
name: "MIO-KITCHEN-${{ steps.tool_version.outputs.version }}"
tag: "CI_BUILD_${{ github.run_number }}"
body: |
Changelog: ${{ steps.commit_message.outputs.message }}
Build times: ${{ github.run_number }}
Version: ${{ steps.tool_version.outputs.version }}
Author: MIO-KITCHEN-TEAM
Minimum support: Ubuntu 20.04 (64bit),Windows Vista (32bit)
artifacts: "*.zip"
build-win:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.8.10
uses: actions/setup-python@v4
with:
# Semantic version range syntax or exact version of a Python version
python-version: '3.8.10'
# Optional - x64 or x86 architecture, defaults to x64
architecture: 'x86'
# You can test your matrix by printing the current Python version
- name: Update pip
run: python -m pip install -U --force-reinstall pip
- name: Install Packages
run: pip install -r requirements.txt
- name: Pack tool
run: |
pyinstaller -Fw tool.py --exclude-module=numpy -i icon.ico --collect-data sv_ttk --strip
move dist/tool.exe ./
del *.py
Remove-Item bin/posix_x86_64 -Recurse
Remove-Item build -Recurse
Remove-Item dist -Recurse
Remove-Item .github -Recurse
del *.spec
del *.ico
del *.bat
del *.txt
del *.md
ls
- name: Upload Win Build
if: success()
uses: actions/upload-artifact@v3
with:
name: MIO-KITCHEN-win
path: './*'
build-linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.8.10
uses: actions/setup-python@v4
with:
# Semantic version range syntax or exact version of a Python version
python-version: '3.8'
# Optional - x64 or x86 architecture, defaults to x64
- name: Install Packages
run: |
python3 -m pip install -U --force-reinstall pip
pip3 install -r requirements.txt
sudo apt update -y && sudo apt install python3-tk -y
- name: Pack Tool
run: |
pyinstaller -Fw tool.py --exclude-module=numpy -i icon.ico --collect-data sv_ttk --hidden-import=tkinter --hidden-import=PIL --hidden-import=PIL._tkinter_finder --strip
mv dist/* ./
rm -rf .git
rm -rf .github
rm -rf bin/nt_*
rm -rf *.*
rm -rf build
rm -rf dist
ls
- name: Upload Linux Build
if: success()
uses: actions/upload-artifact@v3
with:
name: MIO-KITCHEN-linux
path: './*'