Build Tool #349
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" | |
workflow_dispatch: | |
jobs: | |
build: | |
needs: [build-win,build-linux,build-macos] | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
python-version: ["3.8.10"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
- name: Generate Release Body | |
run: | | |
set ver $(cat bin\setting.ini | findstr version).Split()[2] | |
set change $(git log -1 --pretty=%B $(git rev-parse HEAD)) | |
echo Changelog: ```$change``` > body.md | |
echo "Build times: ${{ github.run_number }}" >> body.md | |
echo "Version: $ver" >> body.md && echo Ok | |
echo $ver > version.txt && echo Ok | |
- name: Rename Tool | |
run: | | |
cd MIO-KITCHEN-win | |
move ./MIO-KITCHEN-win.zip ../MIO-KITCHEN-${{ steps.tool_version.outputs.version }}-win.zip | |
cd .. | |
cd MIO-KITCHEN-linux | |
move ./MIO-KITCHEN-linux.zip ../MIO-KITCHEN-${{ steps.tool_version.outputs.version }}-linux.zip | |
cd .. | |
cd MIO-KITCHEN-macos | |
move ./MIO-KITCHEN-macos.zip ../MIO-KITCHEN-${{ steps.tool_version.outputs.version }}-macos.zip | |
cd .. | |
- name: Upload release | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
omitBodyDuringUpdate: true | |
removeArtifacts: true | |
name: "MIO-KITCHEN-${file('./version.txt')}" | |
tag: "CI_BUILD_${{ github.run_number }}" | |
bodyFile: "body.md" | |
artifacts: "*.zip" | |
build-win: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.8.10 | |
uses: actions/setup-python@v5 | |
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: Pack tool | |
run: python build.py | |
- name: Upload Win Build | |
if: success() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: MIO-KITCHEN-win | |
path: './MIO-KITCHEN-win.zip' | |
build-linux: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
# Semantic version range syntax or exact version of a Python version | |
python-version: '3.10' | |
# Optional - x64 or x86 architecture, defaults to x64 | |
- name: Install Packages | |
run: | | |
python3 -m pip install -U --force-reinstall pip | |
sudo apt update -y && sudo apt install python3-tk -y | |
- name: Pack Tool | |
run: python3 build.py | |
- name: Upload Linux Build | |
if: success() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: MIO-KITCHEN-linux | |
path: './MIO-KITCHEN-linux.zip' | |
build-macos: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Packages | |
run: | | |
sudo rm -rf /usr/local/bin/2to3* | |
brew install python-tk python3 tcl-tk | |
python3 -m pip install -U --force-reinstall pip | |
- name: Pack Tool | |
run: python3 build.py | |
- name: Upload Macos Build | |
if: success() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: MIO-KITCHEN-macos | |
path: './MIO-KITCHEN-macos.zip' |