2024-11-06 06:46:35 +08:00

100 lines
2.7 KiB
YAML

name: Release
on:
workflow_dispatch:
jobs:
loadversion:
runs-on: windows-latest
outputs:
version: ${{ steps.loadversion.outputs.version }}
steps:
- uses: actions/checkout@v4
- id: loadversion
run: python py/build.py loadversion | Out-File -FilePath $Env:GITHUB_OUTPUT -Encoding utf8 -Append
hook:
runs-on: windows-latest
strategy:
matrix:
bits: [32, 64]
permissions:
id-token: write
attestations: write
contents: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: GuillaumeFalourd/setup-windows10-sdk-action@v2
with:
sdk-version: 22621
- run: python cpp/LunaHook/build.py build English ${{matrix.bits}}
- uses: actions/upload-artifact@v4
with:
name: hook_${{matrix.bits}}
path: cpp/LunaHook/builds/Release_English
pyrt:
runs-on: windows-latest
strategy:
matrix:
architecture: [x86, x64]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.7.9'
architecture: ${{ matrix.architecture }}
- run: python py/build.py pyrt ${{ matrix.architecture }} 3.7.9
- uses: actions/upload-artifact@v4
with:
name: pyrt_${{ matrix.architecture }}
path: py/pyrt
build_cpp:
runs-on: windows-latest
strategy:
matrix:
architecture: [x86, x64]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: GuillaumeFalourd/setup-windows10-sdk-action@v2
with:
sdk-version: 22621
- run: python py/build.py cpp ${{ matrix.architecture }}
- uses: actions/upload-artifact@v4
with:
name: cpp_${{ matrix.architecture }}
path: cpp/builds
release:
runs-on: windows-latest
needs: [pyrt,build_cpp,loadversion,hook]
strategy:
matrix:
include:
- architecture: x86
fname: LunaTranslator_x86
- architecture: x64
fname: LunaTranslator
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
path: build
- run: python py/build.py merge ${{ matrix.architecture }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.fname }}
path: py/build/${{matrix.fname}}.zip
- uses: softprops/action-gh-release@v2
with:
tag_name: ${{ needs.loadversion.outputs.version }}
files: |
py/build/${{matrix.fname}}.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}