Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 34 additions & 9 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ jobs:
name: Release
runs-on: ubuntu-latest
timeout-minutes: 60
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' || github.ref == 'refs/heads/main' }}
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
needs: [linux, musllinux, windows, macos, sdist]
permissions:
id-token: write
Expand All @@ -392,26 +392,51 @@ jobs:
with:
# This downloads all artifacts.
# Each artifact is placed in a directory named after its name (e.g., wheels-linux-x86_64/)
path: .
path: wheels

- name: Display structure of downloaded files
run: ls -R wheels

- name: Generate artifact attestation
uses: actions/attest-build-provenance@v2
with:
subject-path: 'wheels-*/*'
subject-path: 'wheels/wheels-*/*'

# commented for six's fork
# - name: Publish to PyPI
# if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
# if: ${{ startsWith(github.ref, 'refs/tags/') }}
# uses: PyO3/maturin-action@v1
# env:
# MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
# with:
# command: upload
# args: --non-interactive --skip-existing wheels-*/*
# args: --non-interactive --skip-existing wheels/wheels-*/*

- name: Upload to GitHub Release
- name: Create GitHub Release
if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: softprops/action-gh-release@v2
with:
# This pattern catches all wheels and the sdist from all artifact folders
files: |
wheels-*/*
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') }}
files: wheels/wheels-*/*
generate_release_notes: true
prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') || contains(github.ref, 'rc') }}
fail_on_unmatched_files: false
body: |
## BinaryOptionsToolsV2 Release ${{ github.ref_name }}

Pre-built wheels for Python 3.8+ on various platforms.

### Installation

```bash
# Windows
pip install BinaryOptionsToolsV2-${{ github.ref_name }}-cp38-abi3-win_amd64.whl

# Linux (x86_64)
pip install BinaryOptionsToolsV2-${{ github.ref_name }}-cp38-abi3-manylinux_2_28_x86_64.whl

# macOS (Intel)
pip install BinaryOptionsToolsV2-${{ github.ref_name }}-cp38-abi3-macosx_10_12_x86_64.whl
Comment on lines +433 to +439
Copy link

Copilot AI Jan 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The wheel filenames in these install examples likely double-prefix the version. github.ref_name for your tags appears to already be of the form BinaryOptionsToolsV2-0.x.y (see README.md installation URLs), so BinaryOptionsToolsV2-${{ github.ref_name }}-... would become BinaryOptionsToolsV2-BinaryOptionsToolsV2-0.x.y-... and not match the actual asset names. Consider using ${{ github.ref_name }} directly for the filename portion (or derive a separate version variable if your tag naming differs).

Suggested change
pip install BinaryOptionsToolsV2-${{ github.ref_name }}-cp38-abi3-win_amd64.whl
# Linux (x86_64)
pip install BinaryOptionsToolsV2-${{ github.ref_name }}-cp38-abi3-manylinux_2_28_x86_64.whl
# macOS (Intel)
pip install BinaryOptionsToolsV2-${{ github.ref_name }}-cp38-abi3-macosx_10_12_x86_64.whl
pip install ${{ github.ref_name }}-cp38-abi3-win_amd64.whl
# Linux (x86_64)
pip install ${{ github.ref_name }}-cp38-abi3-manylinux_2_28_x86_64.whl
# macOS (Intel)
pip install ${{ github.ref_name }}-cp38-abi3-macosx_10_12_x86_64.whl

Copilot uses AI. Check for mistakes.
```

See the README for more installation options and documentation.
2 changes: 1 addition & 1 deletion examples/javascript/create_raw_iterator.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ async function main(ssid) {

const ssid = ''

main(ssid).catch(console.error);
main(ssid).catch(console.error);
Loading