ux-py 0.1.3__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,61 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ env:
10
+ CARGO_TERM_COLOR: always
11
+
12
+ jobs:
13
+ check:
14
+ name: Check
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+ - uses: dtolnay/rust-toolchain@stable
19
+ - run: cargo check
20
+
21
+ fmt:
22
+ name: Format
23
+ runs-on: ubuntu-latest
24
+ steps:
25
+ - uses: actions/checkout@v6
26
+ - uses: dtolnay/rust-toolchain@stable
27
+ with:
28
+ components: rustfmt
29
+ - run: cargo fmt --all -- --check
30
+
31
+ clippy:
32
+ name: Clippy
33
+ runs-on: ubuntu-latest
34
+ steps:
35
+ - uses: actions/checkout@v6
36
+ - uses: dtolnay/rust-toolchain@stable
37
+ with:
38
+ components: clippy
39
+ - run: cargo clippy -- -D warnings
40
+
41
+ test:
42
+ name: Test
43
+ runs-on: ${{ matrix.os }}
44
+ strategy:
45
+ matrix:
46
+ os: [ubuntu-latest, macos-latest, windows-latest]
47
+ steps:
48
+ - uses: actions/checkout@v6
49
+ - uses: dtolnay/rust-toolchain@stable
50
+ - run: cargo test
51
+
52
+ build:
53
+ name: Build
54
+ runs-on: ${{ matrix.os }}
55
+ strategy:
56
+ matrix:
57
+ os: [ubuntu-latest, macos-latest, windows-latest]
58
+ steps:
59
+ - uses: actions/checkout@v6
60
+ - uses: dtolnay/rust-toolchain@stable
61
+ - run: cargo build --release
@@ -0,0 +1,211 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ env:
9
+ CARGO_TERM_COLOR: always
10
+
11
+ jobs:
12
+ build:
13
+ name: Build ${{ matrix.target }}
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ include:
19
+ # macOS
20
+ - os: macos-latest
21
+ target: x86_64-apple-darwin
22
+ artifact_name: ux
23
+ asset_name: ux-x86_64-apple-darwin
24
+
25
+ - os: macos-latest
26
+ target: aarch64-apple-darwin
27
+ artifact_name: ux
28
+ asset_name: ux-aarch64-apple-darwin
29
+
30
+ # Linux
31
+ - os: ubuntu-latest
32
+ target: x86_64-unknown-linux-gnu
33
+ artifact_name: ux
34
+ asset_name: ux-x86_64-unknown-linux-gnu
35
+
36
+ - os: ubuntu-latest
37
+ target: aarch64-unknown-linux-gnu
38
+ artifact_name: ux
39
+ asset_name: ux-aarch64-unknown-linux-gnu
40
+ cross: true
41
+
42
+ # Windows
43
+ - os: windows-latest
44
+ target: x86_64-pc-windows-msvc
45
+ artifact_name: ux.exe
46
+ asset_name: ux-x86_64-pc-windows-msvc
47
+
48
+ steps:
49
+ - name: Checkout
50
+ uses: actions/checkout@v6
51
+
52
+ - name: Install Rust toolchain
53
+ uses: dtolnay/rust-toolchain@stable
54
+ with:
55
+ targets: ${{ matrix.target }}
56
+
57
+ - name: Install cross (for cross-compilation)
58
+ if: matrix.cross
59
+ run: cargo install cross --git https://github.com/cross-rs/cross
60
+
61
+ - name: Build with cross
62
+ if: matrix.cross
63
+ run: cross build --release --target ${{ matrix.target }}
64
+
65
+ - name: Build with cargo
66
+ if: ${{ !matrix.cross }}
67
+ run: cargo build --release --target ${{ matrix.target }}
68
+
69
+ - name: Create tarball (Unix)
70
+ if: runner.os != 'Windows'
71
+ run: |
72
+ cd target/${{ matrix.target }}/release
73
+ tar czvf ../../../${{ matrix.asset_name }}.tar.gz ${{ matrix.artifact_name }}
74
+
75
+ - name: Create zip (Windows)
76
+ if: runner.os == 'Windows'
77
+ run: |
78
+ cd target/${{ matrix.target }}/release
79
+ 7z a ../../../${{ matrix.asset_name }}.zip ${{ matrix.artifact_name }}
80
+
81
+ - name: Upload artifact (Unix)
82
+ if: runner.os != 'Windows'
83
+ uses: actions/upload-artifact@v6
84
+ with:
85
+ name: ${{ matrix.asset_name }}
86
+ path: ${{ matrix.asset_name }}.tar.gz
87
+
88
+ - name: Upload artifact (Windows)
89
+ if: runner.os == 'Windows'
90
+ uses: actions/upload-artifact@v6
91
+ with:
92
+ name: ${{ matrix.asset_name }}
93
+ path: ${{ matrix.asset_name }}.zip
94
+
95
+ release:
96
+ name: Create Release
97
+ needs: build
98
+ runs-on: ubuntu-latest
99
+ permissions:
100
+ contents: write
101
+
102
+ steps:
103
+ - name: Checkout
104
+ uses: actions/checkout@v6
105
+
106
+ - name: Download all artifacts
107
+ uses: actions/download-artifact@v6
108
+ with:
109
+ path: artifacts
110
+
111
+ - name: List artifacts
112
+ run: find artifacts -type f
113
+
114
+ - name: Create Release
115
+ uses: softprops/action-gh-release@v2
116
+ with:
117
+ generate_release_notes: true
118
+ files: |
119
+ artifacts/**/*.tar.gz
120
+ artifacts/**/*.zip
121
+
122
+ # PyPI publishing with maturin
123
+ pypi-linux:
124
+ runs-on: ubuntu-latest
125
+ steps:
126
+ - uses: actions/checkout@v6
127
+ - uses: actions/setup-python@v5
128
+ with:
129
+ python-version: "3.12"
130
+ - name: Build wheels
131
+ uses: PyO3/maturin-action@v1.49.4
132
+ with:
133
+ target: x86_64
134
+ args: --release --out dist
135
+ manylinux: auto
136
+ - name: Upload wheels
137
+ uses: actions/upload-artifact@v6
138
+ with:
139
+ name: wheels-linux-x86_64
140
+ path: dist
141
+
142
+ pypi-windows:
143
+ runs-on: windows-latest
144
+ steps:
145
+ - uses: actions/checkout@v6
146
+ - uses: actions/setup-python@v5
147
+ with:
148
+ python-version: "3.12"
149
+ - name: Build wheels
150
+ uses: PyO3/maturin-action@v1.49.4
151
+ with:
152
+ args: --release --out dist
153
+ - name: Upload wheels
154
+ uses: actions/upload-artifact@v6
155
+ with:
156
+ name: wheels-windows-x64
157
+ path: dist
158
+
159
+ pypi-macos:
160
+ runs-on: macos-latest
161
+ strategy:
162
+ matrix:
163
+ target: [x86_64, aarch64]
164
+ steps:
165
+ - uses: actions/checkout@v6
166
+ - uses: actions/setup-python@v5
167
+ with:
168
+ python-version: "3.12"
169
+ - name: Build wheels
170
+ uses: PyO3/maturin-action@v1.49.4
171
+ with:
172
+ target: ${{ matrix.target }}
173
+ args: --release --out dist
174
+ - name: Upload wheels
175
+ uses: actions/upload-artifact@v6
176
+ with:
177
+ name: wheels-macos-${{ matrix.target }}
178
+ path: dist
179
+
180
+ pypi-sdist:
181
+ runs-on: ubuntu-latest
182
+ steps:
183
+ - uses: actions/checkout@v6
184
+ - name: Build sdist
185
+ uses: PyO3/maturin-action@v1.49.4
186
+ with:
187
+ command: sdist
188
+ args: --out dist
189
+ - name: Upload sdist
190
+ uses: actions/upload-artifact@v6
191
+ with:
192
+ name: wheels-sdist
193
+ path: dist
194
+
195
+ pypi-publish:
196
+ name: Publish to PyPI
197
+ runs-on: ubuntu-latest
198
+ needs: [pypi-linux, pypi-windows, pypi-macos, pypi-sdist]
199
+ environment:
200
+ name: pypi
201
+ url: https://pypi.org/p/ux-py
202
+ permissions:
203
+ id-token: write
204
+ steps:
205
+ - uses: actions/download-artifact@v6
206
+ with:
207
+ pattern: wheels-*
208
+ merge-multiple: true
209
+ path: dist
210
+ - name: Publish to PyPI
211
+ uses: pypa/gh-action-pypi-publish@v1.13.0
ux_py-0.1.3/.gitignore ADDED
@@ -0,0 +1 @@
1
+ /target