property #988
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 DR nuitka | |
# 运行条件 | |
on: | |
# 触发条件 | |
push: | |
paths: | |
- "Difficult_Rocket/**" # 本体修改 | |
- "libs/pyglet/**" # pyglet 修改 | |
- ".github/workflows/**" # workflow 修改 | |
- "nuitka_build.py" # 构建脚本修改 | |
- "requirements*" # 依赖修改 | |
pull_request: | |
paths: | |
- "Difficult_Rocket/**" # 本体修改 | |
- "libs/pyglet/**" # pyglet 修改 | |
- ".github/workflows/**" # workflow 修改 | |
- "nuitka_build.py" # 构建脚本修改 | |
- "requirements*" # 依赖修改 | |
workflow_dispatch: | |
# 主任务 | |
jobs: | |
build-nuitka: | |
if: ${{!startsWith(github.event.ref, 'refs/tags/') && contains(github.event.head_commit.message, '[build skip]') == false }} | |
# 全都要! | |
strategy: | |
fail-fast: false | |
matrix: | |
# os: [macos-latest, ubuntu-latest, windows-latest] | |
os: [ubuntu-latest, windows-latest] | |
python-version: ["3.8"] # 3.11 still not support by nuitka 3.10 就不构建了 少消耗一些时间 | |
runs-on: ${{ matrix.os }} | |
steps: | |
# Check-out repository | |
- name: Check out | |
uses: actions/checkout@v4 | |
# 初始化子模块 | |
- name: Init submodules | |
run: | | |
git submodule init | |
git submodule update | |
# 安装 Python | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} # 为了支持 win7 我还是得用 3.8 | |
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified | |
cache: 'pip' | |
cache-dependency-path: | | |
**/requirement-dev.txt | |
# 安装特殊依赖 | |
- name: Install git denpendencies | |
run: | | |
pip install libs/lib_not_dr | |
pip install libs/pyglet | |
# 安装依赖 | |
- name: Install env | |
run: | | |
python gen_require.py 1 | |
pip install -r requirements.txt | |
# 使用 ruff 检查一遍仓库 | |
- name: Ruff check | |
if: runner.os == 'Windows' && matrix.python-version == '3.8' | |
# 只在 windows 的 python 3.8 上检查 减少无用报错 | |
run: | | |
pip install ruff | |
ruff check . --exit-zero | |
# 提取 DR 版本和其他信息 | |
- name: Display Difficult-Rocket info | |
id: DR_info | |
shell: pwsh | |
run: | | |
$infos = python .github/workflows/get_info.py -github | |
Write-Output $infos >> $env:GITHUB_ENV | |
python .github/workflows/get_info.py | |
# 使用新的 nuitka_build.py | |
- name: Build by nuitka | |
shell: pwsh | |
run: | | |
python -m lndl_nuitka . -y -github | |
# 集成的构建脚本 好耶! | |
# 获取短 sha | |
- name: Get short commit sha | |
id: get_short_sha | |
shell: pwsh | |
run: | | |
$short_sha = Write-Output $env:GITHUB_SHA | |
$short_sha = $short_sha.substring(1,7) | |
Write-Output $short_sha | |
Write-Output "short_sha=$short_sha" >> $env:GITHUB_ENV | |
# Uploads artifact | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Difficult-Rocket_v${{env.DR_version}}-${{runner.os}}${{matrix.python-version}}-Build.${{github.run_number}}+${{env.short_sha}}.zip | |
path: | | |
build/DR.dist |