Skip to content

feat: include .env file in build artifacts for all platforms #31

feat: include .env file in build artifacts for all platforms

feat: include .env file in build artifacts for all platforms #31

Workflow file for this run

name: Build Executables
on:
push:
branches:
- main
tags:
- 'v*' # 添加标签触发条件,匹配 v1.0.0 这样的标签
jobs:
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build EXE
run: |
pyinstaller CursorKeepAlive.spec
- name: Copy and rename env file
run: |
copy .env.example dist\.env
- name: Upload Windows artifact
uses: actions/upload-artifact@v4
with:
name: CursorPro-Windows
path: |
dist/CursorPro.exe
dist/.env
build-macos-arm64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build MacOS ARM executable
run: |
pyinstaller CursorKeepAlive.spec
- name: Copy and rename env file
run: |
cp .env.example dist/.env
- name: Upload MacOS ARM artifact
uses: actions/upload-artifact@v4
with:
name: CursorPro-MacOS-ARM64
path: |
dist/CursorPro
dist/.env
build-linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build Linux executable
run: |
pyinstaller CursorKeepAlive.spec
- name: Copy and rename env file
run: |
cp .env.example dist/.env
- name: Upload Linux artifact
uses: actions/upload-artifact@v4
with:
name: CursorPro-Linux
path: |
dist/CursorPro
dist/.env
build-macos-intel:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
arch -x86_64 pip3 install --upgrade pip
arch -x86_64 pip3 install pyinstaller
arch -x86_64 pip3 install -r requirements.txt
- name: Build MacOS Intel executable
env:
TARGET_ARCH: 'x86_64'
run: |
arch -x86_64 python3 -m PyInstaller CursorKeepAlive.spec
- name: Copy and rename env file
run: |
cp .env.example dist/.env
- name: Verify architecture
run: |
file dist/CursorPro | grep "x86_64" || (echo "Wrong architecture" && exit 1)
- name: Upload MacOS Intel artifact
uses: actions/upload-artifact@v4
with:
name: CursorPro-MacOS-Intel
path: |
dist/CursorPro
dist/.env
create-release:
needs: [build-windows, build-macos-arm64, build-linux, build-macos-intel]
runs-on: ubuntu-22.04
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Create release archives
run: |
cd artifacts
zip -r CursorPro-Windows.zip CursorPro-Windows/
zip -r CursorPro-MacOS-ARM64.zip CursorPro-MacOS-ARM64/
zip -r CursorPro-Linux.zip CursorPro-Linux/
zip -r CursorPro-MacOS-Intel.zip CursorPro-MacOS-Intel/
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
artifacts/CursorPro-Windows.zip
artifacts/CursorPro-MacOS-ARM64.zip
artifacts/CursorPro-Linux.zip
artifacts/CursorPro-MacOS-Intel.zip
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}