Apply the same fix to _build_windows.yml and _build_windows_code_build.yml
to ensure gh CLI uses the correct repository context when uploading
release assets.
Remove working-directory from Upload Release Asset step to ensure
gh CLI uses the correct repository (flash-attention-prebuild-wheels)
instead of the cloned flash-attention repository.
- Replace manual GITHUB_REF string manipulation with github.ref_name in _build_windows.yml, _build_windows_code_build.yml, and _build_windows_self_host.yml.
- Add _build_windows_self_host.yml for self-hosted Windows wheel builds.
- Integrate self-hosted Windows build job into main build.yml workflow.
- Update create_matrix.py to include and enable Windows self-hosted build matrix.
- Implement comprehensive cleanup steps in the self-hosted runner workflow to ensure a clean state for subsequent runs.
- Fix wheel path issue caused by build_windows.ps1 changing to
flash-attention directory (was causing double path like
flash-attention/flash-attention/dist)
- Add working-directory to Install Test and Upload steps for explicit
directory control
- Add log grouping (::group::) in build_windows.ps1 for collapsible
logs in GitHub Actions
- Suppress verbose output with pip -q, git clone -q, and
NINJA_STATUS=""
- Add pwsh and vswhere to prerequisites list
- Increase timeout to 2160 minutes for long builds
- Improve CUDA cleanup using proper Windows uninstaller
- Update README platform table and manylinux compatibility note
- Add .github/workflows/test-windows-self-hosted.yml for Windows self-hosted runner testing.
- Update README.md with comprehensive self-hosted runner setup guides for Linux, ARM64, and Windows.
- Update self-hosted-runner/compose.yml to enable both x86_64 and ARM64 runner services.
- Add a note about manylinux2_28 and update the sponsor list in README.md.
- Add table listing all build platforms and their configurations
- Document runner types (GitHub-hosted, Self-hosted, AWS CodeBuild)
- Show container images used for each platform
- Include Linux x86_64, Linux ARM64, and Windows x86_64 environments
- Merge _build_manylinux_self_host.yml into _build_linux_self_host.yml
- Add automatic package manager detection (apt-get/dnf) for both x86_64 and ARM64
- Add environment check steps to all self-hosted workflows
- Update build.yml to use unified workflow with container-image parameter
- Remove duplicate build_wheels_manylinux_self_hosted job
- Update test workflows to use consolidated workflow
- Remove manylinux_self_hosted matrix configuration
- Set manylinux container image for ARM64 test workflow
- Create .github/actions/build-and-upload composite action for shared build logic
- Consolidate Python/uv setup, CUDA setup, wheel building, testing, and upload steps
- Update _build_linux.yml to use new composite action (reduced from 136 to 69 lines)
- Update _build_linux_arm_self_host.yml to use composite action with cleanup enabled
- Update _build_linux_self_host.yml for both container and no-container jobs
- Update _build_manylinux_self_host.yml to use composite action
- Reduce code duplication by ~200+ lines across all workflow files
- Move reusable functions (parse_numeric_version, normalize_semantic_version, get_tag_from_url, get_os_emoji, collect_versions_from_assets, format_versions) to common.py for code reuse across scripts
- Add comprehensive docstrings to all modules and functions for better maintainability
- Enhance parse_wheel_filename to support multiple manylinux tags (e.g., manylinux_2_24_x86_64.manylinux_2_28_x86_64)
- Improve normalize_platform_name to handle manylinux formats with multiple tags
- Refactor create_packages.py to use shared utilities from common.py
- Refactor create_release_history.py with improved function naming and error handling
- Refactor create_release_note.py with better error messages and usage documentation
- Decode URL encoding for improved readability in package documentation
- Update docs/packages.md with formatted output from refactored scripts