-
Notifications
You must be signed in to change notification settings - Fork 0
91 lines (75 loc) · 2.61 KB
/
Copy pathrelease.yml
File metadata and controls
91 lines (75 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
name: Build and Release Wheels
on:
push:
tags:
- 'v*'
workflow_dispatch: # Allow manual trigger for testing
permissions:
contents: write # For GitHub Releases
jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, macos-14, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/cibuildwheel@v2.21
env:
CIBW_BUILD: cp38-* cp39-* cp310-* cp311-* cp312-*
CIBW_SKIP: "*-win32 *-manylinux_i686 *-musllinux_* cp38-macosx_arm64"
CIBW_BEFORE_ALL_LINUX: yum install -y cmake3 libcurl-devel || apt-get update && apt-get install -y cmake libcurl4-openssl-dev
CIBW_BEFORE_ALL_MACOS: brew install cmake
CIBW_TEST_COMMAND: python -c "import tui_tester; print('Import successful')"
CIBW_BUILD_VERBOSITY: 1
- name: Upload wheels
uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}
path: ./wheelhouse/*.whl
build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build sdist
run: pipx run build --sdist
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist/*.tar.gz
release:
name: Create GitHub Release
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: dist/
merge-multiple: true
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
files: dist/*
generate_release_notes: true
body: |
## Installation
Download the appropriate wheel for your platform and install:
```bash
# Example for Linux
pip install volt-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
```
Or install directly from GitHub Release:
```bash
pip install https://github.com/EpochSpace/volt/releases/download/v0.3.0/volt-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
```
## Available Platforms
- Linux (x86_64) - Python 3.8, 3.9, 3.10, 3.11, 3.12
- macOS (x86_64, ARM64) - Python 3.8, 3.9, 3.10, 3.11, 3.12
- Windows (AMD64) - Python 3.8, 3.9, 3.10, 3.11, 3.12