shenjack
8709286da5
算了,不需要 init sub modules 我的问题,没处理好依赖 some fix to make ruff happy remove ruff format looks better try try on action again!
107 lines
3.1 KiB
YAML
107 lines
3.1 KiB
YAML
# 名称
|
|
name: Build DR rs
|
|
|
|
# 运行条件
|
|
on:
|
|
# 触发条件
|
|
push:
|
|
paths:
|
|
- "mods/dr_game/**" # 本体修改
|
|
- ".github/workflows/**" # workflow 修改
|
|
- "requirements*" # 依赖修改
|
|
pull_request:
|
|
paths:
|
|
- "mods/dr_game/**" # 本体修改
|
|
- ".github/workflows/**" # workflow 修改
|
|
- "requirements*" # 依赖修改
|
|
workflow_dispatch:
|
|
|
|
# 主任务
|
|
jobs:
|
|
build-dr-rs:
|
|
if: ${{!startsWith(github.event.ref, 'refs/tags/') && contains(github.event.head_commit.message, '[build rs skip]') == false }}
|
|
# 全都要!
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, ubuntu-latest, windows-latest]
|
|
python-version: ["3.8"] # 3.11 is now supported!, but just run 3.8
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
# Check-out repository
|
|
- name: Check out
|
|
uses: actions/checkout@v4
|
|
|
|
# check out submodule
|
|
# - name: init submodule
|
|
# run: |
|
|
# git submodule init
|
|
# git submodule update
|
|
|
|
# 缓存 Rust 构建
|
|
- name: Cache rust
|
|
uses: Swatinem/rust-cache@v2
|
|
with:
|
|
workspaces: mods/dr_game/Difficult_Rocket_rs
|
|
key: dr_rs-v1
|
|
|
|
# 获取短 sha
|
|
- name: Get short commit sha
|
|
id: get_short_sha
|
|
shell: pwsh
|
|
run: |
|
|
# short_sha=$(echo ${GITHUB_SHA} | cut -c1-7)
|
|
# echo "short_sha=$short_sha" >> $GITHUB_OUTPUT
|
|
# echo $GITHUB_OUTPUT
|
|
$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
|
|
|
|
|
|
# 安装 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 env
|
|
run: |
|
|
pip install -r requirement-dev.txt
|
|
pip install git+https://github.com/shenjackyuanjie/lib-not-dr.git
|
|
|
|
# 提取 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
|
|
|
|
# 编译 dr_rs
|
|
- name: Build dr_rs
|
|
shell: pwsh
|
|
run: |
|
|
Set-Location mods/dr_game/Difficult_Rocket_rs/src
|
|
python setup.py build
|
|
python post_build.py
|
|
python setup.py clean
|
|
cd ..
|
|
Remove-Item -Recurse -Force src
|
|
|
|
# Uploads artifact
|
|
- name: Upload Artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: DR_rs${{env.DR_version}}-${{runner.os}}${{matrix.python-version}}-Build.${{github.run_number}}+${{env.short_sha}}
|
|
path: |
|
|
mods/dr_game
|