fix a bug #182
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 (Dev)' | |
on: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
jobs: | |
get-version-number: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: "Get version number" | |
id: get_version | |
run: | | |
export VERSION=$(python -c 'print(__import__("version").VERSION)') | |
export SUB_VER=$(git rev-list --no-merges --count $(git describe --tags --abbrev=0)..HEAD) | |
echo "Currect Version Number: $VERSION.$SUB_VER" | |
echo "SUB_VER = $SUB_VER" >> version.py | |
# Create an environment file | |
echo "VERSION=${VERSION}.${SUB_VER}" >> $GITHUB_OUTPUT | |
echo "SUB_VERSION=${SUB_VER}" >> $GITHUB_OUTPUT | |
outputs: | |
VERSION: ${{ steps.get_version.outputs.VERSION }} | |
SUB_VERSION: ${{ steps.get_version.outputs.SUB_VERSION }} | |
build: | |
needs: get-version-number | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
arch: [x86, x64, arm64] | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v3 | |
- name: "Setup Python" | |
uses: actions/setup-python@v3 | |
with: | |
python-version: 3.11 # 保证兼容性 | |
- name: "Install requirements" | |
run: | | |
python -m pip install --upgrade pip | |
pip install -U -r requirements.txt | |
pip install -U nuitka imageio | |
- name: "Write version number (Windows)" | |
if: matrix.os == 'windows-latest' | |
run: | | |
Add-Content -Path "version.py" -Value "SUB_VER = `$env:SUB_VER" | |
env: | |
SUB_VER: ${{ needs.get-version-number.outputs.SUB_VERSION }} | |
- name: "Write version number" | |
if: matrix.os != 'windows-latest' | |
run: | | |
echo "SUB_VER = $SUB_VER" >> version.py | |
env: | |
SUB_VER: ${{ needs.get-version-number.outputs.SUB_VERSION }} | |
- name: "Build executeable" | |
run: | | |
python -m nuitka --onefile --standalone --follow-imports --show-modules --output-dir=build --lto=yes --windows-icon-from-ico=icon.ico --windows-file-version=$VERSION --windows-product-version=$VERSION --show_progress --windows-product-name=OneDisc --windows-file-description="Discord 的 OneBot 实现" --windows-copy-right "Copyright © 2023 IT Craft Development Team." main.py | |
env: | |
VERSION: ${{ needs.get-version-number.outputs.VERSION }} | |
- name: "Upload build" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: OneDisc ${{ needs.get-version-number.outputs.VERSION }} for ${{ matrix.os }}-${{ matrix.arch }} | |
path: build/* |