nex-box 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,146 @@
1
+ name: Release nex-box to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+ id-token: write
12
+
13
+ jobs:
14
+ # ---------------------------------------------------------------------------
15
+ # 1. BUILD LINUX WHEELS (x86_64 & aarch64 via QEMU)
16
+ # ---------------------------------------------------------------------------
17
+ linux:
18
+ runs-on: ubuntu-latest
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ target: [x86_64, aarch64]
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+ - uses: actions/setup-python@v5
26
+ with:
27
+ python-version: '3.11'
28
+
29
+ - name: Set up QEMU
30
+ if: matrix.target == 'aarch64'
31
+ uses: docker/setup-qemu-action@v3
32
+
33
+ - name: Build wheels
34
+ uses: PyO3/maturin-action@v1
35
+ with:
36
+ target: ${{ matrix.target }}
37
+ args: --release --out dist
38
+ manylinux: '2_28'
39
+ sccache: 'true'
40
+
41
+ - name: Upload wheels
42
+ uses: actions/upload-artifact@v4
43
+ with:
44
+ name: wheels-linux-${{ matrix.target }}
45
+ path: dist
46
+
47
+ # ---------------------------------------------------------------------------
48
+ # 2. BUILD MACOS WHEELS (Apple Silicon & Intel)
49
+ # ---------------------------------------------------------------------------
50
+ macos:
51
+ runs-on: macos-latest
52
+ strategy:
53
+ fail-fast: false
54
+ matrix:
55
+ target: [aarch64-apple-darwin, x86_64-apple-darwin]
56
+ steps:
57
+ - uses: actions/checkout@v4
58
+ - uses: actions/setup-python@v5
59
+ with:
60
+ python-version: '3.11'
61
+
62
+ - name: Build wheels
63
+ uses: PyO3/maturin-action@v1
64
+ with:
65
+ target: ${{ matrix.target }}
66
+ args: --release --out dist
67
+ sccache: 'true'
68
+
69
+ - name: Upload wheels
70
+ uses: actions/upload-artifact@v4
71
+ with:
72
+ name: wheels-macos-${{ matrix.target }}
73
+ path: dist
74
+
75
+ # ---------------------------------------------------------------------------
76
+ # 3. BUILD WINDOWS WHEEL (x86_64)
77
+ # ---------------------------------------------------------------------------
78
+ windows:
79
+ runs-on: windows-latest
80
+ steps:
81
+ - uses: actions/checkout@v4
82
+ - uses: actions/setup-python@v5
83
+ with:
84
+ python-version: '3.11'
85
+
86
+ - name: Build wheels
87
+ uses: PyO3/maturin-action@v1
88
+ with:
89
+ target: x86_64-pc-windows-msvc
90
+ args: --release --out dist
91
+ sccache: 'true'
92
+
93
+ - name: Upload wheels
94
+ uses: actions/upload-artifact@v4
95
+ with:
96
+ name: wheels-windows-x86_64
97
+ path: dist
98
+
99
+ # ---------------------------------------------------------------------------
100
+ # 4. BUILD SOURCE DISTRIBUTION (sdist)
101
+ # ---------------------------------------------------------------------------
102
+ sdist:
103
+ runs-on: ubuntu-latest
104
+ steps:
105
+ - uses: actions/checkout@v4
106
+ - uses: actions/setup-python@v5
107
+ with:
108
+ python-version: '3.11'
109
+
110
+ - name: Build sdist
111
+ uses: PyO3/maturin-action@v1
112
+ with:
113
+ command: sdist
114
+ args: --out dist
115
+
116
+ - name: Upload sdist
117
+ uses: actions/upload-artifact@v4
118
+ with:
119
+ name: wheels-sdist
120
+ path: dist
121
+
122
+ # ---------------------------------------------------------------------------
123
+ # 5. AGGREGATE AND PUBLISH TO PYPI (NON-BLOCKING RESILIENT)
124
+ # ---------------------------------------------------------------------------
125
+ release:
126
+ name: Publish to PyPI
127
+ runs-on: ubuntu-latest
128
+ needs: [linux, macos, windows, sdist]
129
+ if: always() && needs.sdist.result == 'success'
130
+ environment:
131
+ name: pypi
132
+ url: https://pypi.org/p/nex-box
133
+ permissions:
134
+ id-token: write
135
+ steps:
136
+ - name: Download all artifacts
137
+ uses: actions/download-artifact@v4
138
+ with:
139
+ path: dist
140
+ pattern: wheels-*
141
+ merge-multiple: true
142
+
143
+ - name: Publish package distributions to PyPI
144
+ uses: pypa/gh-action-pypi-publish@release/v1
145
+ with:
146
+ packages-dir: dist/
@@ -0,0 +1,24 @@
1
+ # Rust build artifacts
2
+ target/
3
+ Cargo.lock
4
+
5
+ # Sandbox scratch roots
6
+ .nexbox/
7
+ .nex_backups/
8
+
9
+ # Python artifacts
10
+ __pycache__/
11
+ *.pyc
12
+ *.pyo
13
+ *.pyd
14
+ *.whl
15
+ *.tar.gz
16
+ dist/
17
+ build/
18
+ *.egg-info/
19
+ .pytest_cache/
20
+
21
+ # OS artifacts
22
+ .DS_Store
23
+ .DS_Store?
24
+ ._*