pysentry-rs 0.1.0__tar.gz → 0.1.4__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.

Potentially problematic release.


This version of pysentry-rs might be problematic. Click here for more details.

Files changed (50) hide show
  1. pysentry_rs-0.1.4/.github/dependabot.yml +27 -0
  2. pysentry_rs-0.1.4/.github/workflows/ci.yml +288 -0
  3. pysentry_rs-0.1.4/.github/workflows/release.yml +233 -0
  4. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/Cargo.lock +199 -240
  5. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/Cargo.toml +4 -3
  6. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/PKG-INFO +89 -10
  7. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/README.md +87 -9
  8. pysentry_rs-0.1.4/fixtures/requirements-tests/requirements-dev.txt +5 -0
  9. pysentry_rs-0.1.4/fixtures/requirements-tests/requirements.txt +12 -0
  10. pysentry_rs-0.1.4/fixtures/requirements-tests-vulnerable/requirements.txt +5 -0
  11. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/pyproject.toml +4 -3
  12. pysentry_rs-0.1.4/python/pysentry/__init__.py +161 -0
  13. pysentry_rs-0.1.4/python/pysentry/__main__.py +6 -0
  14. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/dependency/mod.rs +1 -0
  15. pysentry_rs-0.1.4/src/dependency/resolvers/mod.rs +157 -0
  16. pysentry_rs-0.1.4/src/dependency/resolvers/pip_tools.rs +257 -0
  17. pysentry_rs-0.1.4/src/dependency/resolvers/uv.rs +234 -0
  18. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/dependency/scanner.rs +15 -0
  19. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/error.rs +32 -0
  20. pysentry_rs-0.1.4/src/main.rs +708 -0
  21. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/parsers/mod.rs +16 -0
  22. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/parsers/pyproject.rs +1 -1
  23. pysentry_rs-0.1.4/src/parsers/requirements.rs +496 -0
  24. pysentry_rs-0.1.4/src/python.rs +443 -0
  25. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/vulnerability/database.rs +2 -2
  26. pysentry_rs-0.1.0/CLAUDE.md +0 -145
  27. pysentry_rs-0.1.0/PUBLISHING.md +0 -367
  28. pysentry_rs-0.1.0/python/pysentry-rs/__init__.py +0 -46
  29. pysentry_rs-0.1.0/python/pysentry-rs/__main__.py +0 -6
  30. pysentry_rs-0.1.0/src/main.rs +0 -346
  31. pysentry_rs-0.1.0/src/python.rs +0 -110
  32. pysentry_rs-0.1.0/test-project/pyproject.toml +0 -74
  33. pysentry_rs-0.1.0/test-project/uv.lock +0 -14350
  34. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/.gitignore +0 -0
  35. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/LICENSE +0 -0
  36. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/cache/audit.rs +0 -0
  37. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/cache/mod.rs +0 -0
  38. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/cache/storage.rs +0 -0
  39. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/lib.rs +0 -0
  40. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/output/mod.rs +0 -0
  41. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/output/report.rs +0 -0
  42. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/output/sarif.rs +0 -0
  43. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/parsers/lock.rs +0 -0
  44. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/providers/mod.rs +0 -0
  45. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/providers/osv.rs +0 -0
  46. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/providers/pypa.rs +0 -0
  47. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/providers/pypi.rs +0 -0
  48. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/types.rs +0 -0
  49. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/vulnerability/matcher.rs +0 -0
  50. {pysentry_rs-0.1.0 → pysentry_rs-0.1.4}/src/vulnerability/mod.rs +0 -0
@@ -0,0 +1,27 @@
1
+ version: 2
2
+ updates:
3
+ # Rust dependencies (Cargo.toml/Cargo.lock)
4
+ - package-ecosystem: "cargo"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ open-pull-requests-limit: 10
9
+ groups:
10
+ rust-dependencies:
11
+ patterns:
12
+ - "*"
13
+
14
+ # Python dependencies (pyproject.toml only)
15
+ - package-ecosystem: "pip"
16
+ directory: "/"
17
+ schedule:
18
+ interval: "weekly"
19
+ open-pull-requests-limit: 10
20
+ allow:
21
+ - dependency-type: "all"
22
+ ignore:
23
+ - dependency-name: "*"
24
+ groups:
25
+ python-dependencies:
26
+ patterns:
27
+ - "*"
@@ -0,0 +1,288 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths-ignore:
7
+ - '**.md'
8
+ - 'LICENSE'
9
+ - '.gitignore'
10
+ - '.editorconfig'
11
+ - '.github/dependabot.yml'
12
+ pull_request:
13
+ branches: [main]
14
+ paths-ignore:
15
+ - '**.md'
16
+ - 'LICENSE'
17
+ - '.gitignore'
18
+ - '.editorconfig'
19
+ - '.github/dependabot.yml'
20
+
21
+ env:
22
+ CARGO_TERM_COLOR: always
23
+ RUST_BACKTRACE: 1
24
+
25
+ jobs:
26
+ fmt:
27
+ name: Format Check
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - name: Install Rust
32
+ uses: dtolnay/rust-toolchain@stable
33
+ with:
34
+ components: rustfmt
35
+ - name: Check formatting
36
+ run: cargo fmt --all -- --check
37
+
38
+ clippy:
39
+ name: Clippy
40
+ runs-on: ${{ matrix.os }}
41
+ strategy:
42
+ matrix:
43
+ os: [ubuntu-latest, macos-latest, windows-latest]
44
+ steps:
45
+ - uses: actions/checkout@v4
46
+
47
+ - name: Install system dependencies (Ubuntu)
48
+ if: matrix.os == 'ubuntu-latest'
49
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config
50
+
51
+ - name: Install Rust
52
+ uses: dtolnay/rust-toolchain@stable
53
+ with:
54
+ components: clippy
55
+
56
+ - name: Cache cargo registry
57
+ uses: actions/cache@v4
58
+ with:
59
+ path: |
60
+ ~/.cargo/registry/index/
61
+ ~/.cargo/registry/cache/
62
+ ~/.cargo/git/db/
63
+ key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
64
+ restore-keys: |
65
+ ${{ runner.os }}-cargo-registry-
66
+
67
+ - name: Cache cargo build
68
+ uses: actions/cache@v4
69
+ with:
70
+ path: target
71
+ key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('**/Cargo.lock') }}
72
+ restore-keys: |
73
+ ${{ runner.os }}-cargo-clippy-
74
+ ${{ runner.os }}-cargo-build-
75
+
76
+ - name: Run clippy
77
+ run: cargo clippy --all-targets --all-features -- -D warnings
78
+
79
+ check:
80
+ name: Check
81
+ runs-on: ${{ matrix.os }}
82
+ strategy:
83
+ matrix:
84
+ os: [ubuntu-latest, macos-latest, windows-latest]
85
+ steps:
86
+ - uses: actions/checkout@v4
87
+
88
+ - name: Install system dependencies (Ubuntu)
89
+ if: matrix.os == 'ubuntu-latest'
90
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config
91
+
92
+ - name: Install Rust
93
+ uses: dtolnay/rust-toolchain@stable
94
+
95
+ - name: Cache cargo registry
96
+ uses: actions/cache@v4
97
+ with:
98
+ path: |
99
+ ~/.cargo/registry/index/
100
+ ~/.cargo/registry/cache/
101
+ ~/.cargo/git/db/
102
+ key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
103
+ restore-keys: |
104
+ ${{ runner.os }}-cargo-registry-
105
+
106
+ - name: Cache cargo build
107
+ uses: actions/cache@v4
108
+ with:
109
+ path: target
110
+ key: ${{ runner.os }}-cargo-check-${{ hashFiles('**/Cargo.lock') }}
111
+ restore-keys: |
112
+ ${{ runner.os }}-cargo-check-
113
+ ${{ runner.os }}-cargo-build-
114
+
115
+ - name: Check compilation
116
+ run: cargo check --all-targets --all-features
117
+
118
+ build:
119
+ name: Build
120
+ runs-on: ${{ matrix.os }}
121
+ strategy:
122
+ matrix:
123
+ os: [ubuntu-latest, macos-latest, windows-latest]
124
+ steps:
125
+ - uses: actions/checkout@v4
126
+
127
+ - name: Install system dependencies (Ubuntu)
128
+ if: matrix.os == 'ubuntu-latest'
129
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config
130
+
131
+ - name: Install Rust
132
+ uses: dtolnay/rust-toolchain@stable
133
+
134
+ - name: Cache cargo registry
135
+ uses: actions/cache@v4
136
+ with:
137
+ path: |
138
+ ~/.cargo/registry/index/
139
+ ~/.cargo/registry/cache/
140
+ ~/.cargo/git/db/
141
+ key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
142
+ restore-keys: |
143
+ ${{ runner.os }}-cargo-registry-
144
+
145
+ - name: Cache cargo build
146
+ uses: actions/cache@v4
147
+ with:
148
+ path: target
149
+ key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
150
+ restore-keys: |
151
+ ${{ runner.os }}-cargo-build-
152
+
153
+ - name: Build
154
+ run: cargo build --verbose
155
+
156
+ test-debug:
157
+ name: Test (Debug)
158
+ runs-on: ${{ matrix.os }}
159
+ strategy:
160
+ matrix:
161
+ os: [ubuntu-latest, macos-latest, windows-latest]
162
+ steps:
163
+ - uses: actions/checkout@v4
164
+
165
+ - name: Install system dependencies (Ubuntu)
166
+ if: matrix.os == 'ubuntu-latest'
167
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config
168
+
169
+ - name: Install Rust
170
+ uses: dtolnay/rust-toolchain@stable
171
+
172
+ - name: Cache cargo registry
173
+ uses: actions/cache@v4
174
+ with:
175
+ path: |
176
+ ~/.cargo/registry/index/
177
+ ~/.cargo/registry/cache/
178
+ ~/.cargo/git/db/
179
+ key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
180
+ restore-keys: |
181
+ ${{ runner.os }}-cargo-registry-
182
+
183
+ - name: Cache cargo build
184
+ uses: actions/cache@v4
185
+ with:
186
+ path: target
187
+ key: ${{ runner.os }}-cargo-test-debug-${{ hashFiles('**/Cargo.lock') }}
188
+ restore-keys: |
189
+ ${{ runner.os }}-cargo-test-debug-
190
+ ${{ runner.os }}-cargo-build-
191
+
192
+ - name: Run tests
193
+ run: cargo test --verbose
194
+
195
+ test-release:
196
+ name: Test (Release)
197
+ runs-on: ${{ matrix.os }}
198
+ strategy:
199
+ matrix:
200
+ os: [ubuntu-latest, macos-latest, windows-latest]
201
+ steps:
202
+ - uses: actions/checkout@v4
203
+
204
+ - name: Install system dependencies (Ubuntu)
205
+ if: matrix.os == 'ubuntu-latest'
206
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config
207
+
208
+ - name: Install Rust
209
+ uses: dtolnay/rust-toolchain@stable
210
+
211
+ - name: Cache cargo registry
212
+ uses: actions/cache@v4
213
+ with:
214
+ path: |
215
+ ~/.cargo/registry/index/
216
+ ~/.cargo/registry/cache/
217
+ ~/.cargo/git/db/
218
+ key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
219
+ restore-keys: |
220
+ ${{ runner.os }}-cargo-registry-
221
+
222
+ - name: Cache cargo build
223
+ uses: actions/cache@v4
224
+ with:
225
+ path: target
226
+ key: ${{ runner.os }}-cargo-test-release-${{ hashFiles('**/Cargo.lock') }}
227
+ restore-keys: |
228
+ ${{ runner.os }}-cargo-test-release-
229
+ ${{ runner.os }}-cargo-build-
230
+
231
+ - name: Run tests with release profile
232
+ run: cargo test --release --verbose
233
+
234
+ python-bindings:
235
+ name: Python Bindings
236
+ runs-on: ${{ matrix.os }}
237
+ strategy:
238
+ matrix:
239
+ os: [ubuntu-latest, macos-latest, windows-latest]
240
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
241
+
242
+ steps:
243
+ - uses: actions/checkout@v4
244
+
245
+ - name: Install system dependencies (Ubuntu)
246
+ if: matrix.os == 'ubuntu-latest'
247
+ run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config
248
+
249
+ - name: Set up Python
250
+ uses: actions/setup-python@v5
251
+ with:
252
+ python-version: ${{ matrix.python-version }}
253
+
254
+ - name: Install Rust
255
+ uses: dtolnay/rust-toolchain@stable
256
+
257
+ - name: Cache cargo
258
+ uses: actions/cache@v4
259
+ with:
260
+ path: |
261
+ ~/.cargo/registry/index/
262
+ ~/.cargo/registry/cache/
263
+ ~/.cargo/git/db/
264
+ target
265
+ key: ${{ runner.os }}-cargo-python-${{ hashFiles('**/Cargo.lock') }}
266
+
267
+ - name: Install maturin
268
+ run: pip install maturin
269
+
270
+ - name: Build Python wheel
271
+ run: maturin build --features python
272
+
273
+ - name: Install built wheel
274
+ run: pip install --find-links target/wheels pysentry-rs
275
+
276
+ - name: Test Python bindings
277
+ run: python -c "import pysentry; print('Python bindings work!')"
278
+
279
+ security-audit:
280
+ name: Security Audit
281
+ runs-on: ubuntu-latest
282
+ steps:
283
+ - uses: actions/checkout@v4
284
+ - uses: dtolnay/rust-toolchain@stable
285
+ - name: Install cargo-audit
286
+ run: cargo install cargo-audit
287
+ - name: Run security audit
288
+ run: cargo audit
@@ -0,0 +1,233 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ workflow_dispatch:
8
+
9
+ env:
10
+ CARGO_TERM_COLOR: always
11
+ RUST_BACKTRACE: 1
12
+
13
+ jobs:
14
+ create-release:
15
+ name: Create Release
16
+ runs-on: ubuntu-latest
17
+ permissions:
18
+ contents: write
19
+ outputs:
20
+ release_id: ${{ steps.create_release.outputs.id }}
21
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ with:
25
+ fetch-depth: 0
26
+ - name: Create Release
27
+ id: create_release
28
+ uses: softprops/action-gh-release@v1
29
+ with:
30
+ tag_name: ${{ github.ref_name }}
31
+ name: Release ${{ github.ref_name }}
32
+ draft: true
33
+ prerelease: ${{ contains(github.ref_name, '-') }}
34
+ generate_release_notes: true
35
+ env:
36
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37
+
38
+ build-binaries:
39
+ name: Build Binaries
40
+ needs: create-release
41
+ strategy:
42
+ fail-fast: false
43
+ matrix:
44
+ include:
45
+ - target: x86_64-unknown-linux-gnu
46
+ os: ubuntu-latest
47
+ name: linux-x64
48
+ artifact_name: pysentry
49
+ - target: x86_64-unknown-linux-musl
50
+ os: ubuntu-latest
51
+ name: linux-x64-musl
52
+ artifact_name: pysentry
53
+ - target: aarch64-unknown-linux-gnu
54
+ os: ubuntu-latest
55
+ name: linux-arm64
56
+ artifact_name: pysentry
57
+ - target: x86_64-apple-darwin
58
+ os: macos-latest
59
+ name: macos-x64
60
+ artifact_name: pysentry
61
+ - target: aarch64-apple-darwin
62
+ os: macos-latest
63
+ name: macos-arm64
64
+ artifact_name: pysentry
65
+ - target: x86_64-pc-windows-msvc
66
+ os: windows-latest
67
+ name: windows-x64
68
+ artifact_name: pysentry.exe
69
+
70
+ runs-on: ${{ matrix.os }}
71
+ permissions:
72
+ contents: write
73
+ steps:
74
+ - uses: actions/checkout@v4
75
+
76
+ - name: Install Rust
77
+ uses: dtolnay/rust-toolchain@stable
78
+ with:
79
+ targets: ${{ matrix.target }}
80
+
81
+ - name: Install cross
82
+ if: matrix.target != 'x86_64-unknown-linux-gnu'
83
+ run: cargo install cross
84
+
85
+ - name: Build binary (native)
86
+ if: matrix.target == 'x86_64-unknown-linux-gnu'
87
+ run: cargo build --release --target ${{ matrix.target }} --bin pysentry
88
+
89
+ - name: Build binary (cross-compile)
90
+ if: matrix.target != 'x86_64-unknown-linux-gnu'
91
+ run: cross build --release --target ${{ matrix.target }} --bin pysentry
92
+
93
+ - name: Package binary (Unix)
94
+ if: matrix.os != 'windows-latest'
95
+ run: |
96
+ name=pysentry-${{ matrix.name }}
97
+ mkdir $name
98
+ cp target/${{ matrix.target }}/release/${{ matrix.artifact_name }} $name/
99
+ cp README.md $name/
100
+ cp LICENSE $name/
101
+ tar -czf $name.tar.gz $name
102
+ echo "ASSET=$name.tar.gz" >> $GITHUB_ENV
103
+
104
+ - name: Package binary (Windows)
105
+ if: matrix.os == 'windows-latest'
106
+ run: |
107
+ $name = "pysentry-${{ matrix.name }}"
108
+ mkdir $name
109
+ cp target/${{ matrix.target }}/release/${{ matrix.artifact_name }} $name/
110
+ cp README.md $name/
111
+ cp LICENSE $name/
112
+ Compress-Archive -Path $name -DestinationPath "$name.zip"
113
+ echo "ASSET=$name.zip" | Out-File -FilePath $env:GITHUB_ENV -Append
114
+
115
+ - name: Upload Release Asset
116
+ uses: softprops/action-gh-release@v1
117
+ with:
118
+ tag_name: ${{ github.ref_name }}
119
+ files: ${{ env.ASSET }}
120
+ env:
121
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
122
+
123
+ publish-crates:
124
+ name: Publish to Crates.io
125
+ runs-on: ubuntu-latest
126
+ needs: build-binaries
127
+ if: startsWith(github.ref, 'refs/tags/v')
128
+ steps:
129
+ - uses: actions/checkout@v4
130
+
131
+ - name: Install Rust
132
+ uses: dtolnay/rust-toolchain@stable
133
+
134
+ - name: Publish to crates.io
135
+ run: cargo publish --token ${{ secrets.CARGO_REGISTRY_TOKEN }}
136
+
137
+ build-python-wheels:
138
+ name: Build Python Wheels
139
+ runs-on: ${{ matrix.os }}
140
+ strategy:
141
+ matrix:
142
+ os: [ubuntu-latest, macos-latest]
143
+
144
+ steps:
145
+ - uses: actions/checkout@v4
146
+
147
+ - name: Set up Python
148
+ uses: actions/setup-python@v5
149
+ with:
150
+ python-version: "3.12"
151
+
152
+ - name: Install Rust
153
+ uses: dtolnay/rust-toolchain@stable
154
+
155
+ - name: Build wheels
156
+ uses: PyO3/maturin-action@v1.49.3
157
+ with:
158
+ command: build
159
+ args: --release --features python --out dist -i python3.8 python3.9 python3.10 python3.11 python3.12 python3.13
160
+ sccache: "true"
161
+ manylinux: auto
162
+
163
+ - name: Upload wheels
164
+ uses: actions/upload-artifact@v4
165
+ with:
166
+ name: wheels-${{ matrix.os }}
167
+ path: dist/*.whl
168
+
169
+ build-sdist:
170
+ name: Build Source Distribution
171
+ runs-on: ubuntu-latest
172
+ steps:
173
+ - uses: actions/checkout@v4
174
+
175
+ - name: Set up Python
176
+ uses: actions/setup-python@v5
177
+ with:
178
+ python-version: "3.12"
179
+
180
+ - name: Install Rust
181
+ uses: dtolnay/rust-toolchain@stable
182
+
183
+ - name: Build sdist
184
+ uses: PyO3/maturin-action@v1.49.3
185
+ with:
186
+ command: sdist
187
+ args: --out dist
188
+
189
+ - name: Upload sdist
190
+ uses: actions/upload-artifact@v4
191
+ with:
192
+ name: sdist
193
+ path: dist/*.tar.gz
194
+
195
+ publish-pypi:
196
+ name: Publish to PyPI
197
+ runs-on: ubuntu-latest
198
+ needs: [build-python-wheels, build-sdist]
199
+ if: startsWith(github.ref, 'refs/tags/v')
200
+ steps:
201
+ - name: Download artifacts
202
+ uses: actions/download-artifact@v4
203
+ with:
204
+ path: artifacts
205
+
206
+ - name: Prepare packages for upload
207
+ run: |
208
+ mkdir -p dist
209
+ find artifacts -name "*.whl" -exec cp {} dist/ \;
210
+ find artifacts -name "*.tar.gz" -exec cp {} dist/ \;
211
+ ls -la dist/
212
+
213
+ - name: Publish to PyPI
214
+ uses: pypa/gh-action-pypi-publish@v1.12.4
215
+ with:
216
+ password: ${{ secrets.PYPI_API_TOKEN }}
217
+ packages-dir: dist/
218
+
219
+ update-release:
220
+ name: Update Release
221
+ runs-on: ubuntu-latest
222
+ permissions:
223
+ contents: write
224
+ needs: [build-binaries, publish-crates, publish-pypi]
225
+ if: always()
226
+ steps:
227
+ - name: Mark release as published
228
+ uses: softprops/action-gh-release@v1
229
+ with:
230
+ tag_name: ${{ github.ref_name }}
231
+ draft: false
232
+ env:
233
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}