Skip to content

v0.8.4

v0.8.4 #121

Workflow file for this run

name: Release
on:
workflow_dispatch:
release:
types: [published]
env:
CIBW_TEST_COMMAND: |
python -m krypton --clean
python -m unittest discover -s {project}/tests -p "*test*.py" --verbose
jobs:
buildLinuxIntel:
env:
CIBW_ARCHS: x86_64
CIBW_TEST_SKIP: pp* # We do not test PyPy because we don't want to compile cryptography - which is needed for tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
submodules: "true"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
- name: Build Extension
run: |
python3 -m pip install cibuildwheel
python3 -m cibuildwheel --output-dir dist
env:
CIBW_BEFORE_ALL: |
if type apk &> /dev/null; then
apk add build-base cmake ninja zip unzip curl git
export VCPKG_FORCE_SYSTEM_BINARIES=1
fi
if type yum &> /dev/null; then
yum install -y curl zip unzip tar
fi
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install --triplet x64-linux
- name: Upload Build Result
uses: actions/upload-artifact@v3
with:
name: AutoBuild-Linux-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist/*.*
buildLinuxArm:
env:
CIBW_ARCHS: aarch64
CIBW_TEST_SKIP: pp* # We do not test PyPy because we don't want to compile cryptography - which is needed for tests
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
submodules: "true"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
- name: Build Extension
run: |
python3 -m pip install cibuildwheel
python3 -m cibuildwheel --output-dir dist
env:
CIBW_ENVIRONMENT: VCPKG_FORCE_SYSTEM_BINARIES=1
CIBW_BEFORE_ALL: |
if type apk &> /dev/null; then
apk add build-base cmake ninja zip unzip curl git
fi
if type yum &> /dev/null; then
yum install -y curl zip unzip tar
curl -o setupCmake.sh -sSSL https://github.com/Kitware/CMake/releases/download/v3.27.1/cmake-3.27.1-linux-aarch64.sh
chmod a+rx setupCmake.sh
./setupCmake.sh --skip-license --exclude-subdir
export PATH="{package}/bin:$PATH"
git clone https://github.com/ninja-build/ninja.git && cd ninja
git checkout release
cmake -Bbuild-cmake
cmake --build build-cmake
cd ..
cp -r ninja/build-cmake/* bin/
fi
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install --triplet arm64-linux
- name: Upload Build Result
uses: actions/upload-artifact@v3
with:
name: AutoBuild-Linux-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist/*.*
buildWin:
env:
CIBW_ARCHS: native
runs-on: windows-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
submodules: "true"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
cd ${{ github.workspace }}
py -m pip install --upgrade pip setuptools wheel
- name: Build LibSodium
run: |
./vcpkg/bootstrap-vcpkg.bat
./vcpkg/vcpkg install --triplet x64-windows-static
- name: Build Extension
run: |
cd ${{ github.workspace }}
python -m pip install cibuildwheel
python -m cibuildwheel --output-dir dist
- name: Upload Build Result
uses: actions/upload-artifact@v3
with:
name: AutoBuild-Windows-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist/*.*
buildWinARM:
env:
CIBW_ARCHS: ARM64
runs-on: windows-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
submodules: "true"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
cd ${{ github.workspace }}
mkdir kr-openssl-install
mkdir kr-openssl-config
python -m pip install --upgrade pip setuptools wheel
- name: Build LibSodium
run: |
./vcpkg/bootstrap-vcpkg.bat
./vcpkg/vcpkg install --triplet arm64-windows-static
- name: Build Extension
run: |
cd ${{ github.workspace }}
python -m pip install cibuildwheel
python -m cibuildwheel --output-dir dist
- name: Upload Build Result
uses: actions/upload-artifact@v3
with:
name: AutoBuild-Windows-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist/*.*
buildMac:
env:
CIBW_ARCHS: x86_64
CIBW_ENVIRONMENT: LD_LIBRARY_PATH=${{ github.workspace }}/kr-openssl-install/lib
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
submodules: "true"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
- name: Build Extension
run: |
python3 -m pip install cibuildwheel
python3 -m cibuildwheel --output-dir dist
env:
CIBW_BEFORE_ALL: |
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install --triplet x64-osx
- name: Upload Build Result
uses: actions/upload-artifact@v3
with:
name: AutoBuild-MacOS-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist/*.*
buildMacARM:
env:
CIBW_ARCHS: arm64
CIBW_ENVIRONMENT: LD_LIBRARY_PATH=${{ github.workspace }}/kr-openssl-install/lib
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
submodules: "true"
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
- name: Build Extension
run: |
python3 -m pip install cibuildwheel
python3 -m cibuildwheel --output-dir dist
env:
CIBW_BEFORE_ALL: |
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install --triplet arm64-osx
- name: Upload Build Result
uses: actions/upload-artifact@v3
with:
name: AutoBuild-MacOS-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist/*.*
releaseBins:
if: github.event_name == 'release'
env:
GH_TOKEN: ${{ secrets.App }}
runs-on: ubuntu-latest
needs: [buildLinuxIntel, buildLinuxArm, buildWin, buildMac, buildMacARM, buildWinARM]
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Create Dir for Build
run: |
cd ${{ github.workspace }}
mkdir dist
- name: Download Built Linux Extension
uses: actions/download-artifact@v3
with:
name: AutoBuild-Linux-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist
- name: Download Built MacOS Extension
uses: actions/download-artifact@v3
with:
name: AutoBuild-MacOS-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist
- name: Download Built Windows Extensions
uses: actions/download-artifact@v3
with:
name: AutoBuild-Windows-${{ github.event.release.tag_name }}
path: ${{ github.workspace }}/dist
- name: Upload Build Results to GH Release
run: |
gh release upload ${{ github.event.release.tag_name }} dist/*.*
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
# repository_url: https://test.pypi.org/legacy/