Skip to content

build(deps): update lief requirement from <=0.16.3,>=0.13.2 to >=0.13.2,<=0.16.4 #2390

build(deps): update lief requirement from <=0.16.3,>=0.13.2 to >=0.13.2,<=0.16.4

build(deps): update lief requirement from <=0.16.3,>=0.13.2 to >=0.13.2,<=0.16.4 #2390

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build_wheel:
name: Build wheels
uses: ./.github/workflows/build-wheel.yml
testpypi:
name: Publish package to TestPyPI
needs:
- build_wheel
if: |
github.event_name != 'workflow_dispatch' &&
!(github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork)
environment:
name: ${{ github.event_name }}
url: https://test.pypi.org/p/cx-Freeze
permissions:
id-token: write
runs-on: ubuntu-latest
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: wheelhouse
pattern: cx-freeze-whl-*
merge-multiple: true
- name: Publish package to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
repository-url: https://test.pypi.org/legacy/
skip-existing: true
verbose: true
tests:
needs: build_wheel
runs-on: ${{ matrix.os }}-${{ matrix.os_version }}
strategy:
matrix:
os: [ubuntu, windows, macos]
os_version: [latest]
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.13t']
exclude:
- os: windows
os_version: latest
python-version: '3.13t' # provisional
defaults:
run:
shell: bash
env:
UV_NO_PROGRESS: true
steps:
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: sudo apt-get install -qy alien fakeroot rpm
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
if: matrix.python-version != '3.13t'
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
python-version: ${{ matrix.python-version }}
- name: Download the wheel
uses: actions/download-artifact@v4
with:
merge-multiple: true
pattern: cx-freeze-whl-${{ matrix.os }}*
path: wheelhouse
- name: Install dependencies to test
run: |
uv sync --no-install-project --extra tests
uv pip install cx_Freeze --no-index --no-deps -f wheelhouse --reinstall
- name: Generate coverage report
env:
COVERAGE_FILE: ".coverage.${{ matrix.python-version }}.${{ matrix.os }}-${{ strategy.job-index }}"
run: uv run --no-project pytest -nauto --cov="cx_Freeze"
- name: Upload coverage reports
uses: actions/upload-artifact@v4
with:
name: cov-${{ matrix.python-version }}.${{ matrix.os }}-${{ strategy.job-index }}
path: .coverage.*
include-hidden-files: true
tests_extra:
needs: build_wheel
runs-on: ${{ matrix.os }}-${{ matrix.os_version }}
strategy:
matrix:
os: [windows]
os_version: [latest]
python-version: ['3.11']
extra-requirement:
- lief==0.15.1
- lief==0.14.1
- lief==0.13.2
- lief-disabled
- pywin32
defaults:
run:
shell: bash
env:
UV_SYSTEM_PYTHON: true
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
- name: Download the wheel
uses: actions/download-artifact@v4
with:
merge-multiple: true
pattern: cx-freeze-whl-${{ matrix.os }}*
path: wheelhouse
- name: Install dependencies to test
run: |
uv pip install --extra tests --upgrade -r pyproject.toml
uv pip install cx_Freeze --no-index --no-deps -f wheelhouse --reinstall
- name: Generate coverage report
env:
COVERAGE_FILE: ".coverage.${{ matrix.python-version }}.${{ matrix.os }}-${{ strategy.job-index }}"
run: |
if [ "${{ matrix.extra-requirement }}" == "lief-disabled" ]; then
export CX_FREEZE_BIND=imagehlp
else
uv pip install "${{ matrix.extra-requirement }}"
fi
pytest -nauto --cov="cx_Freeze"
- name: Upload coverage reports
uses: actions/upload-artifact@v4
with:
name: cov-${{ matrix.python-version }}.${{ matrix.os }}-${{ strategy.job-index }}
path: .coverage.*
include-hidden-files: true
tests_unix_binary_wheel:
needs: build_wheel
runs-on: ${{ matrix.os }}-${{ matrix.os_version }}
strategy:
matrix:
os: [ubuntu]
os_version: [latest]
python-version: ['3.10', '3.12']
defaults:
run:
shell: bash
env:
UV_SYSTEM_PYTHON: true
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
- name: Download the wheel
uses: actions/download-artifact@v4
with:
merge-multiple: true
pattern: cx-freeze-whl-${{ matrix.os }}*
path: wheelhouse
- name: Install dependencies to test
run: |
uv pip install --extra tests --upgrade -r pyproject.toml
uv pip install cx_Freeze --no-index --no-deps -f wheelhouse --reinstall
- name: Install dependencies - extra
run: |
if [ "${{ matrix.python-version }}" == "3.10" ]; then
uv pip install -i https://pypi.anaconda.org/intel/simple numpy
fi
uv pip install pandas
- name: Generate coverage report
env:
COVERAGE_FILE: ".coverage.${{ matrix.python-version }}.${{ matrix.os }}-${{ strategy.job-index }}"
run: pytest -nauto --cov="cx_Freeze"
- name: Upload coverage reports
uses: actions/upload-artifact@v4
with:
name: cov-${{ matrix.python-version }}.${{ matrix.os }}-${{ strategy.job-index }}
path: .coverage.*
include-hidden-files: true
coverage:
needs:
- tests
- tests_extra
- tests_unix_binary_wheel
permissions:
pull-requests: write
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download coverage data
uses: actions/download-artifact@v4
with:
pattern: cov-*
merge-multiple: true
- name: Coverage comment
id: coverage_comment
uses: py-cov-action/python-coverage-comment-action@v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MERGE_COVERAGE_FILES: true
- name: Store Pull Request comment to be posted
uses: actions/upload-artifact@v4
if: steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true'
with:
name: python-coverage-comment-action
path: python-coverage-comment-action.txt