Build Tool #129
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: './*' |