Files
sbackup/.github/workflows/release.yml
T
2026-05-01 21:38:51 +08:00

120 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
# 发布 PyPI 包(sbackup-cli)
publish-pypi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: "latest"
- name: Build
run: uv build
- name: Publish to PyPI
run: uv publish --token ${{ secrets.PYPI_TOKEN }}
# 构建 Windows 可执行文件
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: pip install nuitka py7zr tqdm zstandard
- name: Build executable
run: |
python -m nuitka `
--onefile `
--assume-yes-for-downloads `
--output-filename=sbackup.exe `
--include-package=sbackup `
--include-data-dir=sbackup/locales=sbackup/locales `
--include-package=py7zr `
--include-package=tqdm `
--include-package=zstandard `
main.py
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
files: sbackup.exe
# 构建 macOS 可执行文件
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: pip install nuitka py7zr tqdm zstandard
- name: Build executable
run: |
python -m nuitka \
--onefile \
--assume-yes-for-downloads \
--output-filename=sbackup-macos \
--include-package=sbackup \
--include-data-dir=sbackup/locales=sbackup/locales \
--include-package=py7zr \
--include-package=tqdm \
--include-package=zstandard \
main.py
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
files: sbackup-macos
# 构建 Linux 可执行文件
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install dependencies
run: pip install nuitka py7zr tqdm zstandard
- name: Build executable
run: |
python -m nuitka \
--onefile \
--assume-yes-for-downloads \
--output-filename=sbackup-linux \
--include-package=sbackup \
--include-data-dir=sbackup/locales=sbackup/locales \
--include-package=py7zr \
--include-package=tqdm \
--include-package=zstandard \
main.py
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
files: sbackup-linux