From 84f11a09061e5d5f4141a081abdfa827c4f48624 Mon Sep 17 00:00:00 2001 From: YoVinchen Date: Mon, 30 Jun 2025 11:08:24 +0800 Subject: [PATCH] Create main.yml --- .github/workflows/main.yml | 89 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..b2cfde3 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,89 @@ +# GitHub Actions工作流 - 多平台构建 +# 将此文件放在 .github/workflows/ 目录下 + +name: Build Multi-Platform Executables + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + build-windows: + runs-on: windows-latest + strategy: + matrix: + arch: [x64, x86] + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + architecture: ${{ matrix.arch }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pandas openpyxl pyinstaller + + - name: Build executable + run: | + pyinstaller --onefile --console --name "座位分配系统_${{ matrix.arch }}" seat_allocation_system.py + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: windows-${{ matrix.arch }} + path: dist/座位分配系统_${{ matrix.arch }}.exe + + build-macos: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pandas openpyxl pyinstaller + + - name: Build executable + run: | + pyinstaller --onefile --console --name "座位分配系统_macos" seat_allocation_system.py + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: macos + path: dist/座位分配系统_macos + + create-release: + needs: [build-windows, build-macos] + runs-on: ubuntu-latest + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + + steps: + - name: Download all artifacts + uses: actions/download-artifact@v3 + + - name: Create Release + uses: softprops/action-gh-release@v1 + with: + tag_name: v${{ github.run_number }} + name: Release v${{ github.run_number }} + files: | + windows-x64/座位分配系统_x64.exe + windows-x86/座位分配系统_x86.exe + macos/座位分配系统_macos + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}