把东西加回来 #428
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 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] | |
os: [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: | | |
python gen_require.py 1 | |
pip install -r requirements.txt | |
pip install libs/lib_not_dr | |
# 提取 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 |