shenjack
8709286da5
算了,不需要 init sub modules 我的问题,没处理好依赖 some fix to make ruff happy remove ruff format looks better try try on action again!
110 lines
3.4 KiB
YAML
110 lines
3.4 KiB
YAML
# 名称
|
|
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]
|
|
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
|
|
|
|
# 初始化子模块
|
|
# 暂时不需要 因为直接用 git install
|
|
# - 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 git+https://github.com/shenjackyuanjie/pyglet.git
|
|
pip install git+https://github.com/shenjackyuanjie/lib-not-dr.git
|
|
|
|
# 安装依赖
|
|
- name: Install env
|
|
run: |
|
|
pip install -r requirement-dev.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 nuitka_build.py --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/github/DR.dist
|