Skip to content

Release 6.15.4

Release 6.15.4 #105

Workflow file for this run

name: Build wheel
on:
release:
types: [created]
workflow_dispatch:
jobs:
build_wheel:
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
name: Build wheel on [${{ matrix.os }}]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
cache: 'pip'
python-version: "3.11"
- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v2
with:
platforms: arm64
- name: Install cibuildwheel
run: python -m pip install "`grep cibuildwheel requirements-dev.txt`"
shell: bash
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
- name: Add sdist
if: runner.os == 'Linux'
run: python setup.py sdist -d wheelhouse
- name: Upload the artifact
uses: actions/upload-artifact@v3
with:
name: cx-freeze-wheelhouse
path: wheelhouse
publish:
name: Publish package to PyPI
needs:
- build_wheel
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/cx-Freeze
permissions:
id-token: write
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
cache: 'pip'
python-version: "3.11"
- name: Download the artifact
uses: actions/download-artifact@v3
with:
name: cx-freeze-wheelhouse
path: wheelhouse
- name: Publish package to PyPI
if: github.event_name == 'release' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: wheelhouse/
skip-existing: true
verbose: true
update_bases:
needs:
- build_wheel
runs-on: ubuntu-latest
name: Update cx_Freeze/bases and util module
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
token: ${{ secrets.PUSH }}
- name: Download the artifact
uses: actions/download-artifact@v3
with:
name: cx-freeze-wheelhouse
path: wheelhouse
- name: If changed, extract and update the base executables and util module
run: |
SHA256SUM1=$(cat source/*.c source/bases/* | sha256sum | awk '{print $1}')
SHA256SUM2=$(cat cx_Freeze/bases/__init__.py | awk '{print $2}')
if [ $SHA256SUM1 != $SHA256SUM2 ]; then
git config user.name "Marcelo Duarte"
git config user.email marcelotduarte@users.noreply.github.com
# Remove any file that match - remove previous versions too
git rm --ignore-unmatch 'cx_Freeze/bases/*-win*.exe' 'cx_Freeze/util.*-win*.pyd'
# Extract base executables and util module
for file in wheelhouse/*-win*.whl; do
unzip -o $file 'cx_Freeze/bases/*-win*.exe' 'cx_Freeze/util.*-win*.pyd'
done
git add cx_Freeze/bases/*-win*.exe cx_Freeze/util.*-win*.pyd
# Save the new SHA256SUM
echo "# $SHA256SUM1" > cx_Freeze/bases/__init__.py
git add cx_Freeze/bases/__init__.py
# Update
git commit -m "bases: update base executables and util module"
git push --set-upstream origin main
fi