Skip to content

Commit d8fab0d

Browse files
authored
Release/pywry 2.0.1 (#41)
* patch release * missed file in commit * Fix SBOM step * Fix pip install command for dependencies * Prepare Python package artifacts for PyPI publishing Add step to prepare Python package artifacts for publishing. --------- Co-authored-by: deeleeramone <>
1 parent 891c36d commit d8fab0d

3 files changed

Lines changed: 71 additions & 6 deletions

File tree

.github/workflows/publish-pywry.yml

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -443,9 +443,65 @@ jobs:
443443
name: Generate release SBOM
444444
needs: [test]
445445
if: ${{ !cancelled() && (needs.test.result == 'success' || needs.test.result == 'skipped') }}
446+
runs-on: ubuntu-24.04
447+
defaults:
448+
run:
449+
working-directory: pywry
446450
permissions:
447451
contents: read
448-
uses: ./.github/workflows/sbom.yml
452+
steps:
453+
- uses: actions/checkout@v5
454+
455+
- name: Set up Python
456+
uses: actions/setup-python@v6
457+
with:
458+
python-version: '3.12'
459+
460+
- name: Set up Node.js
461+
uses: actions/setup-node@v5
462+
with:
463+
node-version: '22'
464+
465+
- name: Install dependencies
466+
run: |
467+
python -m pip install --upgrade pip
468+
pip install ".[all,dev,freeze]"
469+
470+
- name: Install CycloneDX tools
471+
run: |
472+
pip install cyclonedx-bom
473+
npm ci --ignore-scripts
474+
475+
- name: Generate and validate merged SBOM
476+
shell: bash
477+
run: |
478+
cyclonedx-py environment --pyproject pyproject.toml --output-format JSON --output-file sbom-python.cdx.json
479+
npx @cyclonedx/cyclonedx-npm --package-lock-only --output-format JSON --output-file sbom-node.cdx.json
480+
481+
docker run --rm \
482+
-v "$PWD:/work" \
483+
-w /work \
484+
cyclonedx/cyclonedx-cli:latest \
485+
merge \
486+
--input-files sbom-python.cdx.json sbom-node.cdx.json \
487+
--output-format json \
488+
--output-file sbom.cdx.json
489+
490+
docker run --rm \
491+
-v "$PWD:/work" \
492+
-w /work \
493+
cyclonedx/cyclonedx-cli:latest \
494+
validate \
495+
--input-file sbom.cdx.json \
496+
--input-format json \
497+
--fail-on-errors
498+
499+
- name: Upload SBOM artifact
500+
uses: actions/upload-artifact@v7
501+
with:
502+
name: sbom
503+
path: pywry/sbom.cdx.json
504+
retention-days: 30
449505

450506
# =============================================================================
451507
# Step 3: Merge all artifacts into single dist
@@ -952,8 +1008,17 @@ jobs:
9521008
echo "📦 Publishing to PyPI:"
9531009
ls -la dist/
9541010
1011+
- name: Prepare Python package artifacts
1012+
shell: bash
1013+
run: |
1014+
mkdir -p publish-dist
1015+
cp dist/*.whl publish-dist/
1016+
cp dist/*.tar.gz publish-dist/
1017+
echo "📦 Python package artifacts to publish:"
1018+
ls -la publish-dist/
1019+
9551020
- name: Publish to PyPI
9561021
uses: pypa/gh-action-pypi-publish@release/v1
9571022
with:
1023+
packages-dir: publish-dist
9581024
verbose: true
959-
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[project]
22
name = "pywry-desktop-extension"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
description = "PyWry MCP Bundle (.mcpb) for Claude Desktop. Wraps pywry[mcp] so the uv runtime resolves dependencies automatically."
55
requires-python = ">=3.10"
66
dependencies = [
7-
"pywry[mcp]>=2.0.0",
7+
"pywry[mcp]>=2.0.1",
88
]

pywry/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "pywry"
3-
version = "2.0.0"
3+
version = "2.0.1"
44
description = "A lightweight and blazingly fast, cross-platform, WebView rendering engine and desktop UI toolkit for Python. Batteries included."
55
authors = [{ name = "PyWry", email = "pywry2@gmail.com" }]
66
license = { text = "Apache 2.0" }
@@ -54,7 +54,7 @@ test = [
5454
"testcontainers>=4.14.0",
5555
]
5656
lint = [
57-
"ruff>=0.13",
57+
"ruff>=0.15",
5858
]
5959
typecheck = [
6060
"ty>=0.0.1a8",

0 commit comments

Comments
 (0)