Only publish when tagging

This commit is contained in:
mio 2024-09-26 18:13:43 +08:00
parent 8bd254c6f5
commit 869968a96f
No known key found for this signature in database
GPG Key ID: DFF27E34A47CB873
4 changed files with 40 additions and 20 deletions

View File

@ -428,14 +428,13 @@ jobs:
with:
path: ${{ github.workspace }}/bindings/dotnet/UnicornEngine/bin/Release/UnicornEngine.Unicorn.*.nupkg
# We often exceed limit so just release on tags
- name: 📦 Publish to Github Packages
if: startsWith(github.ref, 'refs/tags')
working-directory: bindings/dotnet/UnicornEngine
run: dotnet nuget push "bin/Release/UnicornEngine.Unicorn.*.nupkg" --source "github" --api-key "${{ secrets.GHPR_TOKEN }}"
# Nuget is more tolerate so let's release every commit
- name: 📦 Publish Nuget package
if: startsWith(github.ref, 'refs/tags')
working-directory: bindings/dotnet/UnicornEngine
run: dotnet nuget push "bin/Release/UnicornEngine.Unicorn.*.nupkg" -k "$NUGET_AUTH_TOKEN" -s https://api.nuget.org/v3/index.json
env:

View File

@ -34,6 +34,12 @@ jobs:
python-ver: '3.8',
name: 'win32'
}
- {
os: ubuntu-latest,
arch: x64,
python-ver: '3.8',
name: 'musllinux'
}
- {
os: ubuntu-latest,
arch: x64,
@ -129,6 +135,8 @@ jobs:
docker run --rm -v `pwd`/:/work dockcross/manylinux2014-x64 > ./dockcross
chmod +x ./dockcross
./dockcross bindings/python/build_wheel.sh
elif [ ${{ matrix.config.name }} == 'musllinux' ]; then
docker run --rm -v `pwd`:/work -w /work python:3.7-alpine sh /work/bindings/python/musl_wheel.sh
elif [ ${{ matrix.config.name }} == 'sdist' ]; then
cd bindings/python && python setup.py sdist
else

View File

@ -0,0 +1,9 @@
#!/bin/sh
# TODO: use cibuildwheel
apk update
apk add gcc make cmake pkgconfig linux-headers git musl-dev patchelf
python3 -m pip install -U pip setuptools auditwheel
cd bindings/python && python3 setup.py bdist_wheel && auditwheel repair dist/*.whl && mv -f wheelhouse/*.whl .

View File

@ -180,24 +180,28 @@ cmdclass['build'] = custom_build
cmdclass['sdist'] = custom_sdist
cmdclass['bdist_egg'] = custom_bdist_egg
# if 'bdist_wheel' in sys.argv and '--plat-name' not in sys.argv:
# idx = sys.argv.index('bdist_wheel') + 1
# sys.argv.insert(idx, '--plat-name')
# name = get_platform()
# if 'linux' in name:
# # linux_* platform tags are disallowed because the python ecosystem is fubar
# # linux builds should be built in the centos 5 vm for maximum compatibility
# # see https://github.com/pypa/manylinux
# # see also https://github.com/angr/angr-dev/blob/master/bdist.sh
# sys.argv.insert(idx + 1, 'manylinux1_' + platform.machine())
# elif 'mingw' in name:
# if IS_64BITS:
# sys.argv.insert(idx + 1, 'win_amd64')
# else:
# sys.argv.insert(idx + 1, 'win32')
# else:
# # https://www.python.org/dev/peps/pep-0425/
# sys.argv.insert(idx + 1, name.replace('.', '_').replace('-', '_'))
if 'bdist_wheel' in sys.argv and '--plat-name' not in sys.argv:
idx = sys.argv.index('bdist_wheel') + 1
name = get_platform()
if 'linux' in name:
# linux_* platform tags are disallowed because the python ecosystem is fubar
# linux builds should be built in the centos 5 vm for maximum compatibility
# see https://github.com/pypa/manylinux
# see also https://github.com/angr/angr-dev/blob/master/bdist.sh
# sys.argv.insert(idx + 1, 'manylinux1_' + platform.machine())
# Let auditwheel repair it
pass
elif 'mingw' in name:
sys.argv.insert(idx, '--plat-name')
if IS_64BITS:
sys.argv.insert(idx + 1, 'win_amd64')
else:
sys.argv.insert(idx + 1, 'win32')
else:
sys.argv.insert(idx, '--plat-name')
# https://www.python.org/dev/peps/pep-0425/
sys.argv.insert(idx + 1, name.replace('.', '_').replace('-', '_'))
try:
from setuptools.command.develop import develop