Skip to content

Conda: bring back the Windows (win-64) package, in two phases #2060

Closed

Description

@JarryShaw

Is your feature request related to a problem?
No win-64 conda package has ever been published. windows-latest was commented out of the conda matrices in 3ab2e8fe4 (2023-06-07, "skip windows conda pkg"), and #2055 removed the steps that were left dead. No failure log survives. The likely cause is conda/pypcapkit/bld.bat: its FOR loop uses %A, which must be %%A inside a .bat file, so the script stops with a syntax error. That loop landed 30 minutes before the skip.

Plan (owner approved)

  1. Phase 1 — build and smoke-test only, no upload. A non-blocking windows-latest leg in Conda Update that cannot publish: no upload steps, and outside environment: anaconda or gated off. It warns like a KTLO leg and stays green. It needs:
    • bld.bat rewritten to install every wheel in one call, as build.sh does, with error checks.
    • shell: bash on the bash steps, Windows interpreter paths in the smoke test, and win-64 case arms.
    • util/conda_vendor.py gaining win-64: platform tables, a PE (.pyd) reader in native(), and Lib/site-packages in smoke().
    • Test updates, including test_conda_no_windows_steps_1967, which allows Windows steps only once a Windows leg exists.
    • create-release.yml and its PCAPKIT_CONDA_SUBDIRS left unchanged.
  2. Phase 2 — publish. Once phase 1 has passed real Conda Update runs, upload with the anaconda-client CLI as the Intel legs do (ci(conda): upload the macos-26-intel legs with the anaconda CLI (#2044) #2049). Add win-64 to PCAPKIT_CONDA_SUBDIRS and the release conda job in the same change.

Ideally a Windows unit-test leg runs before phase 2, so the first published win-64 package has had a test run.

Activity

  1. added
    enhancementIssues requesting a new capability (set by the feature request template)
    ciPull requests that change CI or workflow configuration (ci: subject prefix)
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 22, 2026
  2. JarryShaw commented on Oct 23, 2026

    @JarryShaw
    OwnerAuthor

    Phase 1 merged in #2067. Phase 2 (publishing win-64) is blocked: it waits for the first Conda Update run on main at fd0d2e724 or later whose conda-dist (windows-latest) leg ends with no Windows summary warnings, which shows that bld.bat, the Git Bash paths and the smoke test all work on a real runner. I'll read that run when it lands and start phase 2 from it, or file whatever it turns up.

  3. added
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    and removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 23, 2026
  4. moved this from WIP to Blocked in PyPCAPKiton Oct 23, 2026
  5. added
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Oct 23, 2026
  6. moved this from Blocked to WIP in PyPCAPKiton Oct 23, 2026
  7. JarryShaw commented on Oct 23, 2026

    @JarryShaw
    OwnerAuthor

    The first run of the Windows test leg (#2095, job 120605026883) gave 48 failed, 2074 passed, 1121 skipped and 4 errors. Grouped by cause:

    Phase 2 still also waits for Saturday's run (2026-10-24 18:00Z), the first with conda-dist (windows-latest).

  8. 23 remaining items

  9. JarryShaw commented on Oct 24, 2026

    @JarryShaw
    OwnerAuthor

    PR #2150 adds the publish input.

  10. JarryShaw commented on Oct 24, 2026

    @JarryShaw
    OwnerAuthor

    #2150 merged (8670fa2e8). The upload is one dispatch away. Publishing is yours, so I haven't run it:

    gh workflow run cron-conda.yml --ref main -f publish=true
    

    Or use Actions → Conda Update → Run workflow, tick publish, on main.

    The run passes the full test gate, then bumps conda/build and pushes. It tags the commit and uploads every platform, then posts the report. Every platform includes the win-64 files missing here and the osx-64 files #2140 is about. If you'd like me to dispatch it, say so and I'll report the legs and anaconda.org's file list here. Moved wip → pending.

  11. added
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    and removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Oct 24, 2026
  12. moved this from WIP to Pending in PyPCAPKiton Oct 24, 2026
  13. JarryShaw commented on Oct 25, 2026

    @JarryShaw
    OwnerAuthor

    running

  14. JarryShaw commented on Oct 25, 2026

    @JarryShaw
    OwnerAuthor

    Watching 40148809752. I'll report the bump commit, the tag, each conda-dist leg's upload, and anaconda.org's 1.5.0b14 file list by subdir here and on #2140.

  15. JarryShaw commented on Oct 25, 2026

    @JarryShaw
    OwnerAuthor

    Done. The publish run 40148809752 ended success:

    • Bump: cace9c5ab ("Bumped build to 1"), tagged conda-1.5.0b14+1.
    • Legs: all 20 conda-dist legs passed, with the test gate first.
    • Report: cron-conda: conda distribution update report #2149 records "Pushed: build 1 … Tag: success … Upload: success".
    • anaconda.org, 1.5.0b14 build 1: linux-64 5, osx-arm64 5, osx-64 5, win-64 5. Build 0's linux-64 and osx-arm64 files are still there too.

    That covers both phases: Windows builds and smoke-tests (phase 1), and uploads from Conda Update and Create Release (phase 2, #2138), now with a real win-64 release. Closing.

  16. removed
    pendingAccepted and unstarted - nobody is on it and nothing blocks it
    on Oct 25, 2026
  17. moved this from Pending to Done in PyPCAPKiton Oct 25, 2026
  18. added this to the PyPCAPKit v1.5 milestone on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciPull requests that change CI or workflow configuration (ci: subject prefix)enhancementIssues requesting a new capability (set by the feature request template)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions